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 

  1. <VirtualHost _default_:443>  
  2.         ServerAdmin crm.xiaolong.com  
  3.   
  4.         DocumentRoot /var/www  
  5.   
  6.         LogLevel warn  
  7.         ErrorLog /var/log/apache2/error.log  
  8.         CustomLog /var/log/apache2/ssl_access.log combined  
  1.         SSLEngine on  
  2.         SSLCertificateFile    /etc/apache2/CA/server.crt  
  3.         SSLCertificateKeyFile /etc/apache2/CA/server.key  
  4. SSLCACertificateFile /etc/apache2/CA/ca.crt  
  5.   
  6. SSLVerifyClient require  
  7. SSLVerifyDepth 10  
  8. </VirtualHost>  

到这里就配置完成了,重启apache就可以访问

 

转载:http://blog.csdn.net/passwordport/article/details/8005292

posted @ 2015-12-17 11:41  林锅  阅读(603)  评论(0编辑  收藏  举报