mba12 私も同じ問題を抱えていました。答えてくれてありがとう!
したがって、解決策はここにあります(ご指摘のとおり): JDBCを使用してX509でMySQLに接続するにはどうすればよいですか?
私もこれを見つけました:sslで使用するためにJavaキーストアに既存のx509証明書と秘密鍵をインポートする
説明のために
javax.net.ssl.keyStore
MySQLガイドで説明されているクライアント証明書だけでなく、クライアント証明書とキーの組み合わせである必要があります。
要約する
- あります:
server-ca.pem
-MySQL CA証明書、「SSL構成->サーバーCA証明書の表示」からダウンロードできます
client-cert.pem
-クライアント公開鍵。「クライアント証明書->新しく作成された証明書」からダウンロードできます
client-key.pem
-クライアントの秘密鍵。「新しいSSL証明書の作成ダイアログボックス」からのみダウンロードできます
ここで説明する内容: https://cloud.google.com/sql/docs/ configure-ssl-instance
それらをserver-instance/に保存しましょう フォルダを作成してjks/を作成します 手順2で生成されたファイルのフォルダ。
-
truststore
を作成します ファイル2.1。元のJAVAの
cacerts
をコピーしますjks/truststore.jks
へ :cp $JAVA_HOME/jre/lib/security/cacerts jks/truststore.jks
2.2。 MySQLServerCA証明書/GoogleCloud SQL Server CA
server-ca.pem
を追加します JAVAのデフォルトのトラストストアcacerts
手順2.1でコピーしました。:keytool -importcert -noprompt -trustcacerts -keystore jks/truststore.jks -storepass changeit -alias googlecloudsqlservercacert -file server-instance/server-ca.pem
-
keystore
を作成します ファイル3.1。 x509証明書と秘密鍵をpkcs12ファイルに変換します:
openssl pkcs12 -export -in server-instance/client-cert.pem -inkey server-instance/client-key.pem -out jks/client.p12
(必須のパスワードを入力してください)、例:
p4ssw0rd
3.2。 pkcs12ファイルをJavaキーストアに変換します:
keytool -importkeystore -srckeystore jks/client.p12 -srcstoretype PKCS12 -destkeystore jks/keystore.jks -deststoretype JKS
(同じパスワードを入力してください)例:
p4ssw0rd
変換について: http://blog.ejbca。 org / 2008/02 / converting-keystores-between-jks-and.html