Perfiles de certificados S/MIME

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

Las posiciones de bits se deben establecer para keyCertSign
Se pueden establecer otras posiciones de bits

Limitaciones básicas Obligatorio 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
uniforme de recursos HTTP de acceso público

(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:
  • 4.9.7. Frecuencia de emisión de la CRL
  • 4.9.9. Disponibilidad de la verificación de estado o revocación en línea
  • 4.9.10. Requisitos de Verificación de Revocación en Línea
    4.10.2 Disponibilidad del Servicio

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

Las posiciones de bits se deben establecer para:
keyCertSign
La posición de bits se puede establecer para:
cRLSign
digitalSignature
Si se usa directamente para firmar respuestas de OCSP, debe estar presente:
digitalSignature

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

El campo cA debe establecerse como verdadero.
El campo pathLenConstraint DEBE estar presente y DEBE ser 0.

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.
Si están presentes, los CPS deben contener un vínculo HTTP o HTTPS válido.

Puntos de distribución de la CRL Obligatorio No

Debe haber al menos un identificador uniforme de recursos HTTP
de acceso público.

(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:

  • 4.9.7. Frecuencia de emisión de la CRL
  • 4.9.9. Disponibilidad de la verificación de estado o revocación en línea
  • 4.9.10. Requisitos de verificación de revocación en línea
  • 4.10.2. Disponibilidad del servicio
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

Las posiciones de bits se deben establecer para:
digitalSignature
o
nonRepudiation/contentCommitment
Las posiciones de bits se pueden establecer para:
dataEncipherment
keyEncipherment

No se deben establecer otras posiciones de bits.

Uso de la clave (ECDH) Obligatorio

Las posiciones de bits se deben establecer para:
digitalSignature
Las posiciones de bits se pueden establecer para:
nonRepudiation/contentCommitment
keyAgreement
encipherOnly (si se establece keyAgreement)
decipherOnly (si se establece keyAgreement)

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

Opcional Ambas

Si está presente, el campo cA no debe establecerse como verdadero.
El campo pathLenConstraint no debe estar presente.

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
HTTPuniformResourceIdentifier accesible de forma pública.

(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:

  • 4.9.7. Frecuencia de emisión de la CRL
  • 4.9.9. Disponibilidad de la verificación de estado o revocación en línea
  • 4.9.10. Requisitos de verificación de revocación en línea
  • 4.10.2. Disponibilidad del servicio

Nombre alternativo del asunto

Obligatorio No

Debe contener al menos un elemento de tipo rfc822Name.
No debe contener elementos de los siguientes tipos:
dNSName
iPAddress
uniformResourceIdentifier
Cada rfc822Name debe verificarse con medidas auditadas y documentadas públicamente para garantizar que la entidad que envía la solicitud controle la cuenta de correo electrónico asociada a la dirección de correo electrónico o que el titular de la cuenta de correo electrónico la haya autorizado a actuar en su nombre.

Cualquier otra extensión

Opcional No Puede estar presente.