2017-09-01 130 views
0

我有一個問題,我必須通過身份驗證的客戶端證書的目的。基於證書的身份驗證使用駱駝碼頭

我的代碼:

<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"/> 

每次我打這個服務,我得到一個錯誤

2017年9月1日15時32分38秒[資訊] 3934#3934:* 11客戶端沒有發送所需的SSL證書,而讀客戶端請求頭,

當我擊中curl命令的URL,並通過客戶端證書它顯示成功

回答

1

您的jetPa-uri中缺少對contextParameter的引用。 它應該看起來像:

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

這是從Camel Wiki:端點

春基於DSL的配置

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

感謝lahu89,我已經試過相同的,但仍然收到相同的錯誤 –

+0

嘗試激活日誌記錄。我推薦VM參數-Djavax.net.debug = ALL。 閱讀的內容很多,但您會看到是否將使用哪些證書。 另請參閱:http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html – lahu89

相關問題