2013-05-07 63 views
0

我想通过Websphere Application Server访问通过https托管的Web服务。 我正在使用以下方法进行https连接。如何导入带有Java HttpsURLConnection的证书

HttpsURLConnection connection= (HttpsURLConnection) new URL(wcfUrl).openConnection(); 
    connection.setDoOutput(true); 
    connection.setDoInput(true); 
    connection.setAllowUserInteraction(false); 
    connection.setInstanceFollowRedirects(false); 
    connection.setRequestMethod("POST"); 
    connection.setRequestProperty("foo",userId); 
    connection.setRequestProperty("bar", pwd); 
    connection.setRequestProperty("Content-Type","application/xml"); 
    connection.connect(); 

当我尝试运行此代码我碰到下面的错误 * com.ibm.jsse2.util.g:PKIX路径建设失败: java.security.cert.CertPathBuilderException:PKIXCertPathBuilderImpl不能建一个有效的证书路径。内部原因是: java.security.cert.CertPathValidatorException: 由CN = GlobalSign根CA,OU = Root CA,O = GlobalSign nv-sa,C = BE颁发的证书不可信;内因是: java.security.cert.CertPathValidatorException:证书链接错误 * 我在本地服务器导入签名证书之后(由于在这个环节http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.base.doc%2Finfo%2Faes%2Fae%2Ftsec_sslretrievesignersport.html解释)我是能够连接到远程服务器(其中该服务通过https部署)。 我可以在不导入签署者证书的情况下通过java代码做同样的事情吗?

回答

1

你没有。您无法导入旨在通过您尝试验证其安全性的连接验证连接安全性的数据。这没有意义。证书必须离线导入。否则,你只是在创建安全漏洞。