微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我知道这个问题已被问过多次,但我似乎仍然无法解决它。我正在尝试从 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

解决方法

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

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. 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-密码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。