En este artículo se describen los requisitos que deben cumplir todos los certificados de una cadena X.509 para que esta se considere de confianza y se pueda utilizar en correo firmado o cifrado mediante S/MIME.
Además de cumplir estos requisitos, la cadena debe estar anclada al certificado de una autoridad de certificación (CA) en la que Google confíe explícitamente para tal fin. También puedes aceptar certificados raíz de CA de tu confianza. Consulta más información en la sección Directrices de certificados raíz.
Notas:
- Google proporciona y mantiene una lista de certificados de CA de confianza de Gmail para S/MIME. Las autoridades de certificación que figuran en la lista se consideran de confianza únicamente a discreción de Google, que se reserva el derecho de retirar las CA raíz en cualquier momento, sin previo aviso.
- Asegúrate de que las extensiones instaladas no contradicen otras extensiones en el mismo certificado. Por ejemplo, si se han definido varios nsCertTypes, deben cubrir exactamente los mismos usos que la extensión de uso de claves, la extensión de uso mejorado de claves y la extensión de restricciones básicas.
Reglas de cadenas de certificados
CA raíz
Campo | Valor |
---|---|
DN de la entidad emisora |
Debe identificar a la CA. Por ejemplo, el nombre distintivo (DN) no debe ser un valor genérico como "Autoridad de certificación". |
DN de la entidad receptora |
La forma codificada debe coincidir byte a byte con el DN de la entidad emisora. |
Información de clave pública de la entidad receptora |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096. O bien, ecPublicKey mediante secp256r1 o secp384r1. |
Certificados de CA intermedias que no sean CA intermedias emisoras
Utiliza esta información si hay más de una CA intermedia entre la entidad raíz y la entidad final, directa o indirectamente.
La CA intermedia emisora es la que emite el certificado de entidad final. Esta sección es aplicable a todas las CA intermedias de la cadena que no sean la CA intermedia emisora.
Campo | Valor | ||
---|---|---|---|
Versión | Versión 3 | ||
Número de serie | Debe ser superior a cero (0) e inferior o igual a 20 bytes cuando DER está codificado como INTEGER. | ||
Algoritmo de firma | RSA con SHA‐256, SHA‐384 o SHA‐512. O bien, ECDSA con SHA‐256, SHA‐384 o SHA‐512. | ||
DN de la entidad emisora |
Debe coincidir byte a byte con el DN de la entidad receptora de la CA emisora. |
||
Periodo de validez | Ninguna estipulación | ||
DN de la entidad receptora | Ninguna estipulación | ||
Información de clave pública de la entidad receptora |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096. O bien, ecPublicKey mediante secp256r1 o secp384r1. |
||
Extensión | Presencia | Es esencial | Valor |
Uso de claves | Obligatoria | Sí |
Se deben establecer posiciones de bits para keyCertSign |
Restricciones básicas | Obligatoria | Sí | El campo cA debe definirse como true El campo pathLenConstraint debería estar presente. |
Puntos de distribución de listas de revocación de certificados (CRL) | Obligatoria | No |
Debe haber al menos un elemento uniformResourceIdentifier |
(nota) | Los servidores de revocación deben funcionar de acuerdo con las secciones siguientes del documento Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (Política de certificación sobre requisitos de referencia para la emisión y la gestión de certificados públicos de confianza) versión 1.3.2 o posteriores del CA/Browser Forum:
|
||
Cualquier otra extensión | Podría estar presente |
Certificado de CA intermedia que emite la entidad final
Importante: Debe haber al menos un certificado de una CA intermedia en la cadena; es decir, la CA raíz no debe emitir directamente certificados de entidad final.
Campo | Valor | ||
---|---|---|---|
Versión | Versión 3 | ||
Número de serie | Debe ser superior a cero (0) e inferior o igual a 20 bytes cuando DER está codificado como INTEGER. | ||
Algoritmo de firma |
RSA con SHA‐256, SHA‐384 o SHA‐512. O bien, ECDSA con SHA‐256, SHA‐384 o SHA‐512. |
||
DN de la entidad emisora |
Debe coincidir byte a byte con el DN de la entidad receptora de la CA emisora. |
||
Periodo de validez |
Diferencia entre notBefore y notAfter: No debería ser superior a 10 años y no puede ser superior a 20 años. |
||
DN de la entidad receptora |
Debería indicar el uso de la CA. |
||
Información de clave pública de la entidad receptora |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096. O bien, ecPublicKey mediante secp256r1 o secp384r1. |
||
Extensión | Presencia | Es esencial | Valor |
Uso de claves | Obligatoria | Sí |
Se deben establecer posiciones de bits para: No se deben establecer otras posiciones de bits. |
Uso mejorado de claves | Obligatoria | Cualquiera de las dos | Debe estar presente: emailProtection No deben estar presentes: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
Restricciones básicas |
Obligatoria | Sí |
El campo cA debe definirse como true |
Políticas de certificados | Opcional | No |
SE DEBERÍA proporcionar un policyIdentifier que identifique la política con la que opera la CA y este NO DEBERÍA ser anyPolicy. |
Puntos de distribución de listas de revocación de certificados (CRL) | Obligatoria | No |
Debe haber al menos un elemento uniformResourceIdentifier |
(nota) |
Los servidores de revocación deben funcionar de acuerdo con las secciones siguientes del documento Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (Política de certificación sobre requisitos de referencia para la emisión y la gestión de certificados públicos de confianza) versión 1.3.2 o posteriores del CA/Browser Forum:
|
||
Cualquier otra extensión | Opcional | No |
Podría estar presente. |
Certificado de entidad final
Campo | Valor | ||
---|---|---|---|
Versión | Versión 3 | ||
Número de serie |
Debe ser superior a cero (0) y debe contener al menos 64 bits no predecibles. Nota: Se actualizará para reflejar los requisitos de entropía del número de serie de la entidad final recogidos en el documento Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (Política de certificación sobre requisitos de referencia para la emisión y la gestión de certificados públicos de confianza) del CA/Browser Forum. |
||
Algoritmo de firma | RSA con SHA‐256, SHA‐384 o SHA‐512. O bien, ECDSA con SHA‐256, SHA‐384 o SHA‐512. | ||
DN de la entidad emisora |
Debe coincidir byte a byte con el DN de la entidad receptora de la CA emisora. |
||
Periodo de validez |
La diferencia entre notBefore y notAfter no debe ser superior a 27 meses. La hora de notBefore debe representar la hora de la firma, más o menos 48 horas. |
||
DN de la entidad receptora |
Cualquier nombre distintivo relativo de la entidad receptora que no sea la dirección de correo debe validarse rigurosamente antes de la emisión mediante un procedimiento documentado y auditado públicamente. Consulta la Sección 3.2.3 "Authentication of Individual Identity" (Autenticación de identidades individuales) en el documento Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (Política de certificación sobre requisitos de referencia para la emisión y la gestión de certificados públicos de confianza) versión 1.3.2 o posteriores del CA/Browser Forum para conocer algún procedimiento aceptable. Cualquier dirección de correo (por ejemplo, en los campos commonName o emailAddress) también debe estar presente en la extensión de nombre alternativo de la entidad receptora, como un rfc822Name. |
||
Información de clave pública de la entidad receptora |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096. O bien, ecPublicKey mediante secp256r1 o secp384r1. |
||
Extensión | Presencia | Es esencial | Valor |
Uso de claves (RSA) | Obligatoria | Sí |
Se deben establecer posiciones de bits para: No se deben establecer otras posiciones de bits. |
Uso de claves (ECDH) | Obligatorio |
Se deben establecer posiciones de bits para: No se deben establecer otras posiciones de bits. |
|
Uso mejorado de claves | Obligatoria | Cualquiera de las dos |
Debe estar presente: |
Restricciones básicas |
Opcional | Cualquiera de las dos |
Si está presente, el campo cA no debe definirse como true |
Políticas de certificados | Obligatoria | No |
Debe estar presente: se debe proporcionar un policyIdentifier que identifique la política bajo la que se emitió el certificado, y no debe ser anyPolicy. Podría estar presente: cps, si está presente, debe contener un enlace HTTP o HTTPS válido a la declaración de prácticas de certificación (CPS) bajo la que se emitió el certificado. |
Acceso a información de la autoridad |
Opcional | No |
caIssuers y, si está presente, ocsp, deben contener al menos un elemento uniformResourceIdentifier HTTP al que se pueda acceder públicamente. AccessDescription no debe contener etiquetas o parámetros que sean específicos de un certificado individual. |
Puntos de distribución de listas de revocación de certificados (CRL) | Obligatoria | No |
Debe haber al menos un elemento uniformResourceIdentifier |
(nota) |
Los servidores de revocación deben funcionar de acuerdo con las secciones siguientes del documento Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates (Política de certificación sobre requisitos de referencia para la emisión y la gestión de certificados públicos de confianza) versión 1.3.2 o posteriores del CA/Browser Forum:
|
||
Nombre alternativo de la entidad receptora |
Obligatoria | No |
Debe contener al menos un elemento del tipo rfc822Name. |
Cualquier otra extensión |
Opcional | No | Podría estar presente. |