2013-05-29 301 views
1

我試圖找到一種通過Apache Camel附加客戶端證書的優雅方式。它可以是Java或Spring XML。Apache Camel,客戶端證書

我要發送給所有服務器的服務器都有服務器證書,它可以加密流量,但我需要在發送消息之前將客戶端公共證書附加到消息中。服務器包含15個左右的證書及其對應的私鑰。

我的主要配置是用Spring XML編寫的,所以我不確定如何使用添加客戶端證書。

(我是一個.NET傢伙用最少的Java和Linux的0經驗)

樣品春:

<camel:route>   
    <camel:from uri="direct:GetEligibility"/> 
    <camel:doTry>     
     <camel:choice> 
      <camel:when> 
       <camel:xpath>count(//soapenv:Envelope) = '0'</camel:xpath> 
       <camel:to uri="xslt:xslt/WrapSoap.xsl"/> 
      </camel:when> 
     </camel:choice> 
     <camel:setHeader headerName="CamelHttpMethod"> 
      <camel:constant>POST</camel:constant> 
     </camel:setHeader> 

     <camel:setHeader headerName="Content-Type"> 
      <camel:constant>text/xml; charset=utf-8</camel:constant> 
     </camel:setHeader>  

     <camel:to uri="https://testsite.gov.ca/Services.Secured/FICR_AR022001.asmx"/>   

     <camel:doCatch> 
      <camel:exception>java.lang.Exception</camel:exception> 
      <camel:bean ref="log" method="error"/> 
     </camel:doCatch> 
    </camel:doTry>     
</camel:route>  

回答

1

你需要預先配置一套SSLContextParameters,然後你可以添加證書爲準你想要到http端點。您可以選擇使用不同的證書路由到不同的終端。

它在Camel文檔中有描述here