首页 文章

基于SSL的轴和使用PKCS#12密钥库的双向身份验证

提问于
浏览
1

我有PKCS#12密钥库,我已成功导入我的浏览器,用于访问需要双向SSL身份验证的服务器 . 完美地到达那里的任何https URL .

但是,我无法访问同一服务器中的URL,并且在使用Axis 1.4时无法访问同一主机中的URL . 给定的Axis faultString是:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径

我的 javax.net.ssl.{keyStore,keyStorePassword,keyStoreType} 属性似乎设置得很好 .

我该如何解决这个问题?

2 回答

  • 2

    如果你想要的只是你的客户能够调用SSL Web服务并忽略SSL证书错误,我遇到了一个更简单的答案 . (当然你不会在 生产环境 中这样做!但它确实对测试很方便 . )

    只需在调用任何Web服务之前放置此语句:

    System.setProperty("axis.socketSecureFactory",
        "org.apache.axis.components.net.SunFakeTrustSocketFactory");
    

    我在the Axis wiki找到了这个 .

  • 6

    最后,使用Andreas Sterbenz的InstallCert将证书导入我自己的信任库,然后按照指示here设置trustStore属性就行了!

相关问题