用证书实现windows 2003下IIS的SSL安全通信
有时候开发有关SSL的网页时,需要安装凭证才能够执行,但是开发阶段又不可能去申请个正式凭证来安装(况且申请凭证是要钱的)。在这样的状况下,如果您开发的操作系统是Windows 2003的话,可以安装凭证服务,然后自己核发一份凭证给自己,这样就能够进行相关程序的开发了。
相关的设定过程,小喵整理步骤如下:
设定IIS的SSL
SSL的设定需要有凭证,凭证可以向CA申请 (如 HiTrust 的Verisign SSL ) 或自行建置,以下说明自行建置CA,核发凭证的过程
安装证书颁发机构单位(CA)
- 因为不想花钱或是只在内部使用的Web 站台,想要使用SSL的功能,就必须自己成为证书颁发机构单位,自己发凭证给自己的网站使用
- 计算机名称与CA有很大的关连,建议先将计算机名称更改为叫有意义的名字
- 先想好要IIS中的哪一个站台成为SSL的站台
- 安装CA的步骤:控制面板/新增或移除程序/新增移除Windows组件/Certificate Services
- 安装完毕后会在IIS的预设的网站中建立CertSrv,CertControl,CertEnroll等三个虚拟目录
产生凭证要求
- 开启 IIS 管理员。
- 在要安装凭证的网站单击鼠标右键,再按内容。 //是网站而不是虚拟目录喔
- 单击「目录安全设定」索引卷标。
- 单击服务器证书按钮,按下一步
- 点选「建立新凭证」,按下一步,点选「准备要求,但于稍后传送」,按下一步
- 输入凭证名称与密钥位长度,可采默认值即可
- 输入公司名称及单位,通常是公司与部门的正式名称
- 输入「一般名称」,此名称十分重要,默认为NetBios的计算机名称(IntraNet上使用),但若使用在 InterNet上,则必须改用网站的FQDN名称(例如:dcicc.ncit.edu.tw)。 //若网站名称与凭证名称不同,则使用者在浏览时会出现「安全性凭证的名称不正确或与网站的名称不相符」的安全性警告
- 在「国家/地区」,「省/州」与「城市/位置」字段中输入适当的信息,再按下一步。
- 输入欲产生的「凭证要求」文件名 (c:\certreq.txt),再按下一步。
- -----BEGIN NEW CERTIFICATE REQUEST-----
MIIDOjCCAqMCAQAwXzELMAkGA1UEBhMCVFcxDzANBgNVBAgTBlRhaXdhbjERMA8G
A1UEBxMIVGFpY2h1bmcxDTALBgNVBAoTBGN5dXQxCzAJBgNVBAsTAmNjMRAwDgYD
VQQDEwdlZHVmdW5kMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtS/DzjQiA
5jymWsTZys9Y5gIGRAqFZrkROzRyE/gw0ScW8AV7idz2j+1Z24N9iSDO9Aixi9sG
BQLQnUpftjDa0VTvycF7XnV/9ljKDUAVRatXYcBVQsnY8jEn+KrVr8x4UP3EvKtO
ROfTxo728vPf4+QXSwOKUyVBXmTlbZD3VwIDAQABoIIBmTAaBgorBgEEAYI3DQID
MQwWCjUuMi4zNzkwLjIwewYKKwYBBAGCNwIBDjFtMGswDgYDVR0PAQH/BAQDAgTw
MEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIA
gDAHBgUrDgMCBzAKBggqhkiG9w0DBzATBgNVHSUEDDAKBggrBgEFBQcDATCB/QYK
KwYBBAGCNw0CAjGB7jCB6wIBAR5aAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEA
IABTAEMAaABhAG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAA
UAByAG8AdgBpAGQAZQByA4GJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAwDQYJKoZIhvcNAQEFBQADgYEAAQlm4lzDo/mJ/Ktg9ajKYF+B
Rgjt1AxaWGG2BWMd1CjkOyiFR8jKnb1PTUWdBvTs+occHqkLYZobytne+/amrt6J
zi7yDNCdxhpbkRi8t5Yx27R/0xK9gP+5/hJXeCXxhrucMEaCx+Au9QMWoCnUQ0jC
McsN9//3bUA+1Xmn0rw=
-----END NEW CERTIFICATE REQUEST-----
检视凭证要求档案中的摘要,若没有问题再按下一步。 - 按完成,结束产生「凭证要求档案」的过程
送出凭证要求
- 将上一个步骤所产生的档案c:\certreq.txt,其内容复制到剪贴簿
- 开启浏览器,键入「http://HOSTNAME/CertSrv」 //HOSTNAME为CA的计算机名称,若为本机也可设定为127.0.0.1
- 单击「要求凭证」。
- 单击「提交进阶凭证要求」。
- 单击「用 Base-64 编码的 CMC 或 PKCS #10 档案来提交凭证要求,或用 Base-64 编码的 PKCS #7 档案提交更新要求」。
- 在已储存的要求下方的文本框中,按下Ctrl+V,贴上之前复制的内容,单击「提交」。
颁发证书
- 控制面板/系统管理工具/证书颁发机构单位
- 展开后点选「搁置要求」文件夹
- 点选刚刚提交的凭证要求
- 点选菜单上的「执行/所有工作/发行」
- 点选「发出的凭证」文件夹
- 对刚刚发出的凭证按2下鼠标以检视之
- 按下「详细数据」的索引卷标,单击「复制到档案」
- 按下一步,点选汇出的文件格式为「Base-64 Encoded X.509 (.CER)」
- 输入欲产生的凭证文件名,例如:C:\dcicc.cer
- 下一步/完成/确定。
在Web Server上安装凭证
- 开启 IIS 管理员。
- 在有凭证要求的网站上按下鼠标右键,再按内容。
- 单击「目录安全设定」索引卷标。
- 单击服务器证书按钮,按下一步。
- 点选「处理搁置要求及安装凭证」,再按下一步。
- 输入CA响应之「证书颁发机构的档案」的路径与名称,可采默认值即可(C:\dcicc.cer),再按下一步。
- 输入网站使用的SSL端口,可采默认值443即可。