https运做流程:html
.key格式:私有的密钥
.csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写
.crt格式:证书文件,certificate的缩写
.crl格式:证书吊销列表,Certificate Revocation List的缩写
.pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式git
ca根证书:算法
生成CA私钥(.key)-->生成CA证书请求(.csr)-->自签名获得根证书(.crt)(CA给自已颁发的证书)。安全
用户证书生成步骤: 生成私钥(.key)-->生成证书请求(.csr)-->用CA根证书签名获得证书(.crt)服务器
服务器端用户证书:session
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ca,服务端,客户端写成不同便可dom
Common Name (e.g. server FQDN or YOUR name) []: 填写生成证书的域名加密
客户端证书:.net
生成pem格式证书:
有时须要用到pem格式的证书,能够用如下方式合并证书文件(crt)和私钥文件(key)来生成 server
$cat client.crt client.key> client.pem
$cat server.crt server.key > server.pem
结果:
服务端证书:ca.crt, server.key, server.crt, server.pem
客户端证书:ca.crt, client.key, client.crt, client.pem
注意:
在执行$openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key时可能会出错:
Using configuration from /usr/share/ssl/openssl.cfg I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory
解决方法:
1)mkdir -p ./demoCA/newcerts
2)touch demoCA/index.txt
3)touch demoCA/serial
4)echo 01 > demoCA/serial
参考:https://blog.csdn.net/moonhillcity/article/details/52768218
https://www.cnblogs.com/liyulong1982/p/6106129.html