linux openssl 配置文件,OpenSSL用法详解

OpenSSL用法详解

OpenSSL:

组件:libcrypto,libssl

openssl

openssl

众多子命令,可分为三类:

标准命令

消息摘要命令(dgst子命令)

加密命令(enc子命令)

标准命令:enc,ca,reeq,genrsa…

linux系统上的随机数生成器

/dev/random:仅从熵池返回随机数,随机数用尽,阻塞进程

/dev/urandom:从熵池中返回随机数,随机数用尽,会利用软件生成伪随机数,不会阻塞进程,但不够安全

熵池中随机数的来源:硬盘IO中断的时间间隔

使用openssl完成对称加密

支持的算法:3des、aes、blowfish、towfish

1、 enc子命令:

加密:

]#openssl enc -e -des3 -a -salt -in fstab -out fstab.cipher

解密:

]#openssl enc -d -des3 -a -salt -out fstab.out -in fstab.cipher

使用openssl完成单向加密

2、 dgst子命令

]#md5sum fstab]#openssl dgst -md5 fstab

3c8ce6380daa33c267ccb0e2e66a02de.png

使用openssl生成用户加密

生成随机数:

]#openssl rand -base64 6      #8进制随机数

]#openssl rand -hex 30        #16进制随机数

]#openssl passwd -1 -salt $(openssl rand -hex 6)

3c8ce6380daa33c267ccb0e2e66a02de.png

使用openssl完成公钥加密

加密解密

支持的算法:RSA、ELGamal

工具:openssl rsautl,gpg

数字签名

支持的算法:RSA、ELGamal、DSA

工具:openssl rsautl,gpg

密钥交换

支持的算法:RSA、DH

如何生成密钥对

如何生成私钥:

]#(umask 077;openssl genrsa -out /root/mykey.private 2048)

3c8ce6380daa33c267ccb0e2e66a02de.png

注意:生成的私钥除了属主,其他任何用户都不应该有任何权限

如何从公钥中提取私钥

]#openssl rsa -in /root/mykey.private -pubout -out /root/mykey.public

3c8ce6380daa33c267ccb0e2e66a02de.png

CA

公共权威CA

私有CA

如何自建CA:

openssl

openCA:二次封装的openssl。

配置文件:/etc/pki/tls/openssl.cnf

3c8ce6380daa33c267ccb0e2e66a02de.png

如何构建私有CA:

在确认配置为CA的服务器上生成一个自签证书,并为CA提供所需要的目录及文件

步骤:

1、生成私钥:

]#(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

2、生成自签证书:

]#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655

-new:生成证书签署请求

-x509:生成自签格式证书,专用于创建私有CA

-key:生成请求时用到的私钥文件路径

-out:生成的请求文件路径,如果自签操作将直接生成签署过的证书

-days:证书的有效时长,单位是day

3c8ce6380daa33c267ccb0e2e66a02de.png

3、为CA提供所需的目录及文件

]#mkdir -pv /etc/pki/CA/{certs,crl,newcerts} ]#touch /etc/pki/CA/{serial,index.txt} ]#echo 01 > /etc/pki/CA/serial

3c8ce6380daa33c267ccb0e2e66a02de.png

要用到证书进行安全通信的服务器,需要向CA请求签署证书

步骤:

1、在用到证书的主机上生成私钥

~]# mkdir /etc/httpd/ssl~]# cd /etc/httpd/ssl~]# (umask 077;openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

3c8ce6380daa33c267ccb0e2e66a02de.png

2、生成证书签署请求

]# openssl req -new -key httpd.key -out httpd.csr -days 365

3c8ce6380daa33c267ccb0e2e66a02de.png

3、将请求发送到CA服务器上

]# scp httpd.csr root@10.1.154.97:/etc/pki/CA/certs

4、在CA上签署证书请求

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

3c8ce6380daa33c267ccb0e2e66a02de.png

5、签署证书之后,将证书拷贝给请求的主机

]#scp httpd.crt root@10.1.154.94:/etc/httpd/ssl

3c8ce6380daa33c267ccb0e2e66a02de.png

6、查看证书中的信息

]# openssl x509 -in httpd.crt -noout -serial -subject

-serial:查看证书序列号

-subject:查看证书主体信息

3c8ce6380daa33c267ccb0e2e66a02de.png

7、如何吊销证书,需要在CA上执行

(1)客户端获取要吊销证书的serial

]# openssl x509 -in httpd.crt -noout -serial -subject

(2)CA吊销证书

先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致,一致,则吊销

]#openssl ca -revoke ./certs/httpd.crt

3c8ce6380daa33c267ccb0e2e66a02de.png

(3)生成证书吊销列表

]#echo 01 > /etc/pki/CA/crlnumber

(4)更新证书吊销列表

]#openssl ca -gencrl -out ./certs/httpd.crt

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:M20-1钟明波,如若转载,请注明出处:http://www.178linux.com/48630

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值