★2025/5/30更新说明: 如果希望将自签名证书用于网站,请确保OpenSSL版本高于(或等于)1.1.1,因为需要设置subjectAltName
属性。有关网站配置自签名证书的方法,请参考这篇文章。
总的来说有三种方式。生成得到的server.crt证书格式都是pem的。
1. 私钥👉证书
# 生成私钥
openssl genrsa -out server.key 1024
# 用私钥生成证书
openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=mykey/L=mykey/O=mykey/OU=mykey/CN=domain1/CN=domain2/CN=domain3"
2. 私钥👉证书申请文件👉证书
# 生成私钥
openssl genrsa -out server.key 1024
# 用私钥生成证书申请文件csr。会进入交互模式(填写地区等信息)
openssl req -new -key server.key -out server.csr
# 用私钥对证书申请进行签名从而生成证书
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
3. 👉证书(一步到位)
openssl req -new -x509 -keyout server.key -out server.crt -config openssl.cnf
参考:https://ningyu1.github.io/site/post/51-ssl-cert/