2016-10-14 1 views
0

Je construis des microservices en utilisant Spring Boot où la configuration est distribuée en utilisant Spring Cloud Config. L'application de configuration a SSL activé.Récupérer la configuration à partir de Spring Cloud Config sur SSL

Je souhaite que mon application de démarrage au printemps communique au serveur de configuration via https. Le problème est que, avant le chargement de la configuration SSL à partir bootstrap.yml, l'application lance un appel de repos à Config serveur pour récupérer la configuration et échoue lamentablement avec l'erreur:

java.lang.IllegalStateException: Could not locate PropertySource and the fail fast property is set, failing 
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://host:8888/abcd/development,production": sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: 

J'ai configuré un certificat CA avec truststore en bootstrap.yml:

# MicroServices Properties 
spring: 
    application: 
    name: abcd 
    profiles: 
    active: development,production 
    cloud: 
    config: 
     uri: https://<host>:8888 
     fail-fast: true 
     password: [email protected] 
     username: user 
server: 
    ssl: 
    trust-store: D:/Certs/caCert/server.p12 
    trust-store-password: keystore 
    key-store-provider: PKCS12 

Toutes les suggestions que dois-je faire pour créer une communication réussie SSL avec Config serveur?

Répondre

0

Le problème a été résolu après avoir importé le certificat CA en magasin de certificats JRE:

keytool -importcert -alias startssl -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -file ca.der 
0

On dirait qu'il a un problème pour trouver le fichier CERT. J'essaierais quelque chose comme ça.

ssl: 
     trust-store: file:/Certs/caCert/server.p12 

Mieux encore, je voudrais ajouter mon certificat dans un fichier keystore en utilisant keytool pour que je puisse accéder à mon fichier keystore comme

ssl: 
     enabled: true 
     key-store: file:/Certs/keystore 
     key-password: keypwd 
+0

Merci, mais cela n'a pas résolu le problème. –