Windows Server 2012rs 认证机构、IIS、Linux 客户端、OpenSSL

Windows Server 2012rs 认证机构、IIS、Linux 客户端、OpenSSL

我有一台 Windows Server 2012r2,既充当证书颁发机构,又充当 IIS https 服务器。我有一个 Linux 客户端。

此命令在我的 Linux 客户端上运行良好,并且行为完全符合预期,因此我相信我的客户端基本上是完好无损的:

$ openssl s_client -connect google.com:443 -showcerts

我已将公共 CA 证书从我的 Windows Server 导出为 CA.cer,并将其复制到我的 Linux 客户端。

我已为 IIS 颁发了自签名证书。该证书具有“主题名称:CN=example.com、CN=*.example.com”和“主题备用名称:IPV4=10.1.1.10、IPV4=10.1.1.11、IPV4=100.100.100.100”。我已正确安装它,这意味着它出现在 *:443 的默认网站绑定中。

我无法想象这怎么会更简单,但我认为我在那一点点上做错了什么,正如你将在下面的例子中看到的那样:

在我的 Linux 客户端上我运行:

$ openssl s_client -showcerts -CAfile CA.cer -connect 10.1.1.11:443

结果我看到:

CONNECTED(00000005)
depth=0 CN = *.example.com, CN = example.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = *.example.com, CN = example.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 CN = *.example.com, CN = example.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/CN=*.example.com/CN=example.com
   i:/DC=com/DC=example/CN=Positive Example, Inc.
-----BEGIN CERTIFICATE-----
:
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=*.example.com/CN=example.com
issuer=/DC=com/DC=example/CN=Positive Example, Inc.
---
No client certificate CA names sent
---
SSL handshake has read 2002 bytes and written 431 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: XXX...
    Session-ID-ctx: 
    Master-Key: XXX...
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1481129355
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---

有人对这个程序有什么想法吗?

谢谢您的帮助。

相关内容