linux ssl 双向认证
一,首先切换到apache目录下,创建一个CA文件夹
sudo mkdir CA
sudo chmod 777 CA
二,然后进去CA文件夹
cp CA
三,创建其它文件
mkdir demoCA
mkdir demoCA/newcerts
mkdir demoCA/private
touch demoCA/index.txt
echo "01" >> demoCA/serial
四,输入“openssl genrsa -out server.key 1024”,生成网站服务器公钥文件server.key。
输入openssl req -new -out server.csr -key server.key (Common Name为要申请域名证书的域名)
输入“openssl genrsa -out ca.key 1024”,生成CA私钥文件ca.key。
输入“openssl req -new -x509 -days 365 -key ca.key -out ca.crt ”,生成CA证书。
输入“openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key”,
之后会在bin目录下面看到多了一个server.crt文件,
这就是签名以后的服务器证书。
打开浏览器把ca的证书(ca.crt)导入浏览器。
五,生成 client.key
openssl genrsa -out client.key 1024
生成客户证书
client.crt
openssl req -new -key client.key -out client.csr
将client.crt转换为 .pfx 格式的证书
openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt
将client.crt转换为 .pfx 格式的证书
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
双击client.p12将其导入浏览器。
六,配置httpd.conf
LoadModule ssl_module modules/mod_ssl.so
- <VirtualHost _default_:443>
- ServerAdmin crm.xiaolong.com
- DocumentRoot /var/www
- LogLevel warn
- ErrorLog /var/log/apache2/error.log
- CustomLog /var/log/apache2/ssl_access.log combined
- SSLEngine on
- SSLCertificateFile /etc/apache2/CA/server.crt
- SSLCertificateKeyFile /etc/apache2/CA/server.key
- SSLCACertificateFile /etc/apache2/CA/ca.crt
- SSLVerifyClient require
- SSLVerifyDepth 10
- </VirtualHost>
到这里就配置完成了,重启apache就可以访问
转载:http://blog.csdn.net/passwordport/article/details/8005292