我了解公钥/私钥对的基本概念,但我不知道 IIS 在生成 SSL 密钥时的内部工作原理。
有一件事让我认为,除了 PKI 交换之外,还有更多的东西,那就是像 OpenSSL 这样的工具可以深入网络服务器并公开不同的加密功能。这些功能似乎基于平台、网络服务器和证书签名者的某种组合。
我还没有真正弄清楚的另一件事是,证书生成后 Verisign/Comodo/etc 会发送给我的密钥的内容是什么。这封电子邮件的安全隐患是什么,或者我是否可以删除它,因为重要的密钥需要从 IIS 服务器导出。
最后,获取网站 SSL 证书的唯一方法是使用 IIS 的控制面板创建密钥对
答案1
对于第三方证书颁发机构(如 Verisign),其工作原理是您向他们发送证书签名请求。生成 CSR 的机器也会生成私钥。当他们签名时,您收到的文件仅与私钥一起使用。该电子邮件并不至关重要。
Web 服务器的基本加密平台决定了它可以支持的哈希、密钥长度和功能。OpenSSL 是一个平台,微软的 PKI 基础设施驱动 IIS 是另一个平台。
对于 IIS7(运行在 Windows 2008 上),还有另一种方法来处理证书获取过程。我将描述它如何适用于第三方 CA。
- 开始 -> 运行 -> MMC
- 转到文件 -> 添加/删除管理单元
- 添加“证书”管理单元
- 当系统询问时,在本地计算机上选择“计算机帐户”。
- 确定,返回主管理屏幕
- 展开证书,然后展开“个人”(如果您在 IIS 中已有 SSL 证书,则可以在此处找到它们)
- 右键单击“个人”->所有任务->高级->创建自定义请求
- 单击“下一步”,然后单击“继续但不考虑注册政策”。
- 不要使用模板
- 展开详细信息,然后单击属性
- 在“常规”选项卡上,输入证书的友好名称
- 在主题选项卡上,您可以在此处输入域名。此字段的格式对于某些证书颁发机构来说可能至关重要,因此请确保正确设置。
- 在“私钥”选项卡的“密钥选项”下,您可以设置密钥长度,以及密钥是否可导出。
- 完成后,点击“确定”。
- 然后下一步,这将生成 CSR。将其保存在某处。将其发送给 CA。
要导入证书:
- 右键单击个人证书
- 选择属性 -> 所有任务 -> 导入证书
- 浏览到从 CA 收到的证书。