我已經在啓用了SSL的Amazon RDS實例上創建了Postgres數據庫。可以使用亞馬遜(.pem)提供的cert文件通過命令行訪問該實例。現在我想連接到Spring Boot應用程序中的數據庫。做了一些研究,似乎我必須使用keytool
命令Import PEM into Java Key Store在密鑰庫中安裝證書。所以我運行以下命令來生成jks鍵。如何在啓用了SSL的Spring Boot應用程序中連接到RDS postgres
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
我也運行命令keytool -list -keystore rds.jks
列出驗證的密鑰庫。
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
的rds.jks
文件複製到/ src目錄/主/資源後,添加以下行application.properties
用於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
不過,我得到了錯誤:
java.lang.IllegalArgumentException: java.io.IOException: Alias name [rds-key] does not identify a key entry
爲什麼密鑰庫不起作用?