Validando certificado

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Este documento explica como validar a finalidade de um certificado antes de fazer o upload dele para um keystore ou um truststore. O processo se baseia no OpenSSL para validação e é aplicável em qualquer ambiente em que o OpenSSL esteja disponível.

Os certificados TLS geralmente são emitidos para uma ou mais finalidades. Geralmente, isso é feito para restringir o número de operações para as quais uma chave pública no certificado possam ser usados. A finalidade do certificado está disponível nas seguintes extensões de certificado:

  • Uso da chave
  • Uso estendido de chave

Uso da chave

A extensão de uso da chave define a finalidade (por exemplo, criptografia, assinatura ou assinatura de certificado) da chave contida no certificado. Se a chave pública for usada para autenticação de entidade, a extensão de certificado deverá ter o código de uso Assinatura digital.

As diferentes extensões de uso de chave disponíveis para um certificado TLS criado com o O processo da autoridade certificadora (CA) é o seguinte:

  • Assinatura digital
  • Não repúdio
  • Encriptação de chaves
  • Encriptação de dados
  • Acordo de chave
  • Assinatura de certificado
  • Assinatura CRL
  • Somente encriptação
  • Somente decriptação

Para mais informações sobre as principais extensões de uso, consulte RFC5280, Uso da chave.

Uso estendido de chave

Essa extensão indica uma ou mais finalidades para as quais a chave pública certificada pode ser usada, além das finalidades básicas indicadas na extensão de uso de chave ou no lugar delas. Em Em geral, essa extensão só aparecerá nos certificados da entidade final.

Estas são algumas extensões comuns de uso estendido de chave:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Uma chave estendida pode ser crítica ou não crítica.

  • Se a extensão for essencial, o certificado só poderá ser usado para o propósitos ou propósitos. Se o certificado for usado para outro propósito, estará violando os política da AC.
  • Se a extensão for não crítica, ela indica a finalidade pretendida a chave é informativa e não implica que a AC restringe o uso da chave ao finalidade indicada. No entanto, os aplicativos que usam certificados podem exigir que uma determinada para que o certificado seja aceitável.

Se um certificado tiver os campos de uso da chave e de uso estendido da chave como crítico, ambos os campos devem ser processados de forma independente, e o certificado pode ser usado somente para um propósito que satisfaça os dois valores de uso da chave. No entanto, se não houver que atenda aos dois valores de uso da chave, esse certificado não poderá ser usado para para qualquer finalidade.

Ao adquirir um certificado, certifique-se de que ele tenha o uso adequado da chave definido para atender os requisitos de certificados do cliente ou servidor sem os quais o handshake de TLS falharia.

Purpose Uso da chave

(obrigatório)

Uso estendido de chave

(opcional)

Certificado de entidade do servidor usado no keystore do host virtual do Apigee Edge
  • Assinatura digital
  • Criptografia ou acordo de chave
Autenticação do servidor da Web TLS
Certificado de entidade do cliente usado no truststore do host virtual do Apigee Edge
  • Assinatura digital ou contrato de chave
Autenticação TLS do cliente da Web
Certificado de entidade do servidor usado no truststore do servidor de destino do Apigee Edge
  • Assinatura digital
  • Criptografia ou acordo de chave
Autenticação do servidor da Web TLS
Certificado de entidade do cliente usado no keystore do servidor de destino do Apigee Edge
  • Assinatura digital ou contrato de chave
Autenticação TLS do cliente da Web
Certificados intermediários e raiz
  • Assinatura do certificado
  • Sinal da lista de revogação de certificado (CRL)

Antes de começar

Antes de usar as etapas deste documento, é preciso entender os seguintes tópicos:

  • Se você não conhece a cadeia de certificados, leia Cadeia de confiança.
  • Se você não conhece a biblioteca OpenSSL, leia OpenSSL
  • Para saber mais sobre as extensões de uso das chaves e o uso estendido das chaves, leia RFC5280 (link em inglês).
  • Para usar os exemplos de linha de comando neste guia, instale ou atualize para a versão mais recente A versão do cliente OpenSSL (link em inglês)
  • Verifique se os certificados estão no formato PEM. Caso contrário, converter os certificados para o formato PEM (em inglês).

Validar a finalidade do certificado

Esta seção descreve as etapas usadas para validar a finalidade do certificado.

  1. Faça login no servidor em que o OpenSSL existe.
  2. Para conferir o uso da chave de um certificado, execute o seguinte comando OpenSSL:
    openssl x509 -noout -ext keyUsage < certificate

    Em que certificate é o nome do certificado.

    Exemplo de saída

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. Se o uso de uma chave for obrigatório, ele será definido dessa forma:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. Execute o comando abaixo para conferir o uso estendido da chave de um certificado. Se o uso estendido da chave não estiver definido como crítico, isso será uma recomendação e não é uma obrigação.
    openssl x509 -noout -ext extendedKeyUsage < certificate

    Em que certificate é o nome do certificado.

    Exemplo de saída

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
.