我的本地开发计算机上有一个有效的密钥库,其中包含用于通过 HTTPS 访问 Web 服务的证书。
我通过以下方式在我的项目中访问此密钥库:
System.setProperty("javax.net.ssl.truststore", "C:\\<workspaceprojectPath>\\SIPkeystore\\truststore.jks"); // sollte wohl auch ohne Keystore klappen
System.setProperty("javax.net.ssl.keyStore", "C:\\<workspaceprojectPath>\\SIPkeystore\\SIPkeystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "SECRET");
Run Code Online (Sandbox Code Playgroud)
现在我想从另一个项目访问该证书。我在那里提供了另一个(本地)项目目录中密钥库的相同(完整)路径。
显然,jvm 仍然找到该路径并且正在设置该属性,但是在访问 Web 服务时,我收到相同的错误消息,就好像我根本没有添加密钥库一样。
当尝试运行该应用程序时,我得到一个
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid
certification path to requested target
Run Code Online (Sandbox Code Playgroud)
是否可以复制现有的密钥库?当我们将应用程序部署到服务器时,这一点也很重要。该应用程序将作为独立的 jar 运行。(没有网络服务器)
编辑: 好的,复制密钥库似乎不是问题,因为我可以在使用原始密钥库文件的本地副本时运行原始应用程序。看来这是一个配置问题。
是否可以复制现有的密钥库?
是的。从文件系统的角度来看,它只是一个文件。
我认为问题是以下之一:
| 归档时间: |
|
| 查看次数: |
14732 次 |
| 最近记录: |