参考文章
How to Create Self-Signed Certificates using OpenSSL
证书链中的一个或多个中间证书丢失 的解决办法:导入中间证书
openssl-pkcs12
HTTP转HTTPS—使用OpenSSL创建自签名SSL证书以及Tomcat配置SSL证书实战
OpenSSL Req命令
openssl x509(签署和自签署)
使用 openssl 生成证书
openssl 查看证书细节
gmssl/openssl 生成V3证书时添加附加项(extendedKeyUsage 和 keyUsage )
使用openssl生成证书、cer文件、key公私钥、pem公私钥
私钥、公钥、签名、证书
DER、CRT、CER、PEM格式的证书及转换
X.509 数字证书中的扩展项 subjectAltName
openssl req(生成证书请求和自建CA)
遇见的问题
在windows 服务器上导入服务器证书的时候,碰到错误提示 :证书链中的一个或多个中间证书丢失
解决方法一:WIN+R
输入mmc
,导入中间证书
解决方法二:在使用openssl合成pfx证书时,将中间证书一起合成,组成证书链;openssl pkcs12 ... -chain ...
解决方法三:CRT证书链合成,Server
和CA
的CRT
合并成一个ALL.CRT
,适用一些只能指定一个证书文件的情况:cat Server.crt CA.crt > ALL.crt
生成脚本
#! /bin/bash
# V1证书 移除此参数:-extfile x509.ext -extensions ca
# https://www.openssl.org/docs/man3.0/man1/openssl-x509.html#-extfile
# https://***/openssl-x509.html#-req
cat >x509.ext <<EOF
[ ca ]
# X509 extensions for a ca
keyUsage = critical, cRLSign, keyCertSign
basicConstraints = CA:TRUE, pathlen:0
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
[ server ]
# X509 extensions for a server
keyUsage = critical,digitalSignature,keyEncipherment
extendedKeyUsage = serverAuth,clientAuth
basicConstraints = critical,CA:FALSE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
EOF
# CA
openssl req -new -sha256 -nodes -newkey rsa:2048 \
-subj "//C=CN/C=CN/ST=ZJ/L=HZ/O=TEST/OU=TEST/CN=TESTCA" \
-keyout CA.key \
-out CA.csr \
openssl x509 -req -sha256 -days 3650 \
-extfile x509.ext -extensions ca \
-in CA.csr \
-signkey CA.key \
-out CA.pem
# # CAS
# openssl req -new -sha256 -nodes \
# -newkey rsa:2048 \
# -subj "//C=CN/C=CN/ST=ZJ/L=HZ/O=TEST/OU=TEST/CN=CASSERVER" \
# -keyout CAS.key \
# -out CAS.csr \
# openssl x509 -req -sha256 \
# -CA CA.pem -CAkey CA.key \
# -days 3650 -CAcreateserial -CAserial CA.srl \
# -extfile x509.ext -extensions server \
# -in CAS.csr \
# -out CAS.pem
标签:crt,CRT,证书,x509,CA,openssl,笔记,签名
From: https://www.cnblogs.com/ChooseC/p/17012690.html