Skyworth TTG Holdings Limited
Skyworth Building
Unit A 13-16/F, Gaoxin Ave. 1. S. Nanshan District, Shenzhen, China
info@skyworthttg.com 使用OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记
下载Win32编译的openssl版本0.9.8e.
1.获取IIS证书请求:打开IIS,右键单击【默认网站】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,【新建证书】,【现在准备证书请求--下一步】,输入【名称】,输入【单位】和【部门】,输入【公用名称】,选择【国家】并输入【省】和【市县】并【下一步】,【下一步】,【下一步】,【完成】,IIS的证书请求已经获取,就是C:\\certreq.txt。这里请牢记输入的信息。
2.准备openssl工作环境:把openssl(编译后的版本)解压到D:\\OpenSSL-0.9.8e\\下, 在bin目录下建立目录demoCA,在demoCA下建立private和newcerts目录, 并新建index.txt,内容为空
如果没有serial文件,则到 openssl网站上下载openssl的源文件,解压后,到apps\\demoCA下,拷贝serial文件过来,两个目录两个文件都放到新建的 demoCA下。
3.生成自签名根证书:
openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.cer -days 3650 -config D:\\OpenSSL-0.9.8e\\openssl.cnf
PEM pass phrase: password
// 根证书私钥密码
Verifying - Enter PEM pass phrase: password Country Name: CN
// 两个字母的国家代号 // 省份名称 // 城市名称
State or Province Name: HB Locality Name: WUHAN
Organization Name: Skyworth TTG Organizational Unit Name: Service Common Name: win2k3.vm.com Email Address: admin@vm.com
// 公司名称 // 部门名称
// 你的姓名(要是生成服务器端的证书一定要输入域名或者ip地址)
// Email地址
Skyworth TTG Holdings Limited
Skyworth Building
Unit A 13-16/F, Gaoxin Ave. 1. S. Nanshan District, Shenzhen, China
info@skyworthttg.com 提醒:这时候,已经有ca.key:ca的私钥文件,ca.cer:ca的自签名根证书,certreq.txt:IIS的证书请求文件,三个文件。 现在将certreq.txt拷贝到bin目录下。
4.用CA证书ca.cer为IIS请求certreq.txt签发证书:server.pem:
openssl ca -in certreq.txt -out server.pem -cert ca.cer -keyfile ca.key -config D:\\OpenSSL-0.9.8e\\openssl.cnf -days 3650
Enter pass phrase for ca.key: password Sign the certificate? [y/n]: y
// 校验根证书私钥密码
// 用CA根证书对服务器证书签字认证
1 out of 1 certificate requests certified, commit? [y/n] y // 提交证书
5.把server.pem转换成x509格式(可以不用转换): openssl x509 -in server.pem -out server.cer
6.将生成的根证书ca.cert导入本地计算机,服务器端证书server.cer导入到IIS:
双击ca.cer文件,打开证书信息窗口,单击【安装证书】按钮,【下一步】,选择【将所有的证书放入下列存储区】,点击【浏览】按钮,选择【受信任的根证书颁发机构】,勾选“物理存储区”,然后存储在“受信任的根证书目录”下面的“本地计算机”子目录下,并点击【确定】,【下一步】,【完成】,【是】,根证书安装完毕! 切记: 要勾选“物理存储区”,然后存储在“受信任的根证书目录”下面的“本地计算机”子目录下
打开IIS,在【默认网站】上单击右键【属性】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,选择【处理挂起的请求并安装证书】并【下一步】,正常情况下,您已经看到了文本框中就是D:\\server.cer,如果不是,自己点【浏览】按钮去找并【下一步】,【下一步】,【完成】。回到【目录安全性】选项卡在【安全通信】栏目中单击【编辑】按钮,勾上【要求安全通道(SSL)】,勾上【要求128位加密】,选择【要求客户端证书】,点击【确定】按钮。
7.制作客户端证书: (1)生成客户端证书:
openssl req -newkey rsa:1024 -keyout clikey.pem -out clireq.pem -days 3650 -config D:\\OpenSSL-0.9.8e\\openssl.cnf
Skyworth TTG Holdings Limited
Skyworth Building
Unit A 13-16/F, Gaoxin Ave. 1. S. Nanshan District, Shenzhen, China
info@skyworthttg.com 证书信息自己填写,有些内容要与根证书一致。 Enter PEM pass phrase: password
// 客户端证书私钥密码
Verifying - Enter PEM pass phrase: password Country Name: CN
// 两个字母的国家代号 // 省份名称 // 城市名称 // 公司名称
State or Province Name: HB Locality Name: WUHAN
Organization Name: Skyworth TTG
Organizational Unit Name: Service // 部门名称 Common Name: client01
// 你的姓名(如:client01) // Email地址
Email Address: client01@vm.com a challenge password []: an optional company name []:
(2)CA签发客户端证书:
// 填不填随便,我不填
// 填不填随便,我不填
openssl ca -in clireq.pem -out client.cer -cert ca.cer -keyfile ca.key -config D:\\OpenSSL-0.9.8e\\openssl.cnf
Enter pass phrase for ca.key: password sign the certificate? [y/n] y
// 校验根证书私钥密码
// 用CA根证书对客户端证书签字认证 // 提交证书
1 out 1 certificate requests certified,commit? [y/n] y
(3)将客户端证书转换为pk12格式:
openssl pkcs12 -export -clcerts -in client.cer -inkey clikey.pem -out client01.p12
Enter pass phrase for clikey.pem: password // 客户端证书私钥密码 Enter Export Password:
// IE导入时的密码(可以不需要)
Verifying - Enter Export Password:
Skyworth TTG Holdings Limited
Skyworth Building
Unit A 13-16/F, Gaoxin Ave. 1. S. Nanshan District, Shenzhen, China
info@skyworthttg.com 重复上述步骤,可以生成多个客户端证书
8.客户端安装信任的根证书和客户端证书:
打开internet explorer(IE),工具-internet选项-内容-证书,点选'个人'
再点击导入,把客户端证书client01.p12导入到个人组里(*****切记:别忘了扩展名是p12)。 这里还要输入刚才建立的输出密码password才能倒入呢。
接着,点选'受信任的根证书颁发机构',点击导入,把CA根证书ca.cer导入到受信任的根证书颁发机构里。
复制ca.cer文件到客户端,打开证书信息窗口,单击【安装证书】按钮,【下一步】,选择【将所有的证书放入下列存储区】,点击【浏览】按钮,选择【受信任的根证书颁发机构】,勾选“物理存储区”,然后存储在“受信任的根证书目录”下面的“本地计算机”子目录下,并点击【确定】,【下一步】,【完成】,【是】,根证书安装完毕!
切记: 要勾选“物理存储区”,然后存储在“受信任的根证书目录”下面的“本地计算机”子目录下
11.安装客户端证书:把bin目录下的client.p12复制到D:\\并双击client.p12文件,【下一步】,【下一步】,输入客户端证书的密码并【下一步】,【下一步】,【完成】,【确定】。到此,客户端的证书也已经安完毕。