我正在尝试编写一个Java程序来从Empirix服务器获取呼叫记录。为了获取呼叫记录,首先我需要通过将HTTPS POST请求发送到服务器https://webserver:8443/openam/json/authenticate来生成令牌ID。 POST请求的输入将是我的用户名和密码。提取令牌ID后,我会将其作为HTTPS GET请求的输入发送到相同的Web服务器,但端口(https://webserver:443/restapi/v1/emergencyCalls/)不同,以获取呼叫记录。
我已经获得了服务器证书,并将其存储在密钥库(证书)中。我可以成功获得POST方法的200 OK响应,但我得到- 当“线程“主”中的异常” javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到所请求目标的有效证书路径我在程序中调用GET方法。
我已经使用SSLPoke类测试了连接,并且获得了java的成功连接-Djavax.net.debug =所有SSLPoke Web服务器8443 运行java -Djavax.net.debug = all SSLPoke Web服务器443时出现问题
答案 0 :(得分:0)
我不确定您的应用程序的配置方式,但我知道该错误。证书不在您的应用程序期望的位置。如果您能够打印出它用来检索证书的路径,那么它可能会有所帮助。