Java-Verbindung zu einer https-URL
Ich geschrieben habe einen kleinen code in Java für den Zugriff auf eine URL .
Der code funktioniert gut für die HTTP-Verbindung, aber nicht für HTTPS (der Fehler ist unten eingefügt)
Jede Hilfe, dieses Problem zu beheben wird sehr geschätzt .
CODE :
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class ConnectToWCProd {
public static void main(String[] args) throws Exception {
String userPassword = "user1:user1";
String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());
//URL oracle = new URL("http://<URL>/");
URL oracle = new URL("https://<URL>");
URLConnection yc = oracle.openConnection();
yc.setRequestProperty("Authorization", "Basic " + encoding);
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
FEHLER :
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Sonne.Sicherheit.validator.ValidatorException: PKIX path building failed: sun.Sicherheit.Anbieter.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
bei com.Sonne.net.ssl.intern.ssl.- Warnungen.getSSLException(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.SSLSocketImpl.fatal(Unknown Source)
bei com.Sonne.net.ssl.intern.ssl.Handshaker.fatalSE(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.Handshaker.fatalSE(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.ClientHandshaker.serverCertificate(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.ClientHandshaker.processMessage(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.Handshaker.processLoop(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.Handshaker.process_record(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.SSLSocketImpl.readRecord(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.SSLSocketImpl.performInitialHandshake(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.SSLSocketImpl.startHandshake(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.SSLSocketImpl.startHandshake(Quelle Unbekannt)
bei der sun.net.www.Protokoll.https.HttpsClient.afterConnect(Quelle Unbekannt)
bei der sun.net.www.Protokoll.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
bei der sun.net.www.Protokoll.http.HttpURLConnection.getInputStream(Unknown Source)
bei der sun.net.www.Protokoll.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
bei ConnectToWCProd.main(ConnectToWCProd.java:21)
Verursacht durch: Sonne.Sicherheit.validator.ValidatorException: PKIX path building failed: sun.Sicherheit.Anbieter.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
bei der sun.Sicherheit.validator.PKIXValidator.doBuild(Quelle Unbekannt)
bei der sun.Sicherheit.validator.PKIXValidator.engineValidate(Quelle Unbekannt)
bei der sun.Sicherheit.validator.Validator.validate(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.X509TrustManagerImpl.validate(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.X509TrustManagerImpl.checkServerTrusted(Quelle Unbekannt)
bei com.Sonne.net.ssl.intern.ssl.X509TrustManagerImpl.checkServerTrusted(Quelle Unbekannt)
... 13 mehr
Verursacht durch: Sonne.Sicherheit.Anbieter.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
bei der sun.Sicherheit.Anbieter.certpath.SunCertPathBuilder.engineBuild(Quelle Unbekannt)
bei java.Sicherheit.cert.CertPathBuilder.bauen(Quelle Unbekannt)
... 19 mehr
InformationsquelleAutor Parag M | 2013-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese könnten Ihnen hilfreich sein:
http://www.java-samples.com/showtutorial.php?tutorialid=210
InformationsquelleAutor Parkash Kumar
Lesen Sie diese link
Müssen Sie fügen Sie das Zertifikat in
jre/lib/security/cacerts
(der Standard-Pfad)InformationsquelleAutor dierre