Perfis de certificado S/MIME

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

Além desses requisitos, a cadeia precisa estar ancorada em um certificado de autoridade certificadora (AC) explicitamente confiável para o Google para essa finalidade. Você também pode aceitar certificados raiz de autoridades que considere confiáveis. Para mais informações, acesse as diretrizes de certificado raiz.

Observações:

  • O Google fornece e mantém uma lista de certificados de CA confiáveis para o 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.
  • Verifique se as extensões instaladas não contradizem outras extensões no mesmo certificado. Por exemplo, se nsCertTypes forem definidos, eles precisarão abranger os mesmos usos que a extensão de uso de chave, a extensão de uso de chave estendida e a 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 titular

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

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

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

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

Use essas informações se houver mais de uma CA intermediária entre a raiz e a entidade final, direta ou indiretamente.

A CA intermediária emissora é a CA intermediária que emite o certificado de entidade final. Esta seção se aplica a todas as CAs intermediárias na cadeia, exceto 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 titular Nenhuma estipulação
Informações sobre a chave pública do sujeito

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

As 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 Um campo cA precisa ser definido como "true"
O campo "pathLenConstraint" precisa estar presente
Pontos de distribuição de CRL Obrigatório Não

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

(observação) Os servidores de revogação precisam obedecer às seguintes seções da Política de certificados de requisitos básicos do CA/Browser Forum para emissão e gerenciamento de certificados confiáveis 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 de 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 titular

Indica o uso da CA.

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

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

As posições de bits precisam ser definidas para:
keyCertSign
. As posições de bits podem ser definidas para:
cRLSign
digitalSignature
. Se usado 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 Qualquer um Precisa estar presente:
emailProtection
Não pode estar presente:
serverAuth
codeSigning
timeStamping
anyExtendedKeyUsage

Restrições básicas

Obrigatório Sim

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

Políticas de certificado Opcional Não

Um policyIdentifier precisa ser fornecido para identificar a política em que a AC opera e não pode ser anyPolicy.
Se presente, a cps precisa conter um link HTTP ou HTTPS válido.

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

É necessário ter pelo menos um HTTP
uniformResourceIdentifier acessível publicamente.

(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 precisa 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 da Política de certificado de requisitos básicos do CA/Browser Forum.

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 titular

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 individual" da Política de certificado de requisitos básicos do CA/Browser Forum para emissão e gerenciamento de certificados confiáveis publicamente, versão 1.3.2 ou mais recente, para 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 sujeito

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

As posições de bit precisam ser definidas para:
digitalSignature
e/ou
nonRepudiation/contentCommitment
. As 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ória

As posições de bits precisam ser definidas para:
digitalSignature
. As 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 Qualquer um

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

Restrições básicas

Opcional Qualquer um

Se presente, o campo cA não poderá ser definido como verdadeiro
o campo pathLenConstraint não poderá estar presente

Políticas de certificado Obrigatório Não

Precisa estar presente: um policyIdentifier que identifique a política em que o certificado foi emitido e não pode ser anyPolicy.

Pode estar presente: cps, se presente, precisa conter um link HTTP ou HTTPS válido para a CPS em que 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 ao público precisa estar presente

(observação)

Os servidores de revogação precisam operar de acordo com as seguintes seções da Política de certificados de requisitos básicos do CA/Browser Forum para emissão e gerenciamento de certificados confiáveis 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.