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.jks2.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(必須のパスワードを入力してください)、例:
p4ssw0rd3.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