Hallo,
ich versuche ein SSL-Socket zum Newsserver von Newshosting (news.newshosting.com:563) aufzumachen. Dies funktioniert auch Problemlos mit OpenJDK 6 und 7.
Versuche ich es aber mit Sun/Oracle Java 6 oder 7 dann gibt es folgende Fehlermeldung
bei der Zeile
im unten genannten Quellcode:
Wie kann man dieses Problem umgehen oder lösen? Hat jemand von Euch eine Idee?
MfG
Thomas
ich versuche ein SSL-Socket zum Newsserver von Newshosting (news.newshosting.com:563) aufzumachen. Dies funktioniert auch Problemlos mit OpenJDK 6 und 7.
Versuche ich es aber mit Sun/Oracle Java 6 oder 7 dann gibt es folgende Fehlermeldung
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
bei der Zeile
Java:
cert = (X509Certificate) session.getPeerCertificates()[0];
im unten genannten Quellcode:
Wie kann man dieses Problem umgehen oder lösen? Hat jemand von Euch eine Idee?
Java:
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
//mache nichts
}
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
//mache nichts
}
} };
SSLContext sc = null;
sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
// Get a SocketFactory object for creating SSL sockets
SSLSocketFactory factory = (SSLSocketFactory) sc.getSocketFactory();
socketNNTP = (SSLSocket) factory.createSocket("news.newshosting.com", "563");
// Get the certificate presented by the web server
SSLSocket mySSLSocket = ((SSLSocket) socketNNTP);
mySSLSocket.setSoTimeout(20000);
SSLSession session = mySSLSocket.getSession();
X509Certificate cert = null;
cert = (X509Certificate) session.getPeerCertificates()[0];
MfG
Thomas