java - keystore 被篡改,或密码不正确 - Java Springboot应用程序

标签 java spring-boot certificate keystore keytool

我知道这个问题已被问过多次,但我似乎仍然无法回避它。我试图从我的 SpringBoot 应用程序连接到 Azure-SQL 数据库并不断遇到此错误:

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"-aliasrapidssl/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" ...

keystore cacerts以及文件不应位于引号之间。

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

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

keytool 命令示例:

enter image description here

关于java - keystore 被篡改,或密码不正确 - Java Springboot应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65854646/

相关文章:

security - ActiveMQ 和客户端通过证书身份验证身份

windows - 处理公司防火墙添加自签名证书

java - 使用对象作为数组时出现空指针异常

java - Internet Explorer 未选择网页上的元素

java - Foo<?> 是否等同于未参数化的 Foo?

java - Spring Boot/JPA - 数据行级授权

java - 在android中本地广播?

java - 使用 JpaRepository Spring-data-jpa 对子列表总计数进行排序

java - MongoDB 连接拒绝 java spring boot

ios - iOS模拟器安装证书失败