对称加密
DES: Data Encription Standard, 56bit
3DES:
AES: Advanced
AES192, AES256, AES512
Blowdfish
单向加密
MD4
MD5: 命令工具 md5sum 或 openssl dgst -md5 inittab
SHA1: 命令工具 shalsum 或 openssl dgst -sha1 inittab
SHA192, SHA256, SHA384
CRC-32(不提供加密,只提供校验,可能撞车)
公钥加密
身份认证(数字签名)
数据加密
秘钥交换
RSA: 加密/签名
DSA: 签名
ElGamal: 商业算法
OpenSSL: SSL的开源实现
三部分组成:
libcrypto:通用加密库,提供各种加密函数
libssl:TSL/SSL的实现
基于会话的,实现了身份认证,数据加密性和会话完整性的TLS/SSL库
openssl: 多用途命令行工具
实现私有证书颁发机构
子命令:(通过openssl ?打开子命令集合,用whatis 子命令查看)
openssl speed 测试每种加密在本机的运行时间
openssl enc -des3 -salt -a(基于64) -in /etc/inittab -out ./inittab.des3 加密文件inittab
openssl enc -des3 -d(解密) -a -in /etc/inittab.des3 -out ./inittab 解密文件inittab
openssl passwd -1 -salt XXX 给字符加密
openssl实现私有CA:
1,生成一对秘钥的方法
openssl genrsa 2048(指定秘钥位数) > server.key 生成私钥的同时重定向保存,并修改文件文件权限600
openssl rsa -in setver.key -pubout > server.pub 提取公钥的同时重定向保存
2,生成自签署证书
openssl req -new -x509 -key setver1024.key -out setver.crt -days 365
//根据私钥生成CA证书,可以用openssl x509 -text -in setver.crt 查看内容,只有CA才用x509
CA服务器自签名CA完整过程:
root#vim /etc/pki/tls/openssl 根据里面的内容设置一些信息
root#cd /etc/pki/CA
root#(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
root#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
root#mkdir certs newcerts crl
root#touch index.txt
root#echo 01 > serial
WEB服务器获得CA签名过程:
root#cd /etc/httpd/ssl
root#(umask 077; openssl genrsa -out httpd.key 1024 ) 生成WEB服务器的私钥
root#openssl req -new -key httpd.key -out httpd.csr 向CA申请证书
root#openssl ca -in httpd.csr -out httpd.crt -days 365
备份地址: 【openssl以及加密】