2017-10-16 11 views
1

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 

キーストアが機能しないのはなぜですか?

答えて

0

バネ起動アプリケーションのSSLキーストア/トラストストアを設定すると、送信/受信https接続で使用されるSSLコンテキストが準備されます。 postgres db接続のために、SSLソケットファクトリを別に設定する必要があります。 postgres libによって提供される実装を使用するか、rds固有のキーストアを使用してsslコンテキストを準備する独自のカスタムSSLSocketFactoryクラスを作成します。

ご確認ください - >https://basildoncoder.com/blog/postgresql-jdbc-client-certificates.html

関連する問題