【发布时间】:2010-05-19 21:03:02
【问题描述】:
我创建了一个独立的可执行 JAR 程序,它需要通过 SSL 连接发送私人信息。
我无法使用证书建立 SSL 连接。得到这个:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path `building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target`
所以我在某处发现了一些代码,它创建了一个不验证证书链的信任管理器:
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
成功了,我能够在没有任何证书的情况下建立 SSL 连接。
我担心在交换私人信息时数据是否仍会被加密。 这是一个执行 JAR 文件,客户端将下载到他们的计算机上。
那么这个案例真的需要证书吗?
【问题讨论】:
标签: java encryption ssl