SSLを有効にしてAmazon RDSインスタンスにPostgresデータベースを作成しました。インスタンスは、Amazon(.pem)が提供するcertファイルを使用してコマンドラインでアクセスできます。これでSpringブートアプリケーション内のデータベースに接続したいと思っています。いくつかの調査をしましたが、keytool
コマンドImport PEM into Java Key Storeでキーストアにcertをインストールする必要があるようです。そこで以下のコマンドを実行して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
は/ srcに/メイン/リソースにrds.jks
ファイルをコピーした後、私は、SSLのapplication.properties
に以下の行を追加:
java.lang.IllegalArgumentException: java.io.IOException: Alias name [rds-key] does not identify a key entry
:私はエラーを得たしかし
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
キーストアが機能しないのはなぜですか?