Perfis de certificado S/MIME

Este artigo descreve os requisitos que cada certificado em uma cadeia X.509 precisa atender para ser considerado confiável para uso com e-mails criptografados ou assinados com S/MIME.

Além de atender a esses requisitos, a cadeia precisa estar vinculada ao certificado de uma autoridade de certificação (CA) que o Google considere explicitamente confiável para esse objetivo. Você também pode aceitar certificados raiz de autoridades que considere confiáveis. Para mais informações, acesse as diretrizes do certificado raiz.

Observações:

  • O Google fornece e mantém uma lista de certificados de CA confiáveis do Gmail para S/MIME. A lista apresenta CAs consideradas confiáveis exclusivamente pelos critérios do Google, O Google se reserva o direito de remover CAs raiz a qualquer momento sem aviso prévio.
  • Confirme que as extensões instaladas não contradizem outras extensões no mesmo certificado. Por exemplo, se nsCertTypes forem definidos, eles precisarão cobrir os mesmos usuários da extensão de uso de chave, da extensão de uso estendido de chave e da extensão de restrições básicas.

Regras da cadeia de certificados

CA raiz

Campo Valor

DN do emissor

Precisa identificar a CA.

Por exemplo, o DN não pode ser um valor genérico, como "Autoridade de certificação".

DN do assunto

O formulário codificado precisa ser idêntico (byte por byte) ao DN do emissor.

Informações sobre a chave pública do requerente

rsaEncryption com um módulo RSA de 2048, 3072 ou 4096. Ou ecPublicKey usando secp256r1 ou secp384r1.

Certificados de CA intermediária que não seja a emissora

Use esta informação se houver mais de uma CA intermediária entre a entidade raiz e final, direta ou indiretamente.

A CA intermediária emissora é a CA intermediária que emite o certificado de entidade final. Esta seção é aplicável a todas as CAs intermediárias na cadeia que não sejam a CA intermediária emissora.

Campo Valor
Versão Versão 3
Número de série Precisa ser maior que zero (0). Quando o DER estiver codificado como um NÚMERO INTEIRO, precisa ser menor que ou igual a 20 bytes.
Algoritmo de assinatura RSA com SHA‐256, SHA‐384 ou SHA‐512. Ou ECDSA com SHA‐256, SHA‐384 ou SHA‐512
DN do emissor

Precisa ser idêntico (byte por byte) ao DN do titular da CA emissora.

Período de validade Nenhuma estipulação
DN do assunto Nenhuma estipulação
Informações sobre a chave pública do requerente

rsaEncryption com um módulo RSA de 2048, 3072 ou 4096. Ou ecPublicKey usando secp256r1 ou secp384r1

Extensão Presença Crítico Valor
Uso da chave Obrigatório Sim

Posições de bits precisam ser definidas para: keyCertSign
Qualquer outra posição de bit pode ser definida

Restrições básicas Obrigatório Sim O campo "cA" precisa ser definido como "true"
O campo "pathLenConstraint" deve estar presente
Pontos de distribuição de CRL Obrigatório Não

Pelo menos um HTTP
uniformResourceIdentifier acessível publicamente precisa estar presente

(observação) Os servidores de revogação precisam obedecer às seguintes seções da Política de requisitos de base do fórum da CA/do navegador para a emissão e o gerenciamento de certificados emitidos publicamente,versão 1.3.2 ou mais recente:
  • 4.9.7. Frequência de emissão de CRL
  • 4.9.9. Disponibilidade da verificação de status/revogação on-line
  • 4.9.10. Requisitos de verificação da revogação on-line
    4.10.2 Disponibilidade do serviço

Qualquer outra extensão Pode estar presente

Certificado da CA intermediária que emite a entidade final

Importante: pelo menos um certificado de CA intermediário precisa estar presente na cadeia. ou seja, a raiz não pode emitir certificados de entidade final diretamente.

Campo Valor
Versão Versão 3
Número de série Precisa ser maior que zero (0). Quando o DER estiver codificado como um NÚMERO INTEIRO, precisa ser menor que ou igual a 20 bytes.
Algoritmo de assinatura

RSA com SHA‐256, SHA‐384 ou SHA‐512. Ou ECDSA com SHA‐256, SHA‐384 ou SHA‐512.

DN do emissor

Precisa ser idêntico (byte por byte) ao DN do titular da CA emissora.

Período de validade

Diferença entre "notBefore" e "notAfter"

Não deve ser maior que 10 anos e não pode exceder 20 anos.

DN do assunto

Deve indicar o uso da CA.

Informações sobre a chave pública do requerente

rsaEncryption com um módulo RSA de 2048, 3072 ou 4096. Ou ecPublicKey usando secp256r1 ou secp384r1

Extensão Presença Crítico Valor
Uso da chave Obrigatório Sim

Posições de bits precisam ser definidas para:
keyCertSign
A posição de bits pode ser definida para:
cRLSign
digitalSignature
Se usada diretamente para assinar respostas OCSP, precisa estar presente:
digitalSignature

Outras posições de bits não podem ser definidas

Uso estendido de chave Obrigatório Ambos Precisa estar presente:
emailProtection
Não pode estar presente:
serverAuth
codeSigning
timeStamping
anyExtendedKeyUsage

Restrições básicas

Obrigatório Sim

O campo "cA" precisa ser definido como "true"
O campo "pathLenConstraint" DEVE estar presente e DEVE ser 0

Políticas de certificado Opcional Não

Um policyIdentifier que identifique a política com base na qual a CA opera DEVE ser fornecido, e NÃO DEVE ser anyPolicy.
cps, se presente, precisa conter um link HTTP ou HTTPS válido.

Pontos de distribuição de CRL Obrigatório Não

Pelo menos um HTTP
uniformResourceIdentifier acessível publicamente precisa estar presente.

(observação)

Os servidores de revogação precisam ser operados de acordo com as seguintes seções da Política de requisitos de base do fórum da CA/do navegador para a emissão e o gerenciamento de certificados emitidos publicamente, versão 1.3.2 ou mais recente:

  • 4.9.7. Frequência de emissão de CRL
  • 4.9.9. Disponibilidade da verificação de status/revogação on-line
  • 4.9.10. Requisitos de verificação da revogação on-line
  • 4.10.2. Disponibilidade do serviço
Qualquer outra extensão Opcional Não

Pode estar presente.

Certificado de entidade final

Campo Valor
Versão Versão 3
Número de série

Precisa ser maior que zero (0) e conter pelo menos 64 bits imprevisíveis.

Observação:será atualizado para refletir os requisitos de entropia do número de série da entidade final Política de requisitos de base do fórum da CA/do navegador.

Algoritmo de assinatura RSA com SHA‐256, SHA‐384 ou SHA‐512. Ou ECDSA com SHA‐256, SHA‐384 ou SHA‐512.
DN do emissor

Precisa ser idêntico (byte por byte) ao DN do titular da CA emissora.

Período de validade

A diferença entre "notBefore" e "notAfter" não pode ser maior que 27 meses.

A hora notBefore precisa representar a hora da assinatura mais ou menos 48 horas.

DN do assunto

Todos os nomes distintos relacionados ao assunto, e não ao endereço de e-mail, precisam ser rigorosamente validados antes da emissão, usando um procedimento documentado e auditado publicamente. Consulte a seção 3.2.3 "Autenticação de identidade de indivíduo" da Política de requisitos de base do fórum da CA/do navegador para a emissão e o gerenciamento de certificados emitidos publicamente, versão 1.3.2 ou mais recente para ver um procedimento aceitável.

Qualquer endereço de e-mail (por exemplo, nos campos "commonName" ou "emailAddress") também precisa estar presente na extensão de nome alternativo do titular como um rfc822Name.

Informações sobre a chave pública do requerente

rsaEncryption com um módulo RSA de 2048, 3072 ou 4096. Ou ecPublicKey usando secp256r1 ou secp384r1

Extensão Presença Crítico Valor
Uso da chave (RSA) Obrigatório Sim

Posições de bits precisam ser definidas para:
digitalSignature
e/ou
nonRepudiation/contentCommitment
Posições de bit podem ser definidas para:
dataEncipherment
keyEncipherment

Outras posições de bits não podem ser definidas.

Uso da chave (ECDH) Obrigatório

Posições de bits precisam ser definidas para:
digitalSignature
Posições de bits podem ser definidas para:
nonRepudiation/contentCommitment
keyAgreement
encipherOnly (se keyAgreement estiver definido)
decipherOnly (se keyAgreement estiver definido)

Outras posições de bits não podem ser definidas.

Uso estendido de chave Obrigatório Ambos

Precisa estar presente:
emailProtection
Não pode estar presente:
serverAuth
codeSigning
timeStamping
anyExtendedKeyUsage

Restrições básicas

Opcional Ambos

Se presente, o campo "cA" não pode ser definido como "true"
O campo "pathLenConstraint" não pode estar presente

Políticas de certificado Obrigatório Não

Precisa estar presente: é preciso informar um policyIdentifier que identifique a política de emissão do certificado e não seja anyPolicy.

Pode estar presente: cps, se presente, precisa conter um link HTTP ou HTTPS válido para o CPS com base no qual o certificado foi emitido.

Acesso às informações da autoridade

Opcional Não

caIssuers e, se presente, ocsp precisam conter pelo menos um HTTP uniformResourceIdentifier acessível publicamente.

AccessDescription não pode conter marcadores ou parâmetros que sejam específicos de um certificado individual.

Pontos de distribuição de CRL Obrigatório Não

Pelo menos um
HTTPuniformResourceIdentifier acessível publicamente precisa estar presente

(observação)

Os servidores de revogação precisam ser operados de acordo com as seguintes seções da Política de requisitos de base do fórum da CA/do navegador para a emissão e o gerenciamento de certificados emitidos publicamente, versão 1.3.2 ou mais recente:

  • 4.9.7. Frequência de emissão de CRL
  • 4.9.9. Disponibilidade da verificação de status/revogação on-line
  • 4.9.10. Requisitos de verificação da revogação on-line
  • 4.10.2. Disponibilidade do serviço

Nome alternativo do titular

Obrigatório Não

Precisa conter pelo menos um item do tipo rfc822Name.
Não pode conter itens do tipo:
dNSName
iPAddress
uniformResourceIdentifier
Cada rfc822Name precisa ser verificado com medidas documentadas e auditadas publicamente para garantir que a entidade que envia a solicitação controle a conta de e-mail associada ao endereço de e-mail ou tenha sido autorizada pelo titular da conta de e-mail a agir em nome dele.

Qualquer outra extensão

Opcional Não Pode estar presente.