#1. 部分企业不认可 openssl
#2. 采用 Let’s Encrypt 申请免费证书,通常有效期三个月
#3. 生成四个文件:cert.pem、chain.pem、fullchain.pem、privkey.pem,其中 Nginx 需要 fullchain.pem、privkey.pem
参考:https://www.cnblogs.com/tv151579/p/8268356.html
ssl_certificate /etc/letsencrypt/live/ser.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ser.domain.com/privkey.pem;
#4. 基于 fullchain.pem、privkey.pem 生成 jks 用于 Springboot 部署,否则出现错误 SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE
在线转换工具:https://myssl.com/cert_convert.html、https://www.racent.com/cert-convert
命令行:
先转 p12:openssl pkcs12 -export -in fullchain.pem -out server.p12 -inkey privkey.pem
再转 jks:keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore server.jks
#5.Nginx 配置转发 API 服务的时候,也需要配置 fullchain.pem、privkey.pem,如步骤 3,否则出现错误 net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH