自签署SSL证书 - CN是否需要位于证书所在的位置(我的应用程序的URL)?

时间:2013-07-09 14:38:27

标签: asp.net-mvc-4 ssl azure self-signed

我真的不太了解SSL。我在Azure上有一个应用程序,我需要将SSL置于其上。我一直在关注教程:http://www.windowsazure.com/en-us/develop/net/common-tasks/enable-ssl/

我的具体问题是:我在本地计算机上通过IIS创建了自签名证书,它自动将“颁发给:”值作为我创建此证书的计算机,我的本地机器名称。我没有任何选择来改变它。因此,在创建自签名证书时,“颁发给:( CN)”是否需要成为我在Azure上的应用程序的域才能使其正常工作?我是否需要在将托管我的应用程序的计算机上创建此证书?

1 个答案:

答案 0 :(得分:2)

自签名证书由不同的客户端以不同方式处理。我不认为这是一般规则。

例如,如果使用自签名证书将Firefox连接到站点,则可以添加与该特定主机名绑定的异常。这可以用于通过已知CA信任的证书,但用于其他网站。实际上,Firefox异常机制同时执行:每个异常都是针对目标主机名和特定证书的组合。

对于您用于处理自签名证书的所有“异常”机制,情况肯定不是这样。例如,使用Java将证书添加到信任库可能会使其受信任,但您的Java应用程序仍将验证主机名(如果它已正确实现)。

自签名证书的状态通常是有问题的。

如果由于某种原因您无法使用来自知名CA的证书,那么使用您自己的CA可能比直接使用自签名证书更好。这应该至少允许您在以后想要切换到另一个CA时拥有更真实的环境(特别是关于检查证书本身的真实性和证书的身份的两个问题)。

我不知道是否有一种很好的方法可以在IIS中完成所有这些操作,但是有一些工具可以帮助您解决这个问题。 XCA浮现在脑海中。然后,您应该能够以PKCS#12格式(p12 / pfx)导出主机证书并将其导入IIS,以及以PEM格式导出CA证书并将其导入客户端。