En este artículo, se describen los requisitos que debe cumplir cada certificado de una cadena X.509 para que se confíe en él y se pueda usar con correos electrónicos encriptados o firmados con S/MIME.
Además de estos requisitos, la cadena debe estar anclada a un certificado de autoridad certificadora (CA) en el que Google confíe explícitamente para este propósito. También puedes aceptar certificados raíz de las AC en las que confías. Para obtener más información, consulta los lineamientos sobre certificados raíz.
Notas:
- Google proporciona y mantiene una lista de certificados de AC en los que Gmail confía para S/MIME. La lista de AC solo se considera de confianza a discreción de Google. Google se reserva el derecho de quitar CAs raíz en cualquier momento sin previo aviso.
- Asegúrate de que las extensiones instaladas no contradigan a otras extensiones del mismo certificado. Por ejemplo, si se definen nsCertTypes, deben abarcar los mismos usos exactos que la extensión de uso de clave, la extensión de uso de clave extendido y la extensión de restricciones básicas.
Reglas de la cadena de certificados
CA raíz
| Campo | Valor |
|---|---|
|
DN de la entidad emisora |
Se debe identificar la CA. Por ejemplo, el DN no debe ser un valor genérico, como "Autoridad certificadora". |
|
DN del sujeto |
La forma codificada debe ser idéntica byte por byte al DN del emisor. |
|
Información de la clave pública del sujeto |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096 O ecPublicKey con secp256r1 o secp384r1. |
Certificados de CA intermedios que no son de la CA intermedia emisora
Usa esta información si hay más de una CA intermedia entre la raíz y la entidad final, ya sea de forma directa o indirecta.
La AC intermedia emisora es la AC intermedia que emite el certificado de entidad final. Esta sección se aplica a cualquier CA intermedia de la cadena que no sea la CA intermedia emisora.
| Campo | Valor | ||
|---|---|---|---|
| Versión | Versión 3 | ||
| Número de serie | Debe ser mayor que cero (0). Cuando se codifica en DER como un INTEGER, debe ser menor o igual a 20 bytes. | ||
| Algoritmo de firma | RSA con SHA-256, SHA-384 o SHA-512. O ECDSA con SHA-256, SHA-384 o SHA-512 | ||
| DN de la entidad emisora |
Debe ser idéntico byte por byte al DN del sujeto de la CA emisora. |
||
| Período de validez | Sin estipulación | ||
| DN del sujeto | Sin estipulación | ||
| Información de la clave pública del sujeto |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096 O ecPublicKey con secp256r1 o secp384r1 |
||
| Extensión | Presencia | Crítica | Valor |
| Uso de la clave | Obligatorio | Sí |
Las posiciones de bits se deben establecer para keyCertSign |
| Limitaciones básicas | Obligatorio | Sí | El campo cA debe establecerse como verdadero. Debe estar presente el campo pathLenConstraint. |
| Puntos de distribución de la CRL | Obligatorio | No |
Debe haber al menos un identificador |
| (nota) | Los servidores de revocación deben cumplir con las siguientes secciones de la Política de certificados de requisitos básicos del Foro de CA/navegadores para la emisión y administración de certificados de confianza pública, versión 1.3.2 o posterior:
|
||
| Cualquier otra extensión | Puede estar presente | ||
Certificado de CA intermedio que emite la entidad final
Importante: Debe haber al menos un certificado de CA intermedio obligatorio en la cadena. Es decir, la raíz no debe emitir certificados de entidad final directamente.
| Campo | Valor | ||
|---|---|---|---|
| Versión | Versión 3 | ||
| Número de serie | Debe ser mayor que cero (0) y, cuando se codifica como un INTEGER en DER, debe ser menor o igual que 20 bytes. | ||
| 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 ser idéntico byte por byte al DN del sujeto de la CA emisora. |
||
| Período de validez |
Diferencia entre notBefore y notAfter No debe ser superior a 10 años ni a 20 años. |
||
| DN del sujeto |
Debe indicar el uso de la CA. |
||
| Información de la clave pública del sujeto |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096 O ecPublicKey con secp256r1 o secp384r1 |
||
| Extensión | Presencia | Crítica | Valor |
| Uso de la clave | Obligatorio | Sí |
Las posiciones de bits se deben establecer para: No se deben establecer otras posiciones de bits. |
| Uso extendido de la clave | Obligatorio | Ambas | Debe estar presente: emailProtection No debe estar presente: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
|
Limitaciones básicas |
Obligatorio | Sí |
El campo cA debe establecerse como verdadero. |
| Políticas de certificados | Opcional | No |
Se DEBE proporcionar un policyIdentifier que identifique la política según la cual opera la CA y NO DEBE ser anyPolicy. |
| Puntos de distribución de la CRL | Obligatorio | No |
Debe haber al menos un identificador uniforme de recursos HTTP |
| (nota) |
Los servidores de revocación deben funcionar de acuerdo con las siguientes secciones de la Política de certificados de requisitos básicos del Foro de CA y navegadores para la emisión y administración de certificados de confianza pública, versión 1.3.2 o posterior:
|
||
| Cualquier otra extensión | Opcional | No |
Puede estar presente. |
Certificado de entidad final
| Campo | Valor | ||
|---|---|---|---|
| Versión | Versión 3 | ||
| Número de serie |
Debe ser mayor que cero (0) y contener al menos 64 bits impredecibles. Nota: Se actualizará para reflejar los requisitos de entropía del número de serie de la entidad final de la Política de Certificados de Requisitos Básicos del Foro de AC/Navegadores. |
||
| 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 ser idéntico byte por byte al DN del sujeto de la CA emisora. |
||
| Período 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 del sujeto |
Todos los nombres distintivos relativos al sujeto que no sean direcciones de correo electrónico deben validarse rigurosamente antes de la emisión, con un procedimiento auditado y documentado públicamente. Consulta la sección 3.2.3 "Autenticación de la identidad individual" de la Política de Certificados de Requisitos Básicos del Foro de CA/Navegador para la Emisión y Administración de Certificados Confiables Públicamente, versión 1.3.2 o posterior, para conocer un procedimiento aceptable. Todas las direcciones de correo electrónico (por ejemplo, en los campos commonName o emailAddress) también deben estar presentes en la extensión Subject Alternate Name como rfc822Name. |
||
| Información de la clave pública del sujeto |
rsaEncryption con un módulo RSA de 2048, 3072 o 4096 O ecPublicKey con secp256r1 o secp384r1 |
||
| Extensión | Presencia | Crítica | Valor |
| Uso de la clave (RSA) | Obligatorio | Sí |
Las posiciones de bits se deben establecer para: No se deben establecer otras posiciones de bits. |
| Uso de la clave (ECDH) | Obligatorio |
Las posiciones de bits se deben establecer para: No se deben establecer otras posiciones de bits. |
|
| Uso extendido de la clave | Obligatorio | Ambas |
Debe estar presente: |
|
Limitaciones básicas |
Opcional | Ambas |
Si está presente, el campo cA no debe establecerse como verdadero. |
| Políticas de certificados | Obligatorio | No |
Debe estar presente: Se debe proporcionar un policyIdentifier que identifique la política según la cual se emitió el certificado y no debe ser anyPolicy. Puede estar presente: cps, si está presente, debe contener un vínculo HTTP o HTTPS válido a la CPS según la cual se emitió el certificado. |
|
Acceso a la información de la autoridad |
Opcional | No |
caIssuers y, si está presente, ocsp deben contener al menos un identificador uniforme de recursos HTTP de acceso público. AccessDescription no debe contener etiquetas ni parámetros específicos de un certificado individual. |
| Puntos de distribución de la CRL | Obligatorio | No |
Debe haber al menos un |
|
(nota) |
Los servidores de revocación deben operar de acuerdo con las siguientes secciones de la Política de certificados de requisitos básicos del Foro de CA y navegadores para la emisión y administración de certificados de confianza pública, versión 1.3.2 o posterior:
|
||
|
Nombre alternativo del asunto |
Obligatorio | No |
Debe contener al menos un elemento de tipo rfc822Name. |
|
Cualquier otra extensión |
Opcional | No | Puede estar presente. |