asp.net-mvc-4 - 自签名 SSL 证书 - CN 是否需要位于证书所在位置(我的应用程序的 URL)?

标签 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 上的应用程序的域才能使其正常工作?我需要在将托管我的应用程序的计算机上创建此证书吗?

最佳答案

不同客户端对自签名证书的处理方式有所不同。我认为没有一般规则。

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

对于用于处理自签名证书的所有“异常”机制来说,情况当然并非如此。例如,将证书添加到 Java 中的信任库可能会使其受信任,但您的 Java 应用程序仍会验证主机名(如果实现正确)。

自签名证书的状态总体上存在问题。

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

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

关于asp.net-mvc-4 - 自签名 SSL 证书 - CN 是否需要位于证书所在位置(我的应用程序的 URL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17551103/

相关文章:

javascript - iPhone 的复选框在 asp net mvc 上不起作用

git - 放置 ssl 证书的标准做法

php - 如何修复 curl : (35) Cannot communicate securely with peer: no common encryption algorithm(s)

sql - 更新所有表的突触中的统计信息

azure - 共享计划的自定义域

c# - 查看模型将空属性发回 Controller

c# - 在 404/500/任何异常上显示 MVC5 中的自定义错误 CSHTML 页面?

c# - 如何在 MVC 应用程序中处理长请求

ssl - OpenResty 在自动生成的证书中禁用 TLS 1.0 和 TLS 1.1

python - 适用于 Python 的 Azure 网站管理客户端 : how to get web app by ID?