Мы размещаем сайт в лазурном цвете. У сервиса, который мы размещаем, есть 6 экземпляров. В эту службу мы добавили сертификат, который охватывает сайт и имеет цепочку аутентификации, которая выглядит так:
our certificate
Comodo RDAOrganisation Validation Secure Server CA (2014 - 2029)
Comodo RSA certification Authority (2000 - 2020)
USERTrust (2000 - 2020)
Мы можем видеть в браузере с любыми запросами, которые мы сделали, что эта цепочка, кажется, присутствует должным образом, и квитирование SSL может завершиться.
У нас есть клиент, который сообщил, что у него возникли проблемы с удаленным подключением к нам. Они использовали openssl, чтобы попытаться проверить, откуда это происходит.
В чем мои знания ошибаются, так это в интерпретации этих результатов, и я подумал, можете ли вы помочь либо обнаружить разницу, либо определить следующий шаг - для нас или для нашего клиента.
Запущенная команда была
$ openssl s_client -CApath /etc/ssl/certs/ -connect <our service uri>
Выход в успешном случае:
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Organization Validation Secure Server CA verify return:1
depth=0 C = DK, <certificate information pertianing to our company >
---
Certificate chain
0 s:/C=DK/<certificate information pertianing to our company >
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
Server certificate
-----BEGIN CERTIFICATE-----
Key is the same between both requests
-----END CERTIFICATE-----
subject=/C=DK/<certificate information pertianing to our company >
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
---
No client certificate CA names sent
---
SSL handshake has read 5052 bytes and written 509 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384 Server public key is 2048 bit Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-SHA384
Session-ID: <session id hidden>
Session-ID-ctx:
Master-Key: <key hidden>
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1436543517
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
А в неудачном случае:
CONNECTED(00000003)
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Organization Validation Secure Server CA verify error:num=20:unable to get local issuer certificate verify return:0
---
Certificate chain
0 s:/C=DK/<certificate information pertianing to our company >
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
Key is the same between both requests
-----END CERTIFICATE-----
subject=/C=DK/<certificate information pertianing to our company >
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3649 bytes and written 509 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384 Server public key is 2048 bit Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-SHA384
Session-ID: <session id hidden>
Session-ID-ctx:
Master-Key: <key hidden>
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1436543605
Timeout : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)
---
Я вижу, что они разные, я вижу, что поля глубины разные (я не уверен, что это означает, но предполагаю, что это показатель того, насколько далеко продвинулся openssl в цепочке аутентификации). Я также вижу, что сама цепочка в успешном случае выглядит иначе, чем в неудачном, с добавлением
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
Вопрос, который у меня есть, заключается в том, что может вызвать это: проблема с сервером или пользователем (особенно учитывая, что для большинства запросов для большинства пользователей это работает нормально), и нужно ли нам предпринимать какие-либо следующие шаги определить проблему?
Спасибо за ваше время :)