一、准备工作
1.windows2003添加组件

添加IIS:勾选“应用程序服务器”,然后双击进入下图,勾选“IIS”和“ASP.NET”
添加证书系统:勾选“证书服务”
添加组件的时候要求填写的就按照操作填上就行了,然后下一步,直到完成。
2.把openssl(执行版,有的叫编译后版)解压到d:下,当然哪个盘都可以。
二、获取IIS证书请求
架设好IIS网站后,在目录安全性选项卡中点击服务器证书按钮,下一步,新建证书,现在准备证书请求--下一步,输入名称,输入单位和部门,输入公用名称,选择国家并输入省和市县并下一步,下一步,下一步,完成,IIS的证书请求已经获取,就是C:certreq.txt。这里请牢记输入的信息。
三、开始操作openssl
(cmd –> d:openssl-0.9.7out32dll
下执行下面的操作,注意openssl.cnf文件,后面命令都是用它编译的)
1.生成自签名根证书
openssl
req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config
d:openssl-0.9.7appsopenssl.cnf
PEM pass phrase:根证书密码,当然很重要!
Country
Name: CN //两个字母的国家代号
State or Province Name: guang dong //省份名称
Locality
Name: guang zhou //城市名称
Organization Name: sunrising //公司名称
Organizational Unit Name: home //部门名称
Common Name: besunny
//你的姓名(要是生成服务器端的证书一定要输入域名或者ip地址)
Email Address: Email地址
2.把cakey.pem 拷贝到demoCAprivate,
把cacert.pem拷贝到out32dlldemoCA
copy cakey.pem
demoCAprivate
copy cacert.pem
demoCA
提醒:这时候,已经有cakey.pem:ca的私钥文件,cacert.pem:ca的自签名根证书,certreq.txt:IIS的证书请求文件,三个文件。
3.用CA证书cacert.pem为IIS请求certreq.txt签发证书server.pem
openssl ca -in certreq.txt -out server.pem -config

d:openssl-0.9.7appsopenssl.cnf
4.把server.pem转换成x509格式
openssl
x509 -in server.pem -out
server.cer
提醒:这时候,你又得到了两个文件,一个是server.pem,一个是server.cer。现在把bin下的server.cer复制到c:下。
5.将生成的证书server.cer导入到IIS
打开IIS,在默认网站上单击右键属性,在目录安全性选项卡中点击服务器证书按钮,下一步,选择处理挂起的请求并安装证书并下一步,正常情况下,您已经看到了文本框中就是c:server.cer,如果不是,自己点浏览按钮去找并下一步,下一步,完成。回到目录安全性选项卡在安全通信栏目中单击编辑按钮,勾上要求安全通道(SSL),勾上要求128位加密,选择要求客户端证书,点击确定按钮。
6.生成客户端证书
openssl
req -newkey rsa:1024 -keyout clikey.pem -out clireq.pem -days 365 -config
d:openssl-0.9.7appsopenssl.cnf
证书信息自己填写,有些内容要与根证书一致。
7.CA签发客户端证书
openssl ca -in
clireq.pem -out client.crt -config d:openssl-0.9.7appsopenssl.cnf
8.将客户端证书转换为pk12格式
openssl pkcs12 -export -clcerts -in client.crt -inkey clikey.pem -out
client.p12 -config d:openssl-0.9.7appsopenssl.cnf
9.安装信任的根证书
把cacert.pem改名为cacert.cer,双击cacert.cer文件,打开证书信息窗口,单击安装证书按钮,下一步。
提醒,下面是最关键的:
选择将所有的证书放入下列存储区,点击浏览按钮
[url=file:///C:/documents][/url]
选择受信任的根证书颁发机构,勾选物理存储区,选择受信任的根证书颁发机构,点本地计算机,并点击确定,下一步,完成,是,根证书安装完毕!勾选物理存储区”,选择“受信任的根证书颁发机构”,点“本地计算机”,然后点“确定”。
[url=file:///C:/documents][/url]
“clent.crt”的安装也是上面相同的步骤。
10.安装客户端证书
找到client.p12文件拷贝到本地计算机,然后双击,下一步,下一步,输入客户端证书的密码并下一步,下一步,完成,确定。到此,客户端的证书也已经安完毕。
提醒:
最好把cacert.cer文件作为受新人的根证书安装到本地。我架设的是提供给内网使用的,所以Common

Name直接是内网IP,当然可以是域名,如果导入cacert.cer后,本地计算机就识别https://你的地址是可信任网站,直接由服务器就识别客户端的证书,然后就可以登陆了。
如果没有导入cacert.cer根证书,会提示下面的:
点“是”继续就可以了。然后还会弹出选择客户端数字证书的提示框。


