OpenSSL编程(3):IIS服务器配置证书

本文主要介绍如何在IIS服务配置证书,实现HTTPS双向认证,同时解答配置过程中的一些注意事项。

(1)利用IIS生成证书请求

首先,在IIS的默认网站属性中选择目录安全性->服务器证书,按照向导,选择“新建证书”,下一步,到单位信息选项时,填写单位和部门时,一定要填写跟CA证书一样的单位和部门,同时公用名称填写为当前IIS配置的服务器的域名或者IP地址,

国家/地区,省,市县填写跟CA证书一样,

将证书请求文件保存到C:/certreq.txt,将该文件拷贝到demoCA目录下。

 

(2)利用OpenSSL颁发服务器证书

我们可以利用之前建立的CA根据该证书请求文件给IIS服务器颁发证书:

E:/Openssl/bin>openssl ca -in ./demoCA/certreq.txt -cert ./demoCA/ca.cer -out ./demoCA/server.cer -config openssl.cnf

我们可以查看成功办法的IIS服务器证书。

 

(3)配置IIS服务器证书

我们再次看到属性中选择目录安全性->服务器证书,这时已经可以选择处理挂起的请求并安装证书。

我们选择刚才颁发的IIS服务器证书

至此,我们的IIS服务器证书已经正确安装了。

 

(4)IIS服务器证书配置

 

(5)通过HTTPS访问IIS服务器,这里访问地址为https://192.168.1.100/Default.aspx,提示需要客户端端证书,这里我们是根据刚才服务器配置的要求客户端证书。可是问题来了,选择数字证书里,并没有我们刚才的CPSec Client证书呢,我们的确在个人证书里可以查看到CPSec Client证书,可是在这里为什么查看不到呢?这里需要将CPSec CA证书通过系统配置添加信任,具体操作过程为:

首先,运行命令输入mmc,添加/删除管理单元,选择证书

其次,选择计算机帐户

选择完成后,可以看到证书节点,在受信任的根证书颁发机构里,并没有看到CPSec CA,所以需要导入

导入成功后,我们就可以在受信任的根证书颁发机构里,看到我们的CPSec CA,这回在打开浏览器访问下IIS服务器,怎么样,现在可以选择我们的CPSec Client证书进行认证了吧,至此,整个SSL过程就建立成功了。主要原因是以前导入的时候,是用户方式导入 现在在mmc中是以计算机用户方式导入。

 

(6)常见问题

这里再说下为什么之前我们在申请IIS服务器证书的时候公用名称要写成服务器的地址,可能很多人遇到过给IIS服务器配置完证书后,IE提示“此网站的安全证书有问题“,”此网站出具的安全证书是为其他网站地址颁发的”等问题,这是因为IE会根据IIS服务器证书中的公用名称与当前IIS服务器地址的符合性来判断证书的有效性。

你可能感兴趣的:(OpenSSL)