65.9K
CodeProject 正在变化。 阅读更多。
Home

生成和配置数字证书

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.97/5 (11投票s)

2008年2月15日

CPOL

7分钟阅读

viewsIcon

66813

downloadIcon

1023

使用 IIS 6.0 生成和配置数字证书

1. 引言

本文档的目的是指导如何创建和配置数字证书。

2. 生成数字证书

数字证书是一种加密文件,其中包含用于验证身份的用户或服务器的识别信息,也称为身份验证证书。当颁发给用户时,数字证书称为客户端证书。当颁发给服务器管理员时,称为服务器证书。

可以颁发、管理和撤销证书的组织称为“证书颁发机构”。通常,证书颁发机构是沙特阿拉伯的银行。

要生成数字证书,请按照以下步骤操作

  1. 为数字证书生成证书请求文件
    • 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. 现在已生成证书请求文件,并且私钥已存储在服务器上
  2. 将“证书请求文件”发送给证书颁发机构(通常证书颁发机构是银行)
  3. 证书颁发机构将在(一两天后)将带有“cer”或“crt”扩展名的证书文件发回给您。将文件扩展名更改为“cer”。
  4. 在服务器上处理证书
    • 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 通信的虚拟目录来保护它们。请按照以下步骤操作以保护虚拟目录

  1. 单击“开始”按钮 à “设置” à “控制面板”
  2. 双击“管理工具”
  3. 双击“Internet Information Services (IIS) 管理器”
  4. 展开“本地计算机”
  5. 展开“Web 站点” à 展开“默认 Web 站点”
  6. 选择“默认 Web 站点” à 右键单击“属性”
  7. 选择“目录安全性”
  8. “查看证书”按钮应已启用 à 单击“查看证书”以仔细检查您是否具有有效的服务器证书
  9. 单击“确定” à 单击“确定”
  10. 选择要保护的虚拟目录 à 右键单击“属性”
  11. 选择“目录安全性”选项卡 à 单击“编辑..”
  12. 选择“需要安全通道(SSL)”复选框,“接受客户端证书”单选按钮,然后单击“确定”, à 单击“确定”
  13. 您可以使用 HTTPS 浏览虚拟目录,而无需添加额外信息(如果您更改了 SSL 的默认端口,则应在 URL 中写入端口,例如 https:///MyVirtualDirectory/HelloWorld.html
  14. 14. 关闭 IIS

4. 授予 ASP.NET 证书访问权限

为了授予客户端/服务器证书的访问权限,我们应该在 Windows 2003 中授予 NetworkService 用户(或 Windows XP 中的 ASPNET 用户)访问权限。有一个 Microsoft Windows HTTP Services (WinHTTP) 证书配置工具可以安装证书并授予用户(例如管理员组授予证书访问权限)访问权限,例如 NetworkService 用户。在本例中,我们希望授予 Network Service 用户访问权限。

如何使用 WinHttpCertCfg.exe 工具

  1. 您可以从 Microsoft 下载中心下载 WinHttpCertCfg.exe 工具,网址为 http://go.microsoft.com/fwlink/?linkid=20506,并将其安装在服务器上。
  2. 从命令窗口运行以下命令。(默认情况下,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: 原因有很多,取决于其目的

  1. 确保远程计算机的身份
  2. 向远程计算机证明您的身份
  3. 保护电子邮件消息
  4. 允许在 Internet 上进行安全通信
  5. 确保软件来自软件发布者
  6. 保护发布后的软件不被篡改
  7. 允许使用当前时间对数据进行签名

--

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)。

© . All rights reserved.