怎么经过Openssl完成私有CA,并为HTTP效劳供给TLS/SLL安全机制51CTO博客 - 众发娱乐

怎么经过Openssl完成私有CA,并为HTTP效劳供给TLS/SLL安全机制51CTO博客

2019-01-03 16:40:56 | 作者: 傲柔 | 标签: 效劳,供给,经过 | 浏览: 448

Openssl是SSL的开源完结(能够免费下载运用程序),是一种安全秘要程序,首要用于进步长途登录拜访的安全性。也是现在加密算法所运用的东西之一,功用很强壮。
       Openssl为网络通讯供给安全及数据完整性的一种安全协议,包含了首要的暗码算法、常用的密钥和证书封装办理功用(CA)以及SSL协议,并供给了丰厚的运用程序供测验或其它意图运用,例如咱们将会运用Openssl完结私有CA,并完结证书颁布。

  1. OpenSSL:SSL的开源完结  
  2.      libcrypto:通用加密库,供给了各种加密函数  
  3.      libssl:TLS/SSL协议的完结,根据会话的、完结了身份认证、数据秘要性和会话完整性的TLS/SSL库  
  4.      openssl:多用途的命令行东西;能够完结私有证书颁布组织;即在公司内部完结身份的验证; 

      SSL:(Secure Socket Layer)安全套接字层,经过一种机制在互联网上供给密钥传输。其首要方针是确保两个运用间通讯数据的保密性和可靠性,可在效劳器端和用户端一起支撑的一种加密算法。现在干流版别SSLV2、SSLV3(常用)。

下面经过此图来了解怎么完结SSL功用,在介绍之前,咱们来说说SSL供给哪些功用:

  1. 1、数据的秘要性:经过对称加密算法完结数据的秘要性。  
  2. 2、数据的完整性:经过单向加密算法确保数据的完整性。  
  3. 3、身份的安全验证:供给数据发送者的身份。   

 
说明SSL会话进程:

  1. 注:条件效劳器端在本地经过非对称加密算法生成一对密钥,并将公钥信息发送给CA证书颁布组织,CA给效劳器端颁布数字证书,并将证书发送至效劳器端。    
  2. SSL会话树立进程:    
  3. 第一步:客户端向效劳器端树立衔接恳求(TCP/IP)    
  4. 第二步:当TCP/IP树立完结后,客户端和效劳器之间洽谈运用哪种加密算法,如(TSLv1/SSLv2/SSLv3)。    
  5. 第三步:洽谈完结后,效劳器将公钥发送给客户端,客户端接纳公钥信息。    
  6. 第四步:客户端到CA证书颁布组织下载CA公钥信息,并对效劳器端发送的证书做验证。    
  7. 第五步:随后,客户端在本地经过对称加密算法生成密钥,然后用效劳器端发送的公钥进行对这段密钥进行加密,发送至效劳器端,其确保了数据的秘要性。    
  8. 第六步:效劳器用自己的私钥对这段数据进行解密,得到密钥,然后将客户端的恳求数据进行加密发送给客户端。   
  9. 第七步:客户端接到呼应,并用密钥进行秘要,得到数据。    
  10. 第八步:通讯完毕后,断开会话通道(TCP/IP)  

那怎么经过Openssl构建私有CA呢,在装备之前咱们来介绍下关于Openssl的根本运用:

  1. OpenSSL:SSL的开源完结  
  2.      libcrypto:通用加密库,供给了各种加密函数  
  3.      libssl:TLS/SSL协议的完结,根据会话的、完结了身份认证、数据秘要性和会话完整性的TLS/SSL库  
  4.      openssl:多用途的命令行东西;能够完结私有证书颁布组织;即在公司内部完结身份的验证;  
  5. openssl:  
  6.      genrsa:经过RSA算法,生成密钥(私钥和公钥)  
  7.      req:申请和生成证书  
  8.      -new:生成新的证书  
  9.      -x509:互联网常用的一种规范  
  10.      -in:证书的方位(签署证书及证书恳求常常用到)  
  11.      -out:证书的寄存方位  
  12.      -days:证书的有效期限 

构建根据Openssl创立私有CA,并完结SSL/TLS秘要机制:
装备环境:三台虚拟机
172.16.88.1/16)CA证书颁布组织并供给HTTP功用--Linux
测验端(192.168.0.203/24)--Windows xp

Seq1:在CA证书颁布组织,运用Openssl生成一对密钥(私钥和公钥)

  1. # cd /etc/pki/CA  
  2. # (umask 077; openssl genrsa -out private/cakey.pem 2048)    ##创立私钥,并将权限改为600  

Seq2: 修改Openssl主装备文件:
# vim /etc/pki/tls/openssl.conf

Seq3:下面就开端为CA本身,签署证书:

  1. # openssl req -new -x509 -key -in private/cakey.pem -out cacert.pem -days 365      ##生成自签证书 

Seq4:为CA预备目录及文件

  1. # cd /etc/pki/CA  
  2. # mkdir certs  crl  newcerts    ##相关证书寄存目录  
  3. # touch index.txt         ##相关证书信息  
  4. # echo "01" > serial     ##颁布证书的序列 

Seq5:装备装置HTTP效劳及装置mod_ssl模块供给TLS/SSL功用

  1. # yum install httpd mod_ssl -y  
  2. # vim /etc/httpd/httpd.conf #最终一行增加如下内容,并注释DocumentRoot "/var/www/html"行,大约在281行
  3. <VirtualHost 172.16.88.1:80>
  4. DocumentRoot "/www/example.com"
  5. ServerName www.example.com
  6. </VirtualHost>
  7.  
  8. # service httpd restart  && chkconfig  httpd on 
  9. # echo "<h1>Test Hettp Server</h1>" > /var/www/html/index.html #测验页

Seq6:进行简略的测验:

nniiijj:
ok!!HTTP效劳正常作业。

Seq7:为HTTP效劳器端装备密钥并向CA发送证书颁布恳求

  1. # mkdir /etc/httpd/ssl  
  2. # cd /etc/httpd/ssl  
  3. #(umask 077; openssl genrsa -out httpd.key 1024)  
  4. # openssl req -new -key -in httpd.key -out httpd.csr -days 3650 



Seq8:CA为HTTP效劳颁布数字证书:

  1. # cd /etc/httpd/ssl  # openssl ca -in httpd.csr -out httpd.crt -days 3650   

 



Seq9:检查CA的颁布的证书信息:

Seq10:装备SSL的主装备文件(/etc/httpd/conf.d/ssl.conf)

  1. # vim /etc/httpd/conf.d/ssl.conf  
  2. 在81行后边增加如下内容:  
  3. <VirtualHost 172.16.88.1:443>  
  4. DocumentRoot "/www/example.com" 
  5. ServerName www.example.com  
  6. 然后在114和121行更改下内容:  
  7. 114 SSLCertificateFile /etc/httpd/ssl/httpd.crt  
  8. 121 SSLCertificateKeyFile /etc/httpd/ssl/httpd.key 

Seq11:发动httpd效劳,并检查相应的443端口是否归于正常翻开状况
# service httpd restart  ##从头读取装备文件

Seq12:将CA的公钥信息下载到windows 客户端偏重命名为cacert.crt,并装置此证书然后测验。

 然后运用https://www.example.com是否能够正常拜访:

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章