我有一个Windows服务器,通常我在"LocalMachine\Root“中安装ca权限,在"LocalMachine\My”中安装中间的PFX证书,一切正常。现在我想知道,如果在PFX证书生成过程中,我包含了ca-bundle,我是否可以避免在"LocalMachine\Root“中安装ca权限,而只在"LocalMachine\My”中安装包含了bundle-ca的PFX?
发布于 2021-06-30 17:47:47
根CA证书通常安装在指向PKCS#12 (PFX)文件中的证书的TLS连接的另一端。
如果PKCS#12文件包含客户端身份验证证书及其私钥和颁发该证书的CA证书(以及其他可能的中间CA证书),则该链将安装在设备中,并用于对远程服务器进行身份验证。如果该服务器信任根CA,则它应该将根CA安装在其信任锚存储中,该根CA用于验证客户机提供的来自PKCS#12的证书。
非常类似的是,如果PKCS#12文件包含服务器身份验证证书及其私钥和颁发该证书的CA证书(以及潜在的其他中间CA证书),则您的服务器中安装了链,并将其用于对设备进行身份验证。如果您信任根CA,则您的设备应该将根CA安装在它的信任锚存储中,该根CA用于验证服务器提供的来自PKCS#12的证书。
如果说PKCS#12只是一个容器,那么其他的证书和密钥组合是允许的,但是上面是两个最常见的用例。
如果在PKCS#12中安装所有证书,并不意味着您信任其中的任何根CA证书。你所信任的不是双边的--这是你的选择。您需要显式地做出选择,以确保系统的完整性。
例如,如果您在火狐浏览器上安装了一个PKCS#12,以便您可以登录到一个网站,那么在火狐的信任锚存储中自动在PKCS#12中安装任何根can是没有意义的。您可能不希望信任根CA来验证web服务器,只用于验证客户端。也就是说,不应由Firefox开发人员来决定您信任哪个根CA。
类似地,如果在Windows中安装PKCS#12,它可以将这些证书呈现给连接到它的任何客户端,而那些客户端(如果它们在信任锚存储中安装了根CA证书)将信任该服务器。但是,这并不意味着要自动信任从该根CA提供给服务器的其他证书,例如客户端身份验证证书。
底线是-该由你来决定该相信什么。
https://serverfault.com/questions/1068263
复制相似问题