Mit HttpClient mit SSL und Zertifikaten

Während ich schon vertraut mit HTTPS und das Konzept von SSL, ich habe vor kurzem damit begonnen, einige Entwicklungs-und fand ich ein wenig verwirrt bin.

War die Forderung, ich Schreibe eine kleine Java-Anwendung, läuft auf eine Maschine angebracht, um einen scanner. Wenn ein Dokument gescannt wird, dieses ist abgeholt und die Datei (meist PDF) senden über das internet zu unserem application server, der dann verarbeiten Sie. Ich habe geschrieben die Anwendung, Apache-Commons-Bibliotheken und HTTPClient.

Die zweite Voraussetzung war, um eine Verbindung über SSL, dass ein Zertifikat benötigt wird. Folgende Anleitung auf die HTTPclient-Seite, ich bin mit AuthSSLProtocolSocketFactory aus den Beiträgen der Seite.

Konstruktor kann einen keystore, keystore-Kennwort, die truststore-und truststore-Kennwort. Wie ein Erster test unserer DBA aktiviert SSL auf einem unserer Entwicklungs-Webserver und versorgte mich mit einem .p12-Datei, die beim Import in IE erlaubt mir, um erfolgreich zu verbinden.

Ich bin ein bisschen verwirrt zwischen keystores und truststores und welche Schritte muss ich nehmen, mit dem keytool. Ich habe versucht, den Import der p12 in eine keystore-Datei, bekomme aber die Fehlermeldung:

keytool error: java.lang.Exception: Input not an X.509 certificate

Folgte ich einen Vorschlag von importieren des p12-in für Internet Explorer und das exportieren als .cer, kann ich mich dann erfolgreich zu importieren, in einen Schlüsselspeicher. Wenn ich diese als keystore-argument der AuthSSLProtocolSocketFactory ich bekomme ein sinnlos errror, aber wenn ich versuche es als eine truststore-es scheint, wie es sich liest ist es in Ordnung, aber letztlich bekomme ich

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

Ich bin nicht sicher, ob ich verpasst haben, einige Schritte, ich bin Missverständnis und die SSL-und die gegenseitige Authentifizierung zusammen oder ist dies eine fehlerhafte Konfiguration auf der server-Seite.

Kann jemand Hinweise geben, oder zeigen Sie mich in Richtung Ressourcen, könnte mir helfen dies herauszufinden, bitte?

InformationsquelleAutor Chris Cameron-Mills | 2010-05-05

Schreibe einen Kommentar