J'ai créé une base de données Postgres sur une instance Amazon RDS avec SSL activé. L'instance peut être accédée avec la ligne de commande en utilisant le fichier cert fourni par Amazon (.pem). Maintenant, je veux me connecter à la base de données dans une application Spring Boot. A fait quelques recherches, il semble que je dois installer le cert dans keystore avec keytool
commande Import PEM into Java Key Store. J'ai donc exécuté les commandes suivantes pour générer une clé jks.Comment se connecter aux postgres RDS dans Spring Application de démarrage avec SSL activé
openssl x509 -outform der -in rds-combined-ca-bundle.pem -out aws-cert.der
keytool -import -alias rds-key -keystore rds.jks -file aws-cert.der
keytool -list -keystore rds.jks
J'ai aussi couru commande keytool -list -keystore rds.jks
à la liste keystore pour validation.
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
rds-key, Oct 16, 2017, trustedCertEntry,
Certificate fingerprint (SHA1): E8:11:88:56:E7:A7:CE:3E:5E:DC:9A:31:25:1B:93:AC:DC:43:CE:B0
Après avoir copié le fichier rds.jks
à/src/main/ressources, j'ai ajouté les lignes suivantes dans application.properties
pour ssl:
server.ssl.enabled=true
server.ssl.key-alias=rds-key
server.ssl.key-password=xxx111
server.ssl.key-store=classpath:rds.jks
server.ssl.key-store-provider=SUN
server.ssl.key-store-type=JKS
Cependant, je suis l'erreur:
java.lang.IllegalArgumentException: java.io.IOException: Alias name [rds-key] does not identify a key entry
Pourquoi le keystore ne fonctionne-t-il pas?