2 Problèmes de certificat

OpenSSL utilisé avec les CRL et pour certaines autorités de certification dans la chaîne de certificats, sa CRL n'est pas incluse dans TLSCRLFile

Dans le journal du serveur TLS en cas de peer OpenSSL :

failed to accept an incoming connection: from 127.0.0.1: TLS handshake with 127.0.0.1 returned error code 1: \
           file s3_srvr.c line 3251: error:14089086: SSL routines:ssl3_get_client_certificate:certificate verify failed: \
           TLS write fatal alert "unknown CA"

Dans le journal du serveur TLS en cas de peer GnuTLS :

failed to accept an incoming connection: from 127.0.0.1: TLS handshake with 127.0.0.1 returned error code 1: \
           file rsa_pk1.c line 103: error:0407006A: rsa routines:RSA_padding_check_PKCS1_type_1:\
           block type is not 01 file rsa_eay.c line 705: error:04067072: rsa routines:RSA_EAY_PUBLIC_DECRYPT:paddin

La CRL a expiré ou expire pendant le fonctionnement du serveur

OpenSSL, dans le journal du serveur :

  • avant expiration :
cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\
           SSL_connect() returned SSL_ERROR_SSL: file s3_clnt.c line 1253: error:14090086:\
           SSL routines:ssl3_get_server_certificate:certificate verify failed:\
           TLS write fatal alert "certificate revoked"
  • après expiration :
cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\
           SSL_connect() returned SSL_ERROR_SSL: file s3_clnt.c line 1253: error:14090086:\
           SSL routines:ssl3_get_server_certificate:certificate verify failed:\
           TLS write fatal alert "certificate expired"

Le point ici est qu'avec une CRL valide, un certificat révoqué est signalé comme "certificat révoqué". Lorsque la CRL expire, le message d'erreur devient "certificat expiré", ce qui est assez trompeur.

GnuTLS, dans le journal du serveur :

  • avant et après expiration :
cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\
             invalid peer certificate: The certificate is NOT trusted. The certificate chain is revoked.

Certificat auto-signé, autorité de certification inconnue

OpenSSL, dans le journal :

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"'

Cela a été observé lorsque le certificat de serveur avait par erreur la même chaîne d'émetteur et d'objet, bien qu'il ait été signé par l'autorité de certification. L'émetteur et le sujet sont égaux dans le certificat CA de niveau supérieur, mais ils ne peuvent pas être égaux dans le certificat de serveur. (Il en va de même pour les certificats de proxy et d'agent.)