我目前在一个项目中,我已经创建了一个CA证书以及该CA证书的几个子证书。证书将用于保护SAMLV2设置中的服务器间通信,因此我将为身份提供者提供一个证书,为服务提供者提供一个证书。用户/浏览器不会验证证书,因此仅是需要信任我的自定义CA的服务器。我的证书树如下所示:


CustomRootCACert


CustomIdentityProviderCert
CustomServiceProviderCert



现在,我听到很多人说在生产中使用自制证书很不好。但是,当我问为什么时,人们通常只是在谈论安全问题,却从不深入细节。是否有任何技术原因不在生产中使用我自己的证书?我什么也想不到...当然,我意识到,如果我失去了对根证书的控制,任何人都可以开始创建各种证书。但是在这种情况下,他们还必须在我的服务器上安装证书并配置saml应用程序以使用它们。只有这样,他们才能开始生成虚假的saml请求和对我的应用程序的响应。

如果这是唯一的问题,那么此解决方案(在生产中使用自制证书)将仍然比我们今天使用的登录设置更好。

最佳答案

问问自己证书的证明。

如果您获得了由信誉良好的CA颁发的证书,则证明证书持有人已经按照该证书的证明标准向该CA验证了其身份。

如果您获得了由临时CA颁发的证书,则表明有人知道如何制作证书。

如果您控制对话的两端,我认为为此目的拥有自己的私有CA很好。您将信任自己的CA。您可能确实可以做到这一点非常安全(通过将CA私钥在安全的地方保持脱机状态,并签名运动鞋网络练习)。

困难在于如果您需要说服其他人信任您的CA。为什么要这样?您需要说服他们这样做是安全的,并且他们要承担将CA证书添加到其客户端的管理开销。

关于security - 为什么在生产中使用由MakeCert工具制作的证书不好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/527768/

10-11 02:32
查看更多