Florian B. created CAMEL-12719:
----------------------------------

             Summary: Possibilité de charger un SSLContextParameter avec un 
Keystore contenant plusieurs clés (alias)
                 Key: CAMEL-12719
                 URL: https://issues.apache.org/jira/browse/CAMEL-12719
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.22.0
         Environment: Apache Tomcat 7, Camel 2.22.0, java 8, redHat 6.6

1 TrustStore.jks (12 certificats CA => 12 alias)

1 Keystore.jsk (5 clés => 5 alias => 5 passwords différents)

> 200 camelRoutes (file, soap, rest) secure, non-secure
            Reporter: Florian B.
             Fix For: 2.22.0


Bonjour,

J'aimerais pouvoir initialiser un seul SSLContextParameters au démarrage de 
camel contenant mon truststore.jks (avec x>1 alias) et mon keystore.jks (avec 
x>1 alias) afin de l'appeler (faire référence) dans les Routes (FTPs, HTTPs) 
sans avoir à redéfinir un nouveau SSLContextParameter pour chaque EndPoint.

_<camel:sslContextParameters id="sslIContextParameters">_
 _<camel:trustManagers>_
 _<camel:keyStore password="${truststore.jks.file.password}"_
 _resource="${truststore.jks.file.location}" />_
 _</camel:trustManagers>_
 _<camel:keyManagers >_
 _<camel:keyStore password="${keystore.jks.file.password}"_
 _resource="${keystore.jks.file.location}" />_
 _</camel:keyManagers>_
 _</camel:sslContextParameters>_

Lorsque mon Keystore contient x>1 alias, j'ai l'erreur suivante à la création 
de la Route au démarrage : 

*Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve 
endpoint: 
https4://<host>:<port>/<address>?authPassword=RAW(password)&authUsername=login&authenticationPreemptive=true&bridgeEndpoint=true&sslContextParameters=sslContextParameters&throwExceptionOnFailure=true
 due to: Cannot recover key*

due to

*Caused by: java.security.UnrecoverableKeyException: Cannot recover key*

 

Lorsque mon keystore ne contient qu'une seule clé, cela fonctionne très bien.

_<camel:sslContextParameters id="sslIContextParameters">_
_<camel:trustManagers>_
_<camel:keyStore password="${truststore.jks.file.password}"_
_resource="${truststore.jks.file.location}" />_
_</camel:trustManagers>_
_<camel:keyManagers keyPassword="keyPassword">_
_<camel:keyStore password="${keystore.jks.file.password}"_
_resource="${keystore.jks.file.location}" />_
_</camel:keyManagers>_
_</camel:sslContextParameters>_

 

J'aimerais donc pouvoir appeler mon SSLContextParameter pour différents 
EndPoint en précisant (si nécessaire) l'alias du Keystore nécessaire (en 
précisant l'alias et/ou le mot de passe de la clé)

 

Objectif dans mon projet :
 * 1 seul TrustStore.jks 
 * 1 seul Keystore.jsk
 * 1 unique SSLContextParameter
 * > 200 camelRoutes FTPs/HTTPs (ssl one way ou two way)

 

Merci beaucoup

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to