OSX 钥匙链安装 Windows 服务器证书失败

OSX 钥匙链安装 Windows 服务器证书失败

我在使用内部 SSL 证书时遇到问题。我有一个付费域名,但用于我们的内部网络资源(内部网)。有一个 Windows Server 2012 Active Directory 服务器,使用由服务器自签名根 CA 证书签名的 SSL 证书。这在 Windows 上运行良好(如下图第一张图所示),如果未安装根 CA,它将发出 SSL 警告。安装根 CA 后,它可以正常工作,所以我知道证书不是无效的。 Windows Root CA 正在工作

问题是,如果没有安装 Root CA,OS X 就会出现 SSL 警告,但无论如何都不会让用户访问它。当将 Root CA 安装到系统钥匙串中并设置为始终信任时,它根本就不会连接。 Chrome操作系统

我努力了:

  1. 切换浏览器,因此我已将 Firefox、Chome 和 Safari 绑定。
  2. 使用较旧的 OSX 版本一直回到 OS X 10.7,问题仍然存在

OpenSSL 输出:

CONNECTED(00000005) depth=0  verify error:num=20:unable to get local issuer certificate verify return:1 depth=0  verify error:num=21:unable to verify the first certificate verify return:1
--- Certificate chain  0 s:    i:/DC=ltd/DC=beaconsoft/CN=eddystone-ca
-----END CERTIFICATE-----
--- Server certificate subject= issuer=/DC=ltd/DC=beaconsoft/CN=eddystone-ca
--- No client certificate CA names sent Server Temp Key: ECDH, X25519, 253 bits
--- SSL handshake has read 2161 bytes and written 293 bytes
--- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 8D370000FC765F11E029CA4E23ED4AE0804CAA88CAE16435514843DAF1C7E7D3
    Session-ID-ctx: 
    Master-Key: EC6F98CE80E8F82A97D2D554335A41FF71B1E13D0097DC0F2755795085B97B426FE95B8EA81D6BE511C28EB3EECFAA51
    Start Time: 1559054773
    Timeout   : 7200 (sec)
    Verify return code: 21 (unable to verify the first certificate)

实际证书数据已被修剪以适合。

答案1

正如我所怀疑的,导致您出现问题的原因是服务器的证书。

其中至少有2点需要纠正:

  • CRL 分发点:

    [1]CRL Distribution Point
      Distribution Point Name:
        Full Name:
          URL=ldap:///CN=eddystone-ca,CN=eddystone,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?certificateRevocationList?base?objectClass=cRLDistributionPoint (ldap:///CN=eddystone-ca,CN=eddystone,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?certificateRevocationList?base?objectClass=cRLDistributionPoint)
    
  • 权威信息访问:

    [1]Authority Info Access
      Access Method=Certification Authority Issuer (1.3.6.1.5.5.7.48.2)
        Alternative Name:
          URL=ldap:///CN=eddystone-ca,CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?cACertificate?base?objectClass=certificationAuthority (ldap:///CN=eddystone-ca,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=beaconsoft,DC=ltd?cACertificate?base?objectClass=certificationAuthority)
    [2]Authority Info Access
      Access Method=On-line Certificate Status Protocol (1.3.6.1.5.5.7.48.1)
        Alternative Name:
          URL=http://eddystone.beaconsoft.ltd
    

非域连接的 Windows 和所有非 Windows 客户端无法访问您的 CRL 分发点。

根据现代最佳实践,建议避免在CRL Distribution PointAuthority Info Access记录中使用 LDAP。

你可以阅读更多内容,例如,那里

另外,我不确定您的证书中是否有空的主题。如果您仍定义 SAN 名称DNS Name=Cape.beaconsoft.ltd,我也会添加一个正确的主题。

顺便说一下,我们正在讨论 的证书overlord.beaconsoft.ltd,您也发送了一份 的证书Cape.beaconsoft.ltd。但如果它们是由同一个 CA 制作的,使用相同的模板——这并不重要——只需更正您的 CRL 和 AIA 记录,使其HTTP仅包含访问点

相关内容