前言:

网络出现之初并没有过多的考虑过完全问题。所以在TCP/IP的网络架构中,网络服务的传输都是基于明文的。但随着上网用户的增多和业务的不断发展。电子商务对网络的安全性要求更加的突显。所以就出现了网络安全的加密解密,以及构建在整个互联网电子商务之下的PKI架构体系。它除了提供安全服务的:认证、访问控制、数据保密性、数据完整性和不可否认性以外,还提供了第三方的安全认证。openssl就是其中最常用的工具。

-----------------------------------------------------------------------------------------------------

加密方式:

1.对称加密:

1)使用同一个密码进行加密。

2)将原文分割成固定块大小,进行加密。

2.非对称加密:

使用公钥和私钥,公钥任何人都可以拥有,私钥只有自己拥有。而公钥加密的文件,只有私钥才能解开。

用途:可以对任意长度的数据进行加密。

3.单向加密:

提取数据的特征码,保证了数据的完整性。

用途:只对简短的数据进行加密。

-----------------------------------------------------------------------------------------------------

加密过程:

1.使用单向加密,加密数据,生成一个特征码。

2.使用自己的私钥对特征码进行加密。

3.对数据和加密过的特征码,再进行一次对称加密(密码)。

4.用对方公钥加密对称加密的密码。

解密过程:

1.使用自己的私钥解密对称加密的密码。

2.用对称加密的密码,解密加密后的数据和特征码。

3.使用单向加密,加密解密出来的数据。

4.使用对方公钥,加密数据特征码。

5.对比3、4步中的特征码是否一致。

-----------------------------------------------------------------------------------------------------

openssl:

功能:

1.手动加密解密数据

2.生成秘钥

3.创建数字证书

组成:

libcrypto //通用功能的加密库

libssl //用于实现TLS/SSL的功能

openssl //多功能命令工具

具体实现:

1.加密解密:

#openssl enc -e -des3 -a -salt -in /etc/passwd -out ./passwd.openssl //加密

#openssl enc -d -des3 -a -salt -in ./passwd.openssl -out passwd.out //解密

wKiom1PeA9ryyWs6AAGjEphA8nE488.jpg


2.自建CA:

1)进入CA目录

#cd /etc/pki/CA/

2)生成秘钥对

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

wKiom1PeA_nRtRHHAAEDL305bjM482.jpg

3)生成自签证书

#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

wKioL1PeBSrxzTI-AAF6xd3_34Y564.jpg

4)在CA下创建index.txt、serial、crlnumber等文件

#touch index.txt serial crlnumber

#echo 00 > serial

3.申请证书:

1)在httpd下生成ssl目录:

#mkdir  /etc/httpd/ssl

2)生成秘钥:

#(umask 077;openssl genrsa -out httpd.key 1024)

wKiom1PeBCzwfPZIAAE2uNQCYZw143.jpg

3)生成证书签署请求文件

#openssl req -new -key httpd.key -out httpd.csr

wKioL1PeBVejwqIlAAF0HG9RNjY571.jpg

4)请求文件发送给CA

#scp httpd.csr 192.168.100.1:/etc/pki/sign

4.CA签署证书:

#openssl ca -in httpd.csr -out httpd.crt -days 365

#scp httpd.crt 192.168.100.1:/etc/httpd/ssl

5.吊销证书:

#openssl ca -revoke httpd.crt