首页 文章

将SSL自签名证书添加到Java密钥库,供Webstart应用程序中的JAX-RS使用

提问于
浏览
0

我有一个webstart应用程序,我正在我的本地计算机上开发和测试,并希望在测试期间使用自签名证书 . 应用程序连接到我的休息服务(也使用自签名证书在本地运行) .

我希望应用程序使用https(SSL)连接到本地服务,该服务具有已在Java密钥库中的自签名证书 .

我知道证书在密钥库中,因为当我在IntelliJ中运行它时,应用程序工作正常(即,不通过webstart) . 当我使用我的本地apache web服务器时,从浏览器打开JNLP文件,然后启动,然后应用程序jar验证正常并且应用程序启动...但是SSL连接失败并且非常讨厌

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我已经验证了在webstart和IDE中使用相同版本的Java(因此也是相同的密钥库)(用于运行应用程序,而不是IDE本身) .

Java webstart是否使用不同的密钥库?我在Mac上 . Grails在后端 .

1 回答

  • 0

    Java Webstart在Mac上使用Java Internet插件 . 因此,即使JVM的版本可能匹配,它们也会从不同的目录运行 . 这很复杂,因为当webstart应用程序启动时,它不会使用Java Internet插件来验证jar签名!因此,您必须在位于某个位置的密钥库中添加jar的证书

    /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/security/cacerts
    

    并且必须将服务的证书添加到位于某个位置的密钥库中

    /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/cacerts
    

相关问题