Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

2 Problemas de certificado

OpenSSL usado com CRLs e para algumas CA na cadeia de certificados sua CRL não está incluída em TLSCRLFile

No log do servidor TLS no caso de OpenSSL peer:

 falhou ao aceitar uma conexão de entrada: de 127.0.0.1: handshake TLS com 127.0.0.1 retornou o código de erro 1: \
            arquivo s3_srvr.c linha 3251: erro:14089086: rotinas SSL:ssl3_get_client_certificate:certificação de verificação falhou: \
            TLS escreve alerta fatal "CA desconhecida"

No log do servidor TLS no caso do par GnuTLS:

 falhou ao aceitar uma conexão de entrada: de 127.0.0.1: handshake TLS com 127.0.0.1 retornou o código de erro 1: \
            arquivo rsa_pk1.c linha 103: erro:0407006A: rotinas rsa:RSA_padding_check_PKCS1_type_1:\
            tipo de bloco não é 01 arquivo rsa_eay.c linha 705: erro:04067072: rotinas rsa:RSA_EAY_PUBLIC_DECRYPT:paddin

CRL expirou ou expira durante a operação do servidor

OpenSSL, no log do servidor:

  • antes do vencimento:
não é possível conectar ao proxy "proxy-openssl-1.0.1e": TCP bem-sucedido, não é possível estabelecer TLS para [[127.0.0.1]:20004]:\
           SSL_connect() retornou SSL_ERROR_SSL: arquivo s3_clnt.c linha 1253: erro:14090086:\
           Rotinas SSL:ssl3_get_server_certificate:certificação de verificação falhou:\
           TLS escreve alerta fatal "certificado revogado"
  • após expiração:
não é possível conectar ao proxy "proxy-openssl-1.0.1e": TCP bem-sucedido, não é possível estabelecer TLS para [[127.0.0.1]:20004]:\
           SSL_connect() retornou SSL_ERROR_SSL: arquivo s3_clnt.c linha 1253: erro:14090086:\
           Rotinas SSL:ssl3_get_server_certificate:certificação de verificação falhou:\
           Alerta fatal de gravação TLS "certificado expirado"

O ponto aqui é que, com CRL válida, um certificado revogado é relatado como "certificado revogado". Quando a CRL expira, a mensagem de erro muda para "certificado expirou", o que é bastante enganoso.

GnuTLS, no log do servidor:

  • antes e depois do vencimento o mesmo:
não é possível conectar ao proxy "proxy-openssl-1.0.1e": TCP bem-sucedido, não é possível estabelecer TLS para [[127.0.0.1]:20004]:\
             certificado de peer inválido: O certificado NÃO é confiável. A cadeia de certificados é revogada.

Certificado autoassinado, CA desconhecida

OpenSSL, no log:

error:'self signed certificate: SSL_connect() set result code to SSL_ERROR_SSL: file ../ssl/statem/statem_clnt.c\
             line 1924: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:\
             TLS write fatal alert "unknown CA"'

Isso foi observado quando o certificado do server, por engano, tinha a mesma string de Issuer e Subject, embora tenha sido assinado por uma CA. Issuer e Subject são iguais no certificado da CA de nível superior, mas não podem ser iguais no certificado do server. (O mesmo se aplica aos certificados do proxy e do agent.)

Para verificar se um certificado contém as mesmas entradas de Issuer e Subject, execute:

openssl x509 -in <yourcertificate.crt> -noout -text

É aceitável que o certificado raiz (de nível superior) tenha valores idênticos para Issuer e Subject.