Hospedamos um site no azure. O serviço que hospedamos tem 6 instâncias. Nesse serviço, adicionamos um certificado que cobre o site e tem uma cadeia de autenticação semelhante a:
our certificate
Comodo RDAOrganisation Validation Secure Server CA (2014 - 2029)
Comodo RSA certification Authority (2000 - 2020)
USERTrust (2000 - 2020)
Podemos ver no navegador, com todas as solicitações que fizemos, que essa cadeia parece estar presente corretamente e o handshake SSL pode ser concluído.
Temos um cliente que relatou que está tendo problemas para se conectar remotamente. Eles estão usando o openssl para tentar verificar onde isso se origina.
Quando meu conhecimento é dividido em interpretar essa saída, fico pensando se você pode ajudar a identificar a diferença ou a identificar o próximo passo - seja para nós ou para nosso cliente.
O comando que foi executado foi
$ openssl s_client -CApath /etc/ssl/certs/ -connect <our service uri>
A saída em um caso de sucesso:
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)
---
E em um caso mal sucedido:
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)
---
Eu posso ver que estes são diferentes, eu posso ver que os campos de profundidade são diferentes, (eu não tenho certeza do que isso significa, mas supondo que isso é uma indicação de até onde a cadeia de autenticação se abre). Eu também posso ver que a cadeia em si parece ser diferente no caso de sucesso em oposição ao caso mal sucedido, com a adição de
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
A pergunta que tenho é o que pode fazer com que isso aconteça, isso é um problema de servidor ou usuário (especialmente tendo em mente que para a maioria dos pedidos para a maioria dos usuários, isso parece funcionar bem), e precisamos fazer Quais são os próximos passos para identificar um problema?
Obrigado pelo seu tempo:)