使用的openssl版本是openssl-0.9.8e_WIN32(http://www.deanlee.cn/downloads/openssl-0.9.8e_WIN32.zip),本篇主要介绍如何搭建一个使用https协议的iis站点,包括如何生成根证书、颁发服务器和客户端证书及各证书的使用。
1.获取IIS证书请求:打开IIS,在本机主页上中点击【服务器证书】按钮,点右键,选择“创建证书申请…”,
输入【名称】,输入【单位】和【部门】,输入【公用名称】,选择【国家】并输入【省】和【市县】并【下一步】,【下一步】,【下一步】,【完成】,IIS的证书请求已经获取,就是C:/certreq.txt。
2.准备openssl工作环境:把openssl(编译后的版本)解压到c:下,在bin目录下建立目录demoCA,在demoCA下建立private和newcerts目录,并新建index.txt,空文件,如果没有serial文件,则到openssl网站上下载openssl的源文件,解压后,到apps/demoCA下,拷贝serial文件过来,或者新建serial,里面写”01”,两个目录两个文件都放到新建的demoCA下。
3.在cmd下进入openssl-0.9.8e_WIN32\bin目录,生成自签名根证书:
openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config c:/openssl-0.9.8e_WIN32/openssl.cnf
PEM pass phrase:根证书密码,当然很重要!
Country Name: CN //两个字母的国家代号
State or Province Name: bei jing //省份名称
Locality Name: bei jing//城市名称
Organization Name: tong //公司名称
Organizational Unit Name: tong //部门名称
Common Name: tong //姓名
Email Address: Email地址
把cakey.pem 拷贝到/demoCA/private, 把cacert.pem拷贝到demoCA
提醒:这时候,已经有cakey.pem:ca的私钥文件,cacert.pem:ca的自签名根证书,certreq.txt:IIS的证书请求文件,三个文件。现在将certreq.txt拷贝到bin目录下。
4.用CA证书cacert.pem为IIS请求certreq.txt签发证书:server.pem:
openssl ca -in certreq.txt -out server.pem -days 3650 -config c:/openssl-0.9.8e_WIN32/openssl.cnf
5.把server.pem转换成x509格式:
openssl x509 -in server.pem -out server.cer
提醒:这时候,你又得到了两个文件,一个是server.pem,一个是server.cer。现在把bin下的server.cer复制到c:下。
7.将生成的证书server.cer导入到IIS:打开IIS,在本机主页上中点击【服务器证书】按钮,点右键,选择【完成证书申请…】并【下一步】,正常情况下,您已经看到了文本框中就是c:/server.cer,如果不是,自己点【浏览】按钮去找并【下一步】,【下一步】,【完成】。进入webservice站点的【SSL设置】,
勾上【要求安全通道(SSL)】,勾上【要求128位加密】,选择【要求客户端证书】,点击【确定】按钮。
8.生成客户端证书:
openssl req -newkey rsa:1024 -keyout clikey.pem -out clireq.pem -days 3650 -config c:/openssl-0.9.8e_WIN32/openssl.cnf
证书信息自己填写,有些内容要与根证书一致,至于哪些,在第9个环节的时候执行的错误信息中看。
9.CA签发客户端证书:
openssl ca -in clireq.pem -out client.crt -days 3650 -config c:/openssl-0.9.8e_WIN32/openssl.cnf
10.将客户端证书转换为pk12格式:
openssl pkcs12 -export -clcerts -in client.crt -inkey clikey.pem -out client.p12
11.安装信任的根证书:把bin/demoCA/cacert.pem改名为cacert.cer,双击cacert.cer文件,打开证书信息窗口,单击【安装证书】按钮,【下一步】,选择【将所有的证书放入下列存储区】,点击【浏览】按钮,选择【受信任的根证书颁发机构】并点击【确定】,【下一步】,【完成】,【是】,根证书安装完毕!
12.
安装客户端证书:在bin目录下双击client.p12文件,【下一步】,【下一步】,输入客户端证书的密码并【下一步】,【下一步】,【完成】,【确定】。到此,客户端的证书也已经安完毕。