Azure托管网站证书链(comodo)间歇性地不发送完整链

时间:2015-07-13 14:42:59

标签: azure iis openssl ssl-certificate certificate-authority

我们在azure主办一个网站。我们托管的服务有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

我遇到的问题是导致这种情况发生的原因,这是服务器还是用户问题(特别要记住,对于大多数用户的大多数请求,这似乎工作正常),我们是否需要采取确定问题的后续步骤是什么?

感谢您的时间:)

1 个答案:

答案 0 :(得分:0)

事实证明,这与我们的服务定义和服务配置文件有关。在其中,我们已经包含了我们想要提供的证书,但不包括它的身份验证链。

MS支持建议我们尝试使用http://blogs.msdn.com/b/azuredevsupport/archive/2010/02/24/how-to-install-a-chained-ssl-certificate.aspx作为手动配置服务器实例的替代方法。

/ J R