2015-07-24 5 views
1

Что я хочу делать: Получите чистое соединение с openssl -connect на удаленном сайте.Не удалось открыть SSL-сертификат

Сайт кажется сам подписан.

What I'm getting: CONNECTED(00000003) 
depth=0 CN = DC01.home.pri 
verify error:num=20:unable to get local issuer certificate 
verify return:1 
depth=0 CN = DC01.home.pri 
verify error:num=27:certificate not trusted 
verify return:1 
depth=0 CN = DC01.home.pri 
verify error:num=21:unable to verify the first certificate 
verify return:1 
... 
... 
Verify return code: 21 (unable to verify the first certificate) 

То, что я пробовал:

echo -n | openssl s_client -connect DC01.home.pri:636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ldapserver.pem 
echo -n | openssl s_client -connect DC01.home.pri:636 -CAfile ldapserver.pem 

sudo cp ldapserver.pem /etc/ssl/certs/ldapserver.pem 
sudo c_rehash /etc/ssl/certs/ 
echo -n | openssl s_client -connect dc01.home.pri:636 -CApath /etc/ssl/certs/ 

Я также попытался

openssl verify -CAfile /etc/ssl/certs/ldapserver.pem ldapserver.pem 
openssl verify -CApath /etc/ssl/certs/ ldapserver.pem 

с результатами

ldapserver.pem: CN = DC01.home.pri 
error 20 at 0 depth lookup:unable to get local issuer certificate 

Я изменил CN/Hostname для защиты себя. Но имя хоста также добавляется в файл моих хостов, если это помогает.

Censored PEM файл

Certificate: 
    Data: 
     Version: 3 (0x2) 
     Serial Number: 
      64:c7:48:64:00:00:00:00:00:d0 
    Signature Algorithm: sha1WithRSAEncryption 
     Issuer: DC=pri, DC=home, CN=home-HOMECA-CA 
     Validity 
      Not Before: Mar 7 22:41:45 2015 GMT 
      Not After : Mar 6 22:41:45 2016 GMT 
     Subject: CN=DC01.home.pri 
     Subject Public Key Info: 
      Public Key Algorithm: rsaEncryption 
       Public-Key: (1024 bit) 
       Modulus: 
        <CENSORED> 
       Exponent: 65537 (0x10001) 
     X509v3 extensions: 
      1.3.6.1.4.1.311.20.2: 
       . .D.o.m.a.i.n.C.o.n.t.r.o.l.l.e.r 
      X509v3 Extended Key Usage: 
       TLS Web Client Authentication, TLS Web Server Authentication 
      X509v3 Key Usage: 
       Digital Signature, Key Encipherment 
      S/MIME Capabilities: 
......0...`.H.e...*0...`.H.e...-0...`.H.e....0...`.H.e....0...+....0 
..*.H.. 
      X509v3 Subject Alternative Name: 
       othername:<unsupported>, DNS:DC01.home.pri 
      X509v3 Subject Key Identifier: 
       <CENSORED> 
      X509v3 Authority Key Identifier: 
       keyid:<CENSORED> 

      X509v3 CRL Distribution Points: 

       Full Name: 
        URI:ldap:///CN=home-HOMECA-CA,CN=HOMECA,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=home,DC=pri?certificateRevocationList?base?objectClass=cRLDistributionPoint 
        URI:http://homeca.home.pri/CertEnroll/home-HOMECA-CA.crl 

      Authority Information Access: 
       CA Issuers - URI:ldap:///CN=home-CA-CA,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=home,DC=pri?cACertificate?base?objectClass=certificationAuthority 

    Signature Algorithm: sha1WithRSAEncryption 
     <CENSORED> 
+0

сайта * кажется * самозаверяющим или сайт * * является самозаверяющими? Не могли бы вы отправить 'ldapserver.pem'? – frasertweedale

+0

Добавлен файл censored pem. Если вы не имеете в виду Base64, я не могу вставить это, так как это другое имя хоста, чтобы защитить вовлеченных. Я изменил имя хоста и имя эмитента, чтобы перейти к теме. –

ответ

1

Свидетельство вы вывесили не самозаверяющими; эмитент (DC=pri, DC=home, CN=home-HOMECA-CA) отличается от предмета (CN=DC01.home.pri).

При проверке сертификата OpenSSL не может найти локальный сертификат для эмитента (или эмитента первого сертификата в цепочке, полученной от веб-сервера во время установления связи TLS), с помощью которого можно проверить подпись (и) ,

Вы должны дать openssl verify в эмитента сертификат (или иметь его в хранилище доверенных):

openssl verify -CApath /etc/ssl/certs/<issuer-cert>.pem 
+0

Я надеялся, что могу обойти проверку эмитентом и проверить сервер с помощью pem, который у него есть. Я получил сертификат CA, похоже, это решение. –

Смежные вопросы