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 |
| 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 |
| (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:
|
||
| 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: 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" |
| 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. |
| Pontos de distribuição de CRL | Obrigatório | Não |
É necessário ter pelo menos um HTTP |
| (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:
|
||
| 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: 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: Outras posições de bits não podem ser definidas |
|
| Uso estendido de chave | Obrigatório | Qualquer um |
Precisa estar presente: |
|
Restrições básicas |
Opcional | Qualquer um |
Se presente, o campo cA não poderá ser definido como verdadeiro |
| 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 |
|
(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:
|
||
|
Nome alternativo do titular |
Obrigatório | Não |
Precisa conter pelo menos um item do tipo rfc822Name. |
|
Qualquer outra extensão |
Opcional | Não | Pode estar presente. |