准备openssl配置文件req.conf
1 | [req] |
生成Certificate Signing Request(CSR,证书签名请求)以及私钥
1 | openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout company_san.key.temp -config req.conf |
可以通过命令验证生成的证书请求是否符合预期
1 | openssl req -text -noout -verify -in company_san.csr |
将PKCS#8格式的私钥文件company_san.key.temp转换成RSA格式
1 | openssl rsa -in company_san.key.temp -out company_san.key |
生成带有SAN扩展字段的证书文件
1 | openssl x509 -req -days 999999 -in company_san.csr -signkey company_san.key -out company_san.crt -extensions v3_req -extfile req.conf |
将私钥和证书一起打包成PKCS#12格式,用pfx或者p12作为后缀即可
1 | openssl pkcs12 -export -out company_san.p12 -inkey company_san.key -in company_san.crt -password pass:123456 |
利用 keytool 将pfx格式证书转换成jks格式,方便jdbc连接
1 | keytool -importkeystore -srckeystore company_san.p12 -srcstoretype PKCS12 -srcstorepass 123456 -destkeystore company_san.jks -deststoretype JKS -deststorepass 123456 -destkeypass 123456 |