2 Проблеми са сертификатом

OpenSSL се користи са CRLs и за неке CA у ланцу сертификата његов CRL није укључен у TLSCRLFile

У евиденцији TLS сервера у случају OpenSSL peer:

није успео да прихвати долазну везу: од 127.0.0.1: TLS руковање са 127.0.0.1 вратио код грешке 1: \
           датотека s3_srvr.c линија 3251: грешка: 14089086: SSL рутине: ssl3_get_client_certificate: верификација сертификата није успела: \
           TLS пише фатално упозорење "непознати CA"

У евиденцији TLS сервера у случају GnuTLS peer:

није успео да прихвати долазну везу: од 127.0.0.1: TLS руковање са 127.0.0.1 вратио код грешке 1: \
           датотека rsa_pk1.c ред 103: грешка:0407006А: rsa рутине:RSA_padding_check_PKCS1_type_1:\
           тип блока није 01 фајл rsa_eay.c ред 705: грешка:04067072: rsa рутине:RSA_EAY_PUBLIC_DECRYPT:paddin

CRL expired or expires during server operation

OpenSSL, in server log:

  • before 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"
  • after 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"

The point here is that with valid CRL a revoked certificate is reported as "certificate revoked". When CRL expires the error message changes to "certificate expired" which is quite misleading.

GnuTLS, in server log:

  • before and after expiration the same:
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.

Самопотписани сертификат, непознат CA

OpenSSL, у евиденцији:

error:'самопотписани сертификат: SSL_connect() постави код резултата на SSL_ERROR_SSL: датотека ../ssl/statem/statem_clnt.c\
             ред 1924: грешка:1416F086:SSL рутине:tls_process_server_certificate:верификација сертификата није успела:\
             TLS напише фатално упозорење "непознати CA"'

Ово је примећено када је серверски сертификат грешком имао истог издаваоца и Субјекат стринг, иако га је потписао CA. Издавач и Субјект су једнаки у CA сертификату највишег нивоа, али не могу бити једнаки у серверу сертификат. (Исто важи и за сертификате проксија и агента.)

Да бисте проверили да ли сертификат садржи исте уносе издаваоца и предмета, покрените:

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

Прихватљиво је да основни сертификат (највишег нивоа) има идентичне вредности за издаваоца и субјекта.