加密方法的种类主要分为三种:单向加密,非对称加密,对称加密。
单向加密:不是加密,而是提取数据特征码,主要用于验证数据的完整性。
非对称加密:非对称加密也称公钥加密,密钥成对出现。主要用于密钥交换和数字签名、身份验证等。
对称加密:由于加密方和解密方使用同一对密钥所以称为对称加密。
常见算法:
md5:Message Degist,128bit
sda1:Secure Hash Algorithm 1,160bit
AES:Advanced data Encryption Standard
CA:CA是Certificate Authorty的缩成,是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA是PKI的核心组成部分。
数字证书:数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开的密钥、名称以及证书授权中心的数字签名。
PKI:PKI是创建、颁发、管理、注销公钥证书所涉及到的所有软件、硬件的集合体。其核心元素是数字证书,核心执行者是CA认证机构。
ssl和tsl:ssl(Secure Sockets Layer安全套接层)和tsl(Transport Layer Security)是在传输层对网络连接进行加密的,为数据安全提供安全支持。
ssl协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
openssl:openssl是一种多用加密解密工具,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
opessl的常用工具
passwd生成密码串
openssl passwd -1(说明以md5加密) -salt 127888
enc:说明openssl是加密还是解密的
openssl enc -des3(加密为des3)-salt -a(ascii码) -in(表示在那个文件读入) inittab -out(输出) inintab.des3
-d 解密
speed :测试openssl各种加密速度
basc64表示发送邮件时加密
echo -n "ddff" | openssl basc64
openss1 genrsa -out key.mageedu 1024(位长) 生成私钥
rsa 提取密钥
-pubout提取公钥
openssl rsa -in key.j -pubout -out kyss.j
(umask 077;openss1 genrsa -out key.mageedu 1024)生成一个权限为600的私钥
openssl md5 单向加密
创建私有CA并实现数字证书签署的过程
现在我们有两台主机A和B其中A机的IP为172.16.200.1
B机的IP为172.16.200.17。
在这里我们把A机作为一个服务器,B机作为客户端来进行证书的签署。主要步骤如下
配置服务器A
1. 服务器A要先创建一个私有CA即给自己签发一个CA。
CA服务器的配置文件的修改步骤如下:
1.1:编辑openssl的配置文件/etc/pki/tls/opessl.cnf
找到下图中的地方更改为dir=/etc/pki/CA
2、创建CA需要的目录和文件
#mkdir certs newcerts crl
#touch serial index.txt
#echo 01 > serial (十六进制从01开始)
3、自荐证书 (生成密钥对),客户端来验证
3.1生成密钥
# cd /etc/pki/CA
#(umask 077;openss1 genrsa -out private/cakey.pem 2048)
3.2自鉴证书
# openss1 req -x509 -new -keyprivate/cakey.pem -out cacert.pem –days 365
3.3查看证书内容
#openssl x509 -noout –in /private/cakey.pem -text
配置客户端B,也就是证书申请方
我们这里提供ftp服务需要的证书。
1、 为ftp服务生成密钥并发起证书申请
1.1创建vsftpd目录并进入创建所需文件
#mkdir vsftpd
#cd vsftpd
#mkdir certs (存放证书信息)
#cd certs
1.2生成密钥
#(umask 077l;openss1 genrsa 1024 > vsftpd.key )
1.3发起证书申请
#openss1 req -new -key vsftpd.key -out vsftpd.csr
2、 将证书请求传递个CA服务器
#scp vsftpd.csr root@172.16.200.1:/tmp 表示把证书发送到服务器的tmp目录下。
3、 CA签署证书(在CA服务器上操作,也就是在主机A上进行操作。
#cd /tmp
#openss1 ca -in vsftpd.csr -out vsftpd.crt –days 365
4、 证书签署完成后传递给客户端
#scp vsftpd.csr root@172.16.200.17:/etc/vsftpd/ssl
表示把证书发送到客户端/etc/vsftpd/ssl的目录下
本文转自 沐木小布丁 51CTO博客,原文链接:http://blog.51cto.com/sxhxt/907928