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:'certificado autoassinado: SSL_connect() defina o código de resultado para SSL_ERROR_SSL: file ../ssl/statem/statem_clnt.c\
              linha 1924: erro:1416F086:rotinas SSL:tls_process_server_certificate:certificate check failed:\
              TLS escreve alerta fatal "CA desconhecida"'

Isso foi observado quando o certificado do servidor por engano tinha o mesmo Emissor e Subject string, embora tenha sido assinado pela CA. Emissor e Sujeito são iguais no certificado CA de nível superior, mas não podem ser iguais no servidor certificado. (O mesmo se aplica a certificados de proxy e agente.)