go4321 发表于 2018-11-22 10:25:40

CetnOS Apache的SSL双向认证

  实验环境:
  服务器:CentOS 6.5
  客户端: Windows XP
  

  一:建立机构证书

  1:编辑openssl文件
  # vim /etc/pki/tls/openssl.cnf
  将
dir=../../CA  改为
dir=/etc/pki/CA  将
ountryName             = match
stateOrProvinceName   = match
organizationName      = match  改为
ountryName             = optional
stateOrProvinceName   = optional
organizationName      = optional  

  作用是不用匹配国家、省份、城市照样能使用证书服务器,否则申请证书必须跟CA证书在同一个国家、身份、城市,才能申请证书。
  

  2.创建配置文件所需的目录和文件。
  

  #cd /etc/pki/CA
  #mkdir certs crl newcerts
  #touch index.txt
  #echo "01" < serial
  

  3.CA服务器机构自签证书
  

  生成私钥
  # openssl genrsa 1024 > private/cakey.pem
  生成证书
  # openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
  

  二.签发服务器、客户端证书
  

  服务器和客户端证书统一放到 /CA
  

  服务器证书:
  

  # mkdir /CA
  # cd /CA
  # openssl genrsa 1024 > server.key                  #证书私钥文件
  # openssl req -new -key server.key -out server.csr    #证书申请文件
  # openssl ca -in server.csr -out server.crt         #生成证书文件
  

  客户端证书:
  # openssl genrsa 1024 > client.key                  #证书私钥文件
  # openssl req -new -key client.key -out client.csr    #证书申请文件
  # openssl ca -in client.csr -out client.crt         #生成证书文件
  

  将客户端证书转换成客户端可识别的证书格式,转换后会提示键入私钥密码,客户端导入此证书时会用到
  # openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
  

  

  三:apache的ssl设置
  

  安装apache的ssl模版文件
  # yum install mod_ssl
  

  编辑ssl的模版文件
  # vim /etc/httpd/conf.d/ssl.conf
  

  https页面的主目录直接使用默认目录
DocumentRoot "/var/www/html"
ServerName www.51cto.com:443  

  将
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt  改成
SSLCertificateFile /CA/server.crt
SSLCertificateKeyFile /CA/server.key
SSLCACertificateFile /etc/pki/CA/cacert.pem  并开启
SSLVerifyClient require
SSLVerifyDepth10  

在目录下创建一个主页文件
# echo "this is ssl page" > /var/www/html/index.html
  

  #service httpd restart
  

  四:将客户端证书拷到客户端中并导入证书
  


  


  

  这里填写导出客户端证书时设置的私钥密码
  


  


  


  


  

  测试
  先改一下hosts的解析文件
  


  


  


  


  


  

  

  

  




页: [1]
查看完整版本: CetnOS Apache的SSL双向认证