日度归档:2013年1月25日

在Apache上使用客户端证书认证

前阵子在nginx上做了客户端证书认证,发现满足感大大的有,于是一发不可收拾,在RaspberryPi上的Apache也做了一个。

上参考:

http://www.adintr.com/article/blog/192

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

 

首先,第一步是做证书。

这部分是老生常谈了,懒人表示继续在路由上用easyrsa做(参考1参考2),写了一份server的key和crt之后就可以拿来用了。(之前我有CA证书和客户端证书了)

然后到手3个文件, server.key server.crt ca.crt。

修改/etc/apache/sites-available/default-ssl

找到这些字段

SSLCertificateFile
SSLCertificateKeyFile
SSLVerifyClient
SSLCACertificateFile
SSLVerifyClient

去掉注释之后,分别填上 server.crt的位置,server.key的位置,”on”,ca.crt的位置,”require”,就像这样

SSLEngine on
SSLCertificateFile    /etc/apache2/certs/pi.crt
SSLCertificateKeyFile /etc/apache2/certs/pi.key
SSLCACertificateFile /etc/apache2/certs/ca.crt
SSLVerifyClient require

配置也完成了。

然后启用一下ssl的mod和这个默认的ssl配置,就是分别做一下软连接。

最后启动/重启apache服务器,好了,看到浏览器问你要证书了。