问题:如何让 Windows 在“受信任的根证书颁发机构”中检测适合安装的证书?
背景: 我正在构建一个内部站点,希望用户能够下载服务器的根证书并将其作为“受信任的根证书颁发机构”安装在其 Windows 证书信任存储中。当用户打开证书文件时,他们会到达常规证书检查屏幕。
然后,用户可以单击“安装证书”,然后选择“根据证书类型自动选择证书存储”。
不可避免地,选择此选项会将证书安装到“中级证书颁发机构”而不是“受信任的根证书颁发机构”
根证书是在 OpenSSL 中作为自签名根证书生成的。 openssl x509 报告:
X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE, pathlen:1
如果 Windows 出于安全原因禁止以这种自动方式将证书安装为受信任的根证书颁发机构,我不会感到惊讶,但我根本无法在 Microsoft 或 MSDN 站点上找到任何文档来解释它们的“自动选择”起作用。如有任何澄清,我们将不胜感激。
最佳答案
I wouldn't be surprised if Windows prohibited certificates to be installed as a Trusted Root Certificate Authority in this automatic manner for security reasons, but I simply can't find any documentation on the Microsoft or MSDN sites that explains how their "automatic selection" works.
您遇到了确切的问题。 Microsoft 不允许用户在受信任的根 CA 存储中自动安装 CA 证书。您应该指示用户在适当的存储中安装此证书。
附:我完全不喜欢您分发根证书的方式。用户如何知道这是您的证书?他们如何知道您不会尝试冒充任何其他网站?整个想法看起来很糟糕。如果有很多客户,那么我建议从商业提供商购买最便宜的 SSL 证书。
关于x509certificate - Windows 检测证书作为根证书颁发机构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30153690/