生成和配置数字证书






3.97/5 (11投票s)
使用 IIS 6.0 生成和配置数字证书
1. 引言
本文档的目的是指导如何创建和配置数字证书。
2. 生成数字证书
数字证书是一种加密文件,其中包含用于验证身份的用户或服务器的识别信息,也称为身份验证证书。当颁发给用户时,数字证书称为客户端证书。当颁发给服务器管理员时,称为服务器证书。
可以颁发、管理和撤销证书的组织称为“证书颁发机构”。通常,证书颁发机构是沙特阿拉伯的银行。
要生成数字证书,请按照以下步骤操作
- 为数字证书生成证书请求文件
- 1.1. 单击“开始”按钮 à “设置” à “控制面板”
- 1.2. 双击“管理工具”
- 1.3. 双击“Internet Information Services (IIS) 管理器”
- 1.4. 展开“本地计算机”
- 1.5. 展开“Web 站点”
- 1.6. 选择“默认 Web 站点” à 右键单击“属性”
- 1.7. 选择“目录安全性”
- 1.8. 单击“服务器证书” à 单击“下一步” à 选择“创建新证书” à 单击“下一步”
- 1.9. 选择“立即准备请求,稍后发送” à 单击“下一步”
- 1.10. 在“名称”文本框中键入您的证书名称(例如:MyCertificate) à 单击“下一步”
- 1.11. 在“组织”和“组织单位”文本框中键入组织名称(例如:My Company) à 单击“下一步”
- 1.12. 在“通用名称”文本框中键入计算机名称(例如:Kahwaji) à 单击“下一步”
- 1.13. 在“国家/地区”组合框中选择“JO(约旦)” 。在“州/省”和“市/地区”中键入城市名称(例如:Irbed) à 单击“下一步”
- 1.14. 浏览要保存证书请求文件的位置 à 单击“下一步”
- 1.15. 检查“请求文件摘要”中的信息 à 单击“下一步” à 单击“完成”
- 1.16. 关闭“默认 Web 站点属性” à 关闭 IIS
- 1.17. 现在已生成证书请求文件,并且私钥已存储在服务器上
- 将“证书请求文件”发送给证书颁发机构(通常证书颁发机构是银行)
- 证书颁发机构将在(一两天后)将带有“cer”或“crt”扩展名的证书文件发回给您。将文件扩展名更改为“cer”。
- 在服务器上处理证书
- 4.1. 单击“开始”按钮 à “设置” à “控制面板”
- 4.2. 双击“管理工具”
- 4.3. 双击“Internet Information Services (IIS) 管理器”
- 4.4. 展开“本地计算机”
- 4.5. 展开“Web 站点”
- 4.6. 选择“默认 Web 站点” à 右键单击“属性”
- 4.7. 选择“目录安全性”
- 4.8. 单击“服务器证书”à 单击“下一步”à 选择“处理挂起的请求并安装证书”(将证书文件与服务器上的私钥绑定) à 单击“下一步”
- 4.9. 浏览您从证书颁发机构获取的证书文件 à 单击“下一步”
- 4.10. 您想要的 SSL 端口(例如:默认端口为 443) à 单击“下一步”
- 4.11. 检查“证书摘要”中的信息 à 单击“下一步” à 单击“完成”
- 4.12. 在“默认 Web 站点”属性的“目录安全性”选项卡中,单击“查看证书”。将打开一个证书页面,您必须在页面底部看到一个密钥图标,后面跟着“您拥有与此证书对应的私钥”的声明。(如果未看到,则表示您没有私钥) à 单击“确定”
- 4.13. 关闭“默认 Web 站点属性” à 关闭 IIS
- 4.14. 现在您的证书已准备就绪
3. 保护 HTTP 和 SOAP 虚拟目录
现在一切准备就绪,可以通过保护 HTTP 和/或 SOAP 通信的虚拟目录来保护它们。请按照以下步骤操作以保护虚拟目录
- 单击“开始”按钮 à “设置” à “控制面板”
- 双击“管理工具”
- 双击“Internet Information Services (IIS) 管理器”
- 展开“本地计算机”
- 展开“Web 站点” à 展开“默认 Web 站点”
- 选择“默认 Web 站点” à 右键单击“属性”
- 选择“目录安全性”
- “查看证书”按钮应已启用 à 单击“查看证书”以仔细检查您是否具有有效的服务器证书
- 单击“确定” à 单击“确定”
- 选择要保护的虚拟目录 à 右键单击“属性”
- 选择“目录安全性”选项卡 à 单击“编辑..”
- 选择“需要安全通道(SSL)”复选框,“接受客户端证书”单选按钮,然后单击“确定”, à 单击“确定”
- 您可以使用 HTTPS 浏览虚拟目录,而无需添加额外信息(如果您更改了 SSL 的默认端口,则应在 URL 中写入端口,例如 https:///MyVirtualDirectory/HelloWorld.html)
- 14. 关闭 IIS
4. 授予 ASP.NET 证书访问权限
为了授予客户端/服务器证书的访问权限,我们应该在 Windows 2003 中授予 NetworkService 用户(或 Windows XP 中的 ASPNET 用户)访问权限。有一个 Microsoft Windows HTTP Services (WinHTTP) 证书配置工具可以安装证书并授予用户(例如管理员组授予证书访问权限)访问权限,例如 NetworkService 用户。在本例中,我们希望授予 Network Service 用户访问权限。
如何使用 WinHttpCertCfg.exe 工具
- 您可以从 Microsoft 下载中心下载 WinHttpCertCfg.exe 工具,网址为 http://go.microsoft.com/fwlink/?linkid=20506,并将其安装在服务器上。
- 从命令窗口运行以下命令。(默认情况下,WinHttpCertCfg 工具位于 \program files\windows resource kit\tools)
[WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "CertificateIssuedTo" -a "ServerName\NetworkService"]
5. 常见问题解答
Q1: 生成证书请求文件后,可以更改服务器的 IP 地址吗?
A1: 是的,可以。
--
Q2: 生成证书请求文件后,可以更改服务器名称吗?
A2: 不可以。
--
Q3: 如何在两台计算机上安装相同的证书以执行 NLB 集群?
A3: 在这种情况下,生成证书的方式不同;您应该从证书颁发机构请求此类证书,并且您应该在 Windows 2003 的 hosts 文件(\WINDOWS\system32\drivers\etc\host)中添加一行:[“ServerIP” “CertificateIssuedTo”]
--
Q4: 在一些文章中,证书文件带有“pfx”扩展名,带有“cer”/“crt”扩展名的证书与带有“pfx”扩展名的证书有什么区别?
A4: 带有“cer”/“crt”扩展名的证书文件仅包含证书的公钥,但带有“pfx”扩展名的证书文件包含证书的公钥和私钥。
--
Q5: 如何安装带有“pfx”扩展名的证书文件?
A5: 可以通过双击文件并按照说明操作;或将其导入服务器的证书存储中的“个人”子节点。
--
Q6: 我为什么需要证书?
A6: 原因有很多,取决于其目的
- 确保远程计算机的身份
- 向远程计算机证明您的身份
- 保护电子邮件消息
- 允许在 Internet 上进行安全通信
- 确保软件来自软件发布者
- 保护发布后的软件不被篡改
- 允许使用当前时间对数据进行签名
--
Q7: 同一个证书可以用于多种目的吗?
A7: 是的,可以。
--
Q8: 我为什么需要 SSL?
A8: 以保护客户端和服务器计算机之间的通信。
--
Q9: 如果我删除了证书请求文件,我应该创建另一个文件并将其发送给证书颁发机构吗?
A9: 不,您可以生成一个包含已删除文件相同信息的证书请求文件,但无需再次发送给证书颁发机构。然后,当证书颁发机构为您提供(已删除文件的)证书文件时,您可以顺利地处理它。
--
Q10: 在哪里可以更改 SSL 端口号?
A10: 在 IIS à (本地计算机) à “Web 站点” à “默认 Web 站点” à 右键单击“属性”。
--
Q11: 我应该怎么做才能让 BizTalk 服务器识别证书?
A11: 您应该在 Windows 2003 的 hosts 文件(\WINDOWS\system32\drivers\etc\host)中添加一行 [serverIP “CertificateIssuedTo”],并且您应该使用“CertificateIssuedTo”而不是服务器的 IP 地址(即,不要使用 https://10.0.0.144/Site/WebServ.asmx ,而是使用 https://Kahwaji/Site/WebServ.asmx)。