Questions tagged «truststore»


5
如何在特定连接上使用不同的证书?
我要添加到大型Java应用程序中的模块必须与另一家公司的SSL安全网站进行对话。问题在于该站点使用自签名证书。我有证书的副本以验证我没有遇到中间人攻击,并且我需要将此证书合并到我们的代码中,以确保成功连接到服务器。 这是基本代码: void sendRequest(String dataPacket) { String urlStr = "https://host.example.com/"; URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setMethod("POST"); conn.setRequestProperty("Content-Length", data.length()); conn.setDoOutput(true); OutputStreamWriter o = new OutputStreamWriter(conn.getOutputStream()); o.write(data); o.flush(); } 如果没有对自签名证书进行任何其他处理,它将死于conn.getOutputStream(),但以下情况除外: Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to …
164 java  ssl  keystore  truststore  jsse 


5
在Java和默认的信任库中使用自定义信任库
我正在用Java编写一个应用程序,该应用程序通过HTTPS连接到两个Web服务器。一个通过默认的信任链获得了受信任的证书,另一个使用自签名证书。当然,连接到第一个服务器是开箱即用的,而使用自签名证书连接到服务器则无法工作,直到我使用该服务器上的证书创建了一个trustStore。但是,与默认受信任服务器的连接不再起作用,因为显然,一旦创建了自己的信任库,默认的trustStore就会被忽略。 我发现的一种解决方案是将默认trustStore中的证书添加到我自己的证书中。但是,我不喜欢这种解决方案,因为它要求我继续管理该trustStore。(我不能假设这些证书在可预见的将来保持不变,对吗?) 除此之外,我发现了两个存在5年的类似问题的线程: 在JVM中注册多个密钥库 如何为Java服务器拥有多个SSL证书 他们俩都深入Java SSL基础架构。我希望到目前为止,有一个更方便的解决方案,可以在我的代码的安全性检查中轻松解释。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.