2013-05-29 4 views
1

Я пытаюсь найти элегантный способ подключения сертификатов клиентов через Apache Camel. Это может быть либо Java, либо Spring XML.Apache Camel, клиентские сертификаты

Серверы, которые я отправляю всем, имеют сертификаты сервера, которые будут шифровать трафик, но перед отправкой мне нужно приложить общий сертификат клиента к сообщению. Сервер содержит 15 или около того сертификатов с соответствующими секретными ключами.

Моя основная конфигурация написана в Spring XML, поэтому я не уверен, как получить эту работу с добавлением клиентских сертификатов.

(я .NET парень с минимальной Явой и 0 Linux опыта)

Образца Спринг:

<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:

Смежные вопросы