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]{.underline}, 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]{.underline}, 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é, AC inconnue

[OpenSSL]{.underline}, 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, par erreur, le certificat du serveur avait la même chaîne Issuer et Subject, bien qu’il ait été signé par une AC. Issuer et Subject sont identiques dans le certificat AC de niveau supérieur, mais ils ne peuvent pas être identiques dans un certificat de serveur. (La même règle s’applique aux certificats de proxy et d’agent.)

Pour vérifier si un certificat contient les mêmes entrées Issuer et Subject, exécutez :

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

Il est acceptable que le certificat racine (de niveau supérieur) ait des valeurs identiques pour Issuer et Subject.