无法获取与 Spring Boot 一起使用的密钥库文件

Unable to get keystore file working with Springboot

我正在尝试在我的 Spring 引导应用程序中设置 SSL 以在我的 REST API 上启用 HTTP。我遇到以下故障。

java.security.UnrecoverableKeyException: Password verification failed
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect

我知道密码是正确的。

张根硕一代

openssl pkcs12 -export -in sample_cert.cer -inkey sample.key -out out.p12
keytool -importkeystore -srckeystore out.p12 \
        -srcstoretype PKCS12 \
        -destkeystore output.jks \
        -deststoretype JKS

提示输入密码,我输入tester

Spring 配置

server.port=8443

server.ssl.key-alias=1
server.ssl.key-store-type=JKS
server.ssl.key-password=tester
server.ssl.key-store=classpath:output.jks

security.require-ssl=true

我认为您在这里遗漏了 Keystore 密码,只提供了用于保护私钥的密码。如果您对密钥和密钥库使用相同的密码,则添加以下 属性 并使用相同的密码,否则使用您之前设置的不同密码。

server.ssl.key-store-password =<put keystore password here>

可能存在这样的情况,即您只为密钥库设置了密码,但您将其用于密钥。因此,请根据 Keystore 调整您的配置。