SSL及OpenSSL使用

1、SSL简介算法

 1.SSL: secure socket layer(安全套接层)为网络通讯提供安全及数据完整性的一种安全协议,囊括了主要的单向加密、对称加密、非对称加密算法、经常使用的密钥和证书封装管理功能以及SSL协议。数据库

 2.经常使用加密算法:vim

  <1>对称加密:DES, 3DES, AES安全

 <2>非对称加密(公钥加密)RSA, DSS, ECC服务器

 <3>单向加密:MD5, SHA1, SHA2, SHA256, SHA512, SHA3网络

3.SSL协议提供的安全信道三特性:socket

<1>数据的保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程须要用到密钥来加密数据而后再解密。主要经过对称加密实现。ide

<2>数据的完整性:加密也能保证数据的一致性。消息验证码(MAC),可以校验用户提供的加密信息,接收者能够用MAC来校验加密数据,保证数据在传输过程当中没有被篡改过。主要经过单向加密实现。函数

<3>安全验证:加密的另一个用途是用来做为我的的标识,用户的密钥能够做为他的安全验证的标识。SSL是利用公开密钥(非对称加密)的加密技术来做为用户端与服务器端在传送机密资料时的加密通信协定。主要经过非对称加密实现。工具

2、OpenSSL主要命令

 1.OpenSSLSSL协议的一种实现

     OpenSSL提供两个函数库和一个应用程序

         libcrypto :实行加密解密功能。

         libssl:实现ssl

         openssl:应用程序

2.OpenSSL主要命令:

   <1>openssl version:显示版本号

   <2>openssl enc:指定加密法

   openssl enc 加密方法 [-e| -d](加密、解密)-in FILE(指定要加密文件)-outFILE(加密后的文件)

  <3>openssl dgst(后加单向加密算法)–md5 FILE (获取文件的特征码)

  md5sumFILE(获取文件特征码)| sha1sumFILE

 <4> opennssl speed [加密算法(测试当前系统上的加密算法的速度、不带参数对全部算法进行测试)

  <5>openssl passwd –1md5-salt 八位字符串(通常随机生成):对用户密码进行加密

  <6>openssl rand-heax(十六进制)#(制定生成的位数:2#:生成随机数

  <7>openssl rand –base64 #:生成十六进制随机数位数为2#

  <8>openssl genrsa [-out](指定私钥保存文件) [flie][#](指定位数:2n次方):生成一个私钥,默认512

  <9>openssl genrsa 加密算法 [#](指定位数:2n次方):对私钥加密

  <10>openssl rsa –in FILE(私钥文件)-pubout:提取公钥

 <11>(umask 077openssl genrsa –out FILE #):制定密钥文件权限为600

3、OpenSSL使用:申请证书

1.生成一个私钥

umask 077openssl genrsa out FILE #

2.制做一个证书签署请求

openssl req –new(指定证书请求) –key FILE(私钥文件) –out FILE(保存为后缀为csr格式的文件:证书请求格式通常为.csr后缀)

填写我的信息

3.CA负责签名(签署证书)

4、OpenSSL使用:自建CA

1.cd /etc/pki/CA/

2.生成一个私钥

(umask 077; openssl genrsa –out private/cakey.pem #)

3.生成自签证书

openssl req –new –x509(自签) –key FILE(上步生成的私钥文件) –out cacert.pem –days #(指定使用时间默认为天)

我的信息,和申请的我的信息必须保持一致。

      不一致

    一致

4.建立数据库文件

touch serial index.txt

echo 01 > serial (序列号从01开始

5、OpenSSL使用:签署证书

openssl ca –in FILE(申请者私钥文件)–out FILE(证书保存位置后缀为.crt)–days #(使用时间)

查看文件index.txt serial (证书数据库)

修改信息默认值:vim /etc/pki/tls/openssl.cnf

6、openssl 专用客户端测试工具

openssl s_client –connect(指定链接主机) HOST:PORT –CAflile (指定证书文件) /path/to/cacertfile| -CApath(指定某个目录下的证书) /path/to/cacertfile_dir/ -ssl1|ssl2|ssl3|tls1(指定协议

7、补充内容

1.一次安全的会话通过的步骤(单向加密、对称加密、非对称加密的结合)

数据发送方

         <1>发送方使用选定的单向加密算法计算原始数据的特征码。

<2>发送方使用本身的私钥加密特征码,附加于原始数据后面。

<3>发送方生成一次性对称密钥,并使用此密钥加密数据(原始数据+加密后的特征码)

<4>发送方使用接收方的公钥加密一次性对称密钥,附加于加密数据后面,发送数据

数据接收方

<1>接收方使用本身的私钥解密加密的一次性对称密钥。

<2>使用对称密钥解密数据,获得加密的特征码和原始数据。

<3>使用发送方的公钥解密加密的特征码。

<4>使用与发送方相同的单向加密算法从新计算数据的特征码,并与解密出的特征作比较。

 2.OpenSSL中后缀名各表示什么文件

.key格式:私有的密钥

.crt格式:证书文件,certificate的缩写

.csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写

.crl格式:证书吊销列表,Certificate Revocation List的缩写

.pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式

相关文章
相关标签/搜索