打开输入流时出现SSL错误

时间:2011-10-21 09:15:04

标签: java ssl

我想我正在努力了解SSL是如何工作的,我将基于grails的应用程序作为应用程序流程的一部分,我们必须打开与第三方应用程序的“https”连接。 但遇到以下异常

"sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"

虽然与URL的连接工作正常但是当我尝试打开输入Stream以读取数据时发生错误。问题是如果有证书问题不应该在打开连接时有问题吗? 已附加代码段

try{
            URL url= new URL("https://.../..")
                def c = url.openConnection()
                println("connection successful with Merchant")
            def result = c.inputStream.text?.trim() // results in error
            println(result)
        }
        catch (Exception exp){
            println("error !!!")
                println(exp.getMessage())
        }

2 个答案:

答案 0 :(得分:0)

对于刚开始使用SSL和证书管理的人来说,这是一个非常常见的问题。我在我的博客AllInGeek.com上标题为“导入非知名证书”的文章中,通过非常详细的示例和命令回答了这个问题。

答案 1 :(得分:0)

这仅表示您连接的Web服务器或URL没有来自授权CA的有效证书。

您可以使用其他ssl网站验证这一点 或按照此处的步骤操作:

http://www.java-samples.com/showtutorial.php?tutorialid=210

通过导入服务器证书来解决此问题。