2016-07-25 10 views
0

tun javax.net.ssl.SSLHandshakeException bekommen, wenn docusignapi handshade tunErste jav ax.net.ssl.SSLHandshakeException wenn docusignapi handshade

Der Versuch, die docusignapi Login Proben ein CERT Fehler erhalten zu verwenden.

Der folgende Code ist ein Beispiel von Docusign. Richtet das Signer- und Docusign-Konfigurationsobjekt ein. Beim Aufruf von setDefaultApiClient wird der Fehler generiert.

Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: jav 
     ax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKI 
     X path building failed: sun.security.provider.certpath.SunCertPathBuilderExcepti 
     on: unable to find valid certification path to requested target 
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle 
(URLConnectionClientHandler.java:155) 
at com.sun.jersey.api.client.Client.handle(Client.java:652) 
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) 
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) 
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) 
at com.docusign.esign.client.ApiClient.getAPIResponse(ApiClient.java:563) 
at com.docusign.esign.client.ApiClient.invokeAPI(ApiClient.java:595) 
at com.docusign.esign.api.AuthenticationApi.login(AuthenticationApi.java:156) 

** hinzugefügt **

// initialize the api client ApiClient apiClient = new ApiClient(); 
apiClient.setBasePath(BaseUrl); // create JSON formatted auth header 
String creds = "{\"Username\":\"" + UserName + 
    "\",\"Password\":\"" + Password + "\",\"IntegratorKey\":\"" + 
    IntegratorKey + "\"}"; 
apiClient.addDefaultHeader("X-DocuSign-Authentication", creds); 
System.out.println("assign api client to the Configuration object "); 
Configuration.setDefaultApiClient(apiClient); } 
+0

Hier ist der Code verwendet, um den Docusign API Aufruf –

+0

zu implementieren // initialisieren Sie den API-Client ApiClient apiClient = neue ApiClient(); apiClient.setBasePath (BaseUrl); // JSON-formatierten Auth-Header erstellen String creds = "{\" Benutzername \ ": \" + Benutzername \ ", \" Passwort \ ": \" "+ Passwort +" \ ", \" IntegratorKey \ ": \" "+ IntegratorKey +" \ "}"; apiClient.addDefaultHeader ("X-DocuSign-Authentifizierung", Kredit); System.out.println ("Zuweisen eines API-Clients zum Konfigurationsobjekt"); Configuration.setDefaultApiClient (apiClient); } –

+0

Willkommen bei StackOverflow! Nur als Tipp können Sie Ihre Frage so bearbeiten, dass der gesamte Code in der Frage enthalten ist. –

Antwort

0

„nicht in der Lage gültigen Zertifizierungspfad zu finden“ bedeutet, dass Sie Ihren Java-Stack mit der „Standard“ Reihe von vertrauenswürdigem Stamm Zert einrichten müssen.

Was passiert: Sie versuchen, eine SSL-Verbindung zu DocuSign herzustellen. Im Rahmen des SSL-Prozesses muss Ihr Computer feststellen, ob er dem entfernten Ende (in diesem Fall DocuSign) vertraut oder nicht.

Um dies zu tun: Ihr SSL-Stack versucht, einen Trust-Pfad von seinem Truststore von Root-CA-Zertifikaten zu dem von DocuSign angebotenen Zertifikat aufzubauen. Aber es kann nicht, da Sie Ihren Trust Store nicht ordnungsgemäß eingerichtet haben.

Der Standard-Satz vertrauenswürdiger Root-Zertifikate wird vom Mozilla Firefox-Browser verwendet.

Siehe https://curl.haxx.se/docs/caextract.html

Wie sie in Ihre Java-Stack als vertrauenswürdige Zertifikate laden stapeln abhängig.

This SO question sieht relevant aus, aber ich bin kein Java-Typ. Stellen Sie eine andere Frage, wenn Sie es nicht herausfinden können.

+0

Ich habe dies zu meinem cacerts Speicher in meinem jre Verzeichnis –

+0

hinzugefügt C: \ Programme \ Java \ jdk1.7.0_45 \ jre \ lib \ security \ cacerts Speicher hinzugefügt. Auch demo.docusign.net.crt, DocuSignCodeSigningPublicCertificate.cer, sso.docusign.net.crt wurde meinem cacerts store unter meinem jdk hinzugefügt. Aufruf meines Codes mit java -jar costco-docusigntest.jar -Djavax.net.debug = ssl: handshake Erhalte den folgenden Fehler. Exception in thread "main" –

+0

Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: jav ax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKI X Weger fehlgeschlagen : sun.security.provider.certpath.SunCertPathBuilderExcepti on: Es konnte kein gültiger Zertifizierungspfad für das angeforderte Ziel bei com gefunden werden. .. bei com.costco.docusign.CoreRecipes.main (CoreRecipes.java:1061) Verursacht durch: javax.net.ssl.SSLHandshakeException: sun.security.validator.Validator Ausnahme: PKIX Pfad Gebäude fehlgeschlagen: Sonne. security.provider.certpath.SunCertPath BuilderException: unfähig t. –