实验环境ubuntu18.04-desktop

获取openssl.cnf配置文件

# 这个返回路径,不一定被使用了(经测试ubuntu18下的openssl似乎未加载任何配置文件
openssl version -d

生成私钥文件(pem)

# 生成私钥
# genrsa生成RSA秘钥
# 2048:密钥长度为2048比特
# -out私钥文件路径
openssl genrsa -out ca_private.pem 2048
# 生成私钥,且加密
# -aes256:使用aes256对私钥进行加密
openssl genrsa -aes256 -out ca_private.pem 2048

生成证书签发申请文件csr

# req证书签发请求命令
# -new:是 req命令选项之一,表示创建一个新的 CSR。
# -key指定私钥文件
# -out输出文件路径
openssl req -new -key ca_private.pem -out ca_csr.pem

签发x509证书

未指定签发者(CA)证书(自签名

# x509:证书格式为X.509
# -req证书签发请求命令
# -days证书有效期(天)
# -sha1:证书摘要签名算法
# -signkey签名使用私钥文件
# -in:证书签申请文件csr文件
# -out输出文件路径
openssl x509 -req -days 365 -sha1 -signkey ca_private.pem -in ca_csr.pem -out ca_x509.cer
# -extfile使用指定配置文件(ubuntu18下似乎默认加载配置文件
# -extensions使用指定扩展块(扩展块内可以指定:“basicConstraints = critical,CA:true”)
openssl x509 -req -days 365 -sha1 -signkey ca_private.pem -in ca_csr.pem -out ca_x509.cer  -extfile /etc/ssl/openssl.cnf -extensions v3_ca

指定CA签发证书

# -CA:CA机构自己的证书(也可以多级签发时的中间CA)
# -CAkey:CA机构的私钥
# -CAcreateserial:创建证书序列号文件。该序列号在经由CA颁发的证书中是全局唯一的,可以唯一标识一个证书;创建序列号文件默认名称为“CA证书名.srl
openssl x509 -req -days 365 -sha1  -CA ../ca/ca_x509.cer -CAkey ../ca/ca_private.pem -in server_csr.pem -CAcreateserial -out server_x509.cer

验证证书

openssl verify -CAfile ./ca/ca_x509.cer ./server/server_x509.cer

查看证书详细信息

openssl x509 -in ./server/server_x509.cer -noout -text

PKCS#12

生成pkcs#12

# 将私钥和x509证书导出pkcs#12格式
openssl pkcs12 -export -inkey private_key.key -in myca_computer.com.cer -out computer.p12
# 将私钥和x509证书和证书链导出pkcs#12格式
openssl pkcs12 -export -inkey private_key.key -in myca_computer.com.cer -chain -CAfile ca.pem -out server.p12

导出私钥

# 导出私钥,会先询问p12的加密密码,再要求设置导出的私钥加密密码
openssl pkcs12 -in x509_private.pfx -nocerts -out p12_expory_private.key
# 不设置私钥加密密码
openssl pkcs12 -in x509_private.pfx -nocerts -out p12_expory_private.key -nodes

导出X509

openssl pkcs12 -in x509_private.pfx -nokeys -clcerts -out x509.pem

导出证书链

openssl pkcs12 -in x509_private.pfx -nokeys -out cert_chain.pem

导出所有到一个文件

openssl pkcs12 -in x509_private.pfx -nodes -out all-in-one.pem

相关参考

如何制作自签名证书
OpenSSL与证书(三)PKCS#12证书

原文地址:https://blog.csdn.net/weixin_40277264/article/details/134687956

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33576.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注