一、环境:CentOS7,Openssl1.1.1k。
二、概念:
根证书:是生成服务器证书和客户端证书的基础,也可以叫自签发证书,即CA证书
服务器证书:由根证书签发,配置在服务器。
客户端证书:由根证书签发,配置在客户端。也可以配置在web服务器,安装在浏览器。
对称加密:用一个密码加密文件,然后解密也用同样的密码。
非对称加密:加密用的一个密码,而解密用另外一组密码。包括以下两种情况:
用于加密数据时:公钥加密,私钥解密
用于文件签名时:私钥签名,公钥验签
三、步骤:
1、查看openssl的配置文件openssl.cnf
vim /etc/pki/tls/openssl.cnf
2、创建为根证书CA所需的目录及文件
cd /etc/pki/CA #创建配置文件信息中所需的目录及文件 mkdir -pv {certs,crl,newcerts,private} touch {serial,index.txt}
3、指明证书的开始编号
echo 01 >> serial
4、生成根证书
# 生成CA私钥(ca.key) openssl genrsa -des3 -out ca.key 2048 # 生成CA证书签名请求(ca.csr) openssl req -new -key ca.key -out ca.csr # 生成自签名CA证书(ca.cert) openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
5、生成服务器证书
# 生成服务端私钥(server.key) openssl genrsa -des3 -out server.key 2048 # 生成服务端证书签名请求(server.csr) openssl req -new -key server.key -out server.csr # 使用ca证书签署服务端csr以生成服务端证书(server.cert) openssl ca -days 3650 -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
6、生成客户端证书
# 生成客户端私钥(client.key) openssl genrsa -des3 -out client.key 2048 # 生成客户端证书签名请求(client.csr) openssl req -new -key client.key -out client.csr # 使用ca证书签署客户端csr以生成客户端证书(client.cert) openssl ca -days 3650 -in client.csr -out client.crt -cert ca.crt -keyfile ca.key
7、查看证书内容
openssl x509 -in server.crt -noout -text
8、将crt转换为pem
openssl x509 -in ca.crt -out ca.pem -outform PEM openssl x509 -in server.crt -out server.pem -outform PEM openssl x509 -in client.crt -out client.pem -outform PEM
9、剥离私钥key的密码
openssl rsa -in server.key -out serverkey.pem openssl rsa -in client.key -out clientkey.pem
生成后的证书列表:
到此这篇关于Linux环境下生成openssl证书注意细节介绍的文章就介绍到这了,更多相关Linux生成openssl证书内容请搜索IT博客社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT博客社区!
没有更多内容。