OpenSSL(加密方式,加密算法,自签证书)

对称加密: symmetric cipher
算法: des des3 aes Blowfish TwofishRCG

对称加密是使用加密算法 和 口令进行加密的.

# openssl enc -e -ciphername -a -salt -in filename -out filename

enc symmetric cipher 这个是一个自命令 表示对称加密
-e encrypt 表示加密
-ciphername 表示加密的名称 des des3 Blowfish
-a 以bas64的文本显示 而不是二进制显示
=salt 加点盐默认的选项
-in 这个是加密的数据文件
-out 这个加密之后密文文件

# openssl enc -d -ciphername -a -salt -in filename -out filename
-d decrypt 这个表示解密的意思

单向加密: 就是提取信息的特征码 message digest
算法: md5 sha1

# openssl dgst -ciphername -out filename filename

dgst 表示message digest 信息摘要
-out 指明加密之后文件的位置
filname 指明加密的文件

# md5sum 
# sha1sum 

非堆成加密: 公钥/私钥
算法:RSA EIGamal
非对称加密算法的速度很是慢一般是加密特征码进行身份认证,一般是公钥加密,私钥解密.

# openssl rsautl

数字签名: 私钥加密使用公钥解密

数字证书:x509格式

公钥的有限期
持有者的身份信息
使用方式
CA的信息
CA的数字签名 Certification Authority

pki public key infrastructure 公钥环境基础

使用OpenSSL创建私有CA Certification Authority
openssl的配置文件/etc/ssl/tls/openssl.conf
ssl secure sockets layer 安全套接字层
tls transport layer secure 传输层安全

[ CA_default ]
dir = /etc/ssl/CA 这个是CA证书的家目录
certs = $dir/certs 这个是证书的家目录
crl_dir = $dir/crl certification revoke list 吊销列表
database = $dir/index.txt 这个是数据库信息

new_certs_dir = $dir/newcerts 这个是新的证书的目录
certificate = $dir/cacert.pem 这个CA自己的证书
serial = $dir/serial 这个证书的序列号码
crlnumber = $dir/crlnumber  这个是吊销证书的号码
crl = $dir/crl.pem 这个吊销证书
private_key = 4dir/private/cakey.pem 这个是私钥文件

生成自己的私钥:
# (umask 077; openssl genrsa -out private/cakey.pem;)

生成证书:
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -day 3500
req 就是请求生成证书
-new 就是一个新的请求
-x509 定义证书的格式 这个是在自签的时候才使用
-key 这个私钥文件会自动提取公钥
-out 证书的文件
-day 证书生效的时间
创建必要的文件:
# touch index.txt serial crlnumber

客户端请求证书:

客户端生成自己的秘钥对:
# (umask 077 ; openssl genrsa -out filename );

客户端生成证书:
# openssl req -new -key httpd.key -out httpd.csr

客户端将证书发给CA机构:
# scp -r ./httpd.csr root@host:/tmp

CA签字:
# openssl ca -in httpd.csr -out httpd.crt

吊销证书:
openssl ca -revoke filename

你可能感兴趣的:(OpenSSL(加密方式,加密算法,自签证书))