1

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

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

4

1 回答 1

2

自签名证书由不同的客户端以不同的方式处理。我不认为有一个普遍的规则。

例如,如果您使用自签名证书将 Firefox 连接到站点,则可以添加与该特定主机名相关联的例外。您可以将相同的例外用于通过已知 CA 信任的证书,但用于不同的网站。实际上,Firefox 异常机制同时进行了这两种操作:每个异常都针对目标主机名和特定证书的组合。

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

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

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

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

于 2013-07-09T15:34:24.330 回答