`

windows下apache ssl配置

 
阅读更多

修改httpd.conf(完整文件见附件):

LoadModule ssl_module modules/mod_ssl.so

Listen 443

ServerName wb-27172xiongj.hz.ali.com

 

<VirtualHost _default_:443>

DocumentRoot "D:\WebApp\test.web\src\main\webapp"

ServerAdmin admin@hz.ali.com

ErrorLog "D:/Program Files/Apache2.2/logs/error.log"

TransferLog "D:/Program Files/Apache2.2/logs/access.log"

<!-- 打开ssl-->

SSLEngine on

SSLCertificateFile "D:/Program Files/Apache2.2/conf/server.crt"

SSLCertificateKeyFile "D:/Program Files/Apache2.2/conf/server.key"

<!--  浏览器需安装证书-->

SSLVerifyClient require

SSLVerifyDepth 1

SSLCACertificateFile "D:/Program Files/Apache2.2/conf/ca.crt"

</VirtualHost>

接下来利用openvpn工具制作证书(安装文件见附件)

安装openvpn完毕后,开始-程序-附件-命令提示符,进到openvpn的easy-rsa目录,比如: 

D:\Program Files\OpenVPN\easy-rsa>
输入: 
init-config 回车 
会产生几个文件,切换出来,打开vars.bat文件,修改其中的KEY_COUNTRY(国家2位字母), KEY_PROVINCE(省2位字母), KEY_CITY(城市), KEY_ORG(组织),  KEY_EMAIL(电子邮箱)这几个参数,免的后面制证时 
反复输入麻烦。保存退出,继续使用命令提示符。 
依次输入以下两个命令,当然是分别回车喽: 
vars 
clean-all   (这两个是准备工作) 

1.建立CA根证书 (如果出现openssl找不到错误,则需将openssl的路径即D:\Program Files\Apache2.2\bin路径添加到环境变量path中)

接着输入build-ca   回车(这个就是建立CA根证书啦) 
然后显示: 
ai:/usr/share/openvpn/easy-rsa # ./build-ca 
Generating a 1024 bit RSA private key 
............++++++ 
...........++++++ 
writing new private key to 'ca.key' 
----- 
You are about to be asked to enter information that will be incorporated 
into your certificate request. 
What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank 
For some fields there will be a default value, 
If you enter '.', the field will be left blank. 
----- 
Country Name (2 letter code) [KG]:          国家名2位字母,默认的参数就是我们刚才修改过的。 
State or Province Name (full name) [NA]:    省、州名2位字母 
Locality Name (eg, city) [BISHKEK]:         城市名 
Organization Name (eg, company) [OpenVPN-TEST]:     组织名 
Organizational Unit Name (eg, section) []:           组织里的单位名 
Common Name (eg, your name or your server's hostname) []:这个是关键,应该输入颁发根证书单位的域名
,不过因为是根证书,所以怎么填都无所谓。只有服务器证书才需要认真填。 
Email Address [me@myhost.mydomain]: 电子邮箱 
好了,CA根证书制作完成!在keys目录下,它的名字就叫ca.crt,CA的私钥是ca.key 

2.制作服务器证书: 

在命令提示符下,输入 
build-key-server server   回车 
你会看到和上面很相似的东西 
但要注意这里的Common Name (eg, your name or your server's hostname) []: 
这个才是真正的关键。这里应该输入服务器的域名比如
wb-27172xiongj.hz.ali.com。 
如果没有域名,就应该填ip,与httpd.conf和ssl.conf里的设置对应, 
ServerName 10.10.10.10:80(httpd.conf) 
ServerName 10.10.10.10:443(ssl.conf) 
也就是说填:10.10.10.10 
接下来看到 a challenge password []:填不填随便,我不填 
an optional company name []: 填不填随便,我不填 
sign the certificate? [y/n] 敲y回车。用CA根证书对服务器证书签字认证。 
1 out 1 certificate requests certified,commit? [y/n] 敲y回车,确认。 
好了,建好了在keys目录下的server.crt(证书)和server.key(私钥) 

3.制作客户端证书

在命令提示符下,输入 
build-key client1   回车 
又是一通国家省市组织等等,comman name也是随便填的。 
然后 
a challenge password []:填不填随便,我不填 
an optional company name []: 填不填随便,我不填 
sign the certificate? [y/n] 敲y回车。用CA根证书对客户端证书签字认证。 
1 out 1 certificate requests certified,commit? [y/n] 敲y回车,确认。 
好了,建好了在keys目录下的client1.crt(客户端证书)和client1.key(私钥) 
等等, .crt的客户端证书是不能使用的,必须把它转化为.pfx格式的文件!! 
所以,还是在命令提示符下,输入 
openssl 回车 
看到openssl>; 
再输入 
pkcs12 -export -in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx 
回车, 
看到Enter export password:会要求你建立客户端证书的输出密码,我填123456, 
verifying-Enter export password再确认一遍123456,好了! 

4.把keys目录下的ca.crt和server.crt,server.key都复制到apache的conf目录下

5.客户端安装证书 

打开internet explorer(IE),工具-internet选项-内容-证书,点选'个人' 
再点击导入,把客户端证书client1.pfx导入到个人组里(别忘了扩展名是pfx)。 
这里还要输入刚才建立的输出密码123456才能倒入呢。导入完成后如下:


  
接着,点选'受信任的根证书颁发机构',点击导入,把CA根证书ca.crt导入到受信任的根证书颁发机构里。 如下:


6.重新启动apache,打开IE, 

在地址栏里输入https://wb-27172xiongj.hz.ali.com/,弹出个窗口要选择个人的数字证书。 
点选,然后确定。 



 
如果服务器证书的common name填写正确的话,你就可以直接进入网站了,看到右下角的小锁头(可靠的SSL128位)。 
如果服务器证书的common name填写不正确,就会弹出个‘安全警报’框,告诉你3条: 
1.安全证书由信任的站点颁发 
(如果说是由不信任的站点颁发,那就是你的ca根证书ca.crt没有导入到ie的受信任的根证书颁发机构里) 

2.安全证书的日期有效  
(这个日期缺省是10年,可以在openvpn的easy-rsa目录下的openssl.cnf里调整修改,然后重新制作一整套证书(openssl.cnf看起来像拨 

号网络的快捷方式,要用记事本,写字板打开修改)) 

3.“安全证书上的名称无效,或者与站点名称不匹配” 
这就是服务器证书的common name填写不正确所致,不过这也没关系,有人好像愿意这样。我是不想看到这个警告框,烦人。 

即使有安全警报,你仍能进入网站,看到右下角的小锁头(可靠的SSL128位) 

  • 大小: 26.5 KB
  • 大小: 32.5 KB
  • 大小: 51.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics