如何信任我自己的自签名 SSL 证书?

如何信任我自己的自签名 SSL 证书?

我有一个域名,我想在上面安装网络邮件,我希望它是安全的。我是唯一使用这个网站的人,但我仍然希望它是安全的。

我负担不起,而且我认为付费让 CA 签署我的证书没有意义。

我目前使用自签名证书来运行 SSL...但我想知道这是否足够。

如果有人生成与我的证书具有相同信息的自签名证书,除了记住序列号或其他信息之外,我还有没有什么办法可以知道?

答案1

如果您创建自己的证书(由您自己的证书颁发机构生成),则可以将您选择的浏览器配置为信任该 CA。这样,它就会信任您从该 CA 创建的证书。随机人员使用与您的信息相同的信息创建证书会导致您的浏览器抛出 SSL 验证失败错误,因为该证书不会由您信任的 CA 签名。

答案2

如果您是唯一使用该域的人,那么自签名证书就足够了。创建自己的证书意味着生成自己的 CA 私钥。只要您可以保证此私钥的安全,就不必担心有人伪造证书。如果没有此私钥,任何人都不可能生成具有相同公钥的证书,您可以通过比较公钥来判断。

答案3

您可以将 CA 公钥文件保存在记忆棒上,并将其导入到您使用的任何浏览器中。

该文件也可能位于网络上您容易记住的地址。

你可能值得花时间考虑加入 CACert (http://www.cacert.org/),因此您只需担心一个 CA 的多种用途。

答案4

通过成为您自己的证书颁发机构,您可以通过创建证书签名来确保证书的真实性。这是通过私钥签名的签名来完成的。然后使用公钥来验证签名是否确实是由私钥签名的。

因为只有 CA(您)知道私钥,所以您相信 CA 已验证证书,并且该证书是真实的。要信任 CA,您需要将 CA 的证书(其中包含公钥)安装到您的信任环中,通常在 Windows 中,这是通过双击证书文件并确认您希望信任它来完成​​的。在 Firefox 中,这是通过将其添加到选项的证书区域来完成的。

上述操作的关键是确保您信任的范围内没有其他 CA 可以签署该签名。这就是 CA 在为该域签署证书之前验证域所有者的原因。

如果您想了解有关加密的更多细节,包括公钥/私钥:

http://www.pgpi.org/doc/pgpintro/

关于这个主题的一本很棒的书是《应用密码学》。一本简单得多的书是《密码学解密》。

相关内容