2017-09-01 3 views
0

Ich habe ein Problem, wo ich Client-Zertifikat für die Authentifizierung übergeben muss.Zertifikatbasierte Authentifizierung mit Camel Jetty

Mein Code:

<camel:sslContextParameters id="sslContextParameters"> 

    <camel:keyManagers keyPassword="indigo"> 
     <camel:keyStore resource="/home/sahil/Demo/new.jks" password="changeit"/> 
    </camel:keyManagers> 

    <camel:trustManagers> 
    <camel:keyStore resource="/home/sahil/Demo/123.jks" password="changeit"/> 
     </camel:trustManagers> 
     <camel:serverParameters clientAuthentication="WANT" />  
</camel:sslContextParameters> <to uri="jetty:https://xx.x.xx/activate"/> 

Jedes Mal, wenn ich diesen Dienst ich einen Fehler

2017/09/01 15:32:38 [info] 3934 # 3934 getroffen zu: * 11-Client gesendet Zertifikat kein erforderliche SSL während Client-Request-Header lesen,

und wenn ich die URL mit curl Befehl getroffen und das Client-Zertifikat übergibt es ist der Erfolg zeigt

Antwort

1

Der Verweis auf Ihr contextParameter fehlt in Ihrem jetti-uri. Es sollte wie folgt aussehen:

<to uri="jetty:https://xx.x.xx/activate?sslContextParametersRef=sslContextParameters"/>

Dieses aus dem ist Camel Wiki:

Frühling DSL-basierte Konfiguration von Endpunkt

xml<camel:sslContextParameters id="sslContextParameters"><camel:keyManagers keyPassword="keyPassword"> <camel:keyStore resource="https://stackoverflow.com/users/home/server/keystore.jks" password="keystorePassword"/> </camel:keyManagers> </camel:sslContextParameters> <to uri="jetty:https://127.0.0.1/mail/?sslContextParametersRef=sslContextParameters"/>

+0

Dank lahu89, habe ich das gleiche versucht, aber immer noch den gleichen Fehler –

+0

Versuchen Sie, Protokollierung zu aktivieren. Ich empfehle den VM-Parameter -Djavax.net.debug = ALL. Es gibt viele zu lesen, aber Sie werden sehen, ob und welche Zertifikate verwendet werden. Siehe auch: http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html – lahu89

Verwandte Themen