记一次springboot中的ssl证书配置(主要是私钥公钥各种格式太乱了)

ssl证书的类型有很多种,这里我配置的是jks类型,使用的是TLS即RSA2048加密。

首先要明确,jks证书包含私钥和公钥,也就是说我们同时需要这两个密钥才可以得到jks证书

如果我们得到的是一个p7b类型的证书,想获取cer证书,我们需要进行证书导出,只需要选择域名为名称的证书导出为cer即可(我采用的base64)

而其中的公钥是一个cer文件,而私钥是一个key类型的文件,在生成csr证书过程时会生成

openssl pkcs12 -export –out xxx.p12 -in xxx.cer -inkey xxx.key
keytool -importkeystore -srckeystore xxx.p12 -srcstoretype pkcs12 -destkeystore xxx.jks -deststoretype JKS

首先使用openssl将cer与key合并为p12类型的证书文件

然后使用JDK的bin目录下的keytool工具,将p12转换成jks证书即可,需要注意的是,转换会输入加密的密码以及之前生成时所输入的密码

没有问题会提示1成功0失败,然后将其配置进spring即可

server.ssl.enabled=true
server.ssl.protocol=TLS
server.ssl.key-store=classpath:xtszhcj.jks
server.ssl.key-store-password=xxxx
server.ssl.key-store-type=JKS