密钥库被篡改,或密码不正确 - Java Springboot 应用

时间:2021-01-23 00:46:16

标签: java spring-boot certificate keystore keytool

我知道这个问题已被问过多次,但我似乎仍然无法解决它。我正在尝试从 SpringBoot 应用程序连接到 Azure-SQL db 并不断遇到此错误:

Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:783) ~[na:1.8.0_251]
Caused by: java.security.UnrecoverableKeyException: Password verification failed

我有一个 Rapidssl.jks 文件,我将它添加到应用程序的 VM 参数中以通过类似于 "PKIX path building failed" and "unable to find valid certification path to requested target"

我在 MacBook 并尝试使用以下方法创建自签名证书:

sudo keytool -export -keystore rapidssl-36.1.2.jks -file selfsign.crt 

并使用:sudo keytool -import -keystore "cacerts" -file "/Users/Documents/cert/selfsign.crt" -alias rapidssl/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/security 目录中运行导入它。我完成了这些步骤,但仍然无法克服错误。有什么建议/推荐吗?

我使用的是 Java 8 (zulu jdk),SpringBoot:2.0.4-RELEASE,MacBook OS Catalina 10.15.7

2 个答案:

答案 0 :(得分:1)

您命令中的引号似乎是问题所在:

sudo keytool -import -keystore "cacerts" -file "/.../selfsign.crt" ...

密钥库 cacerts 以及 file 不应在引号之间。

您已经在正确的路径 (jre/lib/security) 上执行它,所以试试这个:

sudo keytool -import -keystore cacerts -file /.../selfsign.crt -alias rapidssl

keytool 命令的示例:

enter image description here

答案 1 :(得分:0)

添加以下所有属性:

  1. server.ssl.key-store
  2. server.ssl.key-store-type=JKS
  3. server.ssl.key-store-password
  4. server.ssl.key-alias
  5. server.ssl.key-密码
相关问题