数字证书是一种加密文件,它包含了用户或服务器的身份验证信息,用于验证身份。当数字证书颁发给用户时,被称为客户端证书;当颁发给服务器管理员时,则被称为服务器证书。证书权威是指能够颁发、管理和撤销证书的组织。在沙特阿拉伯,证书权威通常是银行。
要生成数字证书,请按照以下步骤操作:
生成数字证书的请求文件:
- 点击“开始”按钮,然后选择“设置” -> “控制面板”。
- 双击“管理工具”。
- 双击“Internet信息服务(IIS)管理器”。
- 展开“本地计算机”。
- 展开“Web站点”。
- 选择“默认Web站点”,右键点击“属性”。
- 选择“目录安全性”。
- 点击“服务器证书”,然后点击“下一步”,选择“现在准备请求,但稍后发送”。
- 在“名称”文本框中输入证书名称(例如:MyCertificate),然后点击“下一步”。
- 在“组织”和“组织单位”文本框中输入组织名称(例如:My Company),然后点击“下一步”。
- 在“通用名称”文本框中输入机器名称(例如:Kahwaji),然后点击“下一步”。
- 在“国家/地区”下拉框中选择“JO(约旦)”。在“州/省”和“城市/地区”中输入城市名称(例如:Irbed),然后点击“下一步”。
- 浏览想要保存证书请求文件的位置,然后点击“下一步”。
- 检查“请求文件摘要”中的信息,然后点击“下一步”和“完成”。
- 关闭“默认Web站点属性”和IIS。
现在,证书请求文件已生成,并且私钥已存储在服务器上。
将“证书请求文件”发送给证书权威(通常是银行)。证书权威将在一两天后将带有“cer”或“crt”扩展名的证书文件发送给。将文件扩展名更改为“cer”。
在服务器上处理证书
要处理服务器上的证书,请按照以下步骤操作:
- 点击“开始”按钮,然后选择“设置” -> “控制面板”。
- 双击“管理工具”。
- 双击“Internet信息服务(IIS)管理器”。
- 展开“本地计算机”。
- 展开“Web站点”。
- 选择“默认Web站点”,右键点击“属性”。
- 选择“目录安全性”。
- 点击“服务器证书”,然后点击“下一步”,选择“处理待处理的请求并安装证书”(将证书文件与服务器中的私钥绑定)。
- 浏览从证书权威处获得的证书文件,然后点击“下一步”。
- 选择想要的SSL端口(默认端口为443),然后点击“下一步”。
- 检查“证书摘要”中的信息,然后点击“下一步”和“完成”。
- 点击“目录安全性”标签下的“默认Web站点属性”中的“查看证书”。证书页面将打开,必须在页面底部看到一个密钥图像,后面跟着“有一个与此证书对应的私钥”的声明。(如果没有看到它,那意味着没有私钥),然后点击“确定”。
- 关闭“默认Web站点属性”和IIS。
现在,证书已准备好使用。
保护HTTP和SOAP虚拟目录
现在一切都已准备就绪,可以通过保护它们的虚拟目录来保护HTTP和/或SOAP通信。请按照以下步骤操作:
- 点击“开始”按钮,然后选择“设置” -> “控制面板”。
- 双击“管理工具”。
- 双击“Internet信息服务(IIS)管理器”。
- 展开“本地计算机”。
- 展开“Web站点” -> 展开“默认Web站点”。
- 选择“默认Web站点”,右键点击“属性”。
- 选择“目录安全性”。
- “查看证书”按钮应该已启用,点击“查看证书”以再次确认拥有服务器的有效证书。
- 点击“确定”。
- 选择想要保护的虚拟目录,右键点击“属性”。
- 选择“目录安全性”标签,点击“编辑…”。
- 选择“要求安全通道(SSL)”复选框,“接受客户端证书”单选按钮,然后点击“确定”,然后点击“确定”。
- 可以使用HTTPS浏览虚拟目录,无需添加额外信息(如果更改了SSL的默认端口,应在URL中写入端口,例如:https://localhost/MyVirtualDirectory/HelloWorld.html)。
- 关闭IIS。
为ASP.NET提供证书访问权限
要授予对客户端/服务器证书的访问权限,需要为Windows 2003中的NetworkService用户(或Windows XP中的ASPNET用户)提供访问权限。有一个Microsoft Windows HTTP服务(WinHTTP)证书配置工具可以安装证书并授予用户访问权限(例如:管理员组已授予对证书的访问权限),例如Network Service用户。在情况下,希望授予Network Service用户访问权限。
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "CertificateIssuedTo" -a "ServerName\NetworkService"
- Q1: 可以生成证书请求文件后更改服务器的IP地址吗?
- A1: 是的,可以。
- Q2: 可以生成证书请求文件后更改服务器名称吗?
- A2: 不,不能。
- Q3: 如何在两台机器上安装相同的证书以进行NLB群集?
- A3: 在这种情况下,生成证书的方式不同;应该向证书权威请求这种类型的证书,并且应该在Windows 2003的hosts文件中添加一行(\WINDOWS\system32\drivers\etc\hosts),[“ServerIP” “CertificateIssuedTo”]。
- Q4: 有些文章中提到带有“pfx”扩展名的证书文件,带有“cer”/“crt”和带有“pfx”扩展名的证书有什么区别?
- A4: 带有“cer”/“crt”扩展名的证书文件仅包含证书的公钥,但带有“pfx”扩展名的证书文件包含证书的公钥和私钥。
- Q5: 如何安装带有“pfx”的证书文件?
- A5: 可以通过双击文件并按照说明操作;或者在服务器的证书存储库下的“个人”子节点中导入它。
- Q6: 为什么需要证书?
- A6: 这取决于它的用途,有很多原因:
- - 确保远程计算机的身份
- - 向远程计算机证明身份
- - 保护电子邮件消息
- - 允许在互联网上进行安全通信
- - 确保软件来自软件发布者
- - 保护软件在发布后不被更改
- - 允许使用当前时间对数据进行签名
- Q7: 同一个证书可以用于多个目的吗?
- A7: 是的,可以。
- Q8: 为什么需要SSL?
- A8: 为了保护客户端和服务器机器之间的通信。
- Q9: 如果删除了证书请求文件,应该创建另一个文件并发送给证书权威吗?
- A9: 不,可以用已删除文件的相同信息生成另一个证书请求文件,但无需再次发送给证书权威。然后,当证书权威给(已删除文件的)证书文件时,可以处理它而没有问题。
- Q10: 在哪里可以更改SSL端口号?
- A10: 在IIS(本地计算机)-> “Web站点”-> “默认Web站点”-> 右键点击“属性”。
- Q11: 应该怎么做才能让BizTalk服务器识别证书?
- A11: 应该在Windows 2003的hosts文件中添加一行(\WINDOWS\system32\drivers\etc\hosts)[serverIP “CertificateIssuedTo”],并且应该使用“CertificateIssuedTo”代替服务器的IP地址(例如,不要使用https://10.0.0.144/Site/WebServ.asmx,而使用https://Kahwaji/Site/WebServ.asmx)。