2017-04-21 4 views
0
jdbc:mysql://localhost:3306/MyDb?verifyServerCertificate=true&useSSL=true&requireSSL=true 

SSLでMySQL JDBC接続を設定し、このようなのcacertsにそれを置くために:どのように私は、MySQLサーバーからパブリック証明書をダウンロードし

:私はこのような keytoolを使用して新しいキーを生成し

keytool.exe -import -alias mysql_dev \ 
    -keystore /c/dev/tools/Java/jre1.8.0_131/jre/lib/security/cacerts \ 
    -file rds-combined-ca-bundle.pem 

keytool.exe -genkeypair -alias adam \ 
       -keypass changeit \ 
       -keysize 1024 \ 
       -keystore /c/dev/.secure/haa2xt.jks \ 
       -storepass changeit 

これで、Javaがキーストアのキーとトラストストアのサーバー証明書の両方を取得していることがわかりましたが、まだ私はPKIXエラーが発生しています。私は、コマンドラインに、このデバッグのparamを追加

要求されたターゲットへの有効な証明書パスを見つける にできないし、いくつかを持って: sun.security.provider.certpath.SunCertPathBuilderExceptionを:

PKIXパスの構築に失敗しましたより多くの情報がすべて見えて、私はそこにmySql証明書を見ることができます。

-Djavax.net.debug=all 

trustStoreには、次のとおりです。C:\ DEV \ツール\ javaの\ jdk1.8.0_131 \ JRE \ libに\セキュリティの\ cacertsを

trustStoreにタイプがある:

[JKS。 ....]

キーストアがある:C:/dev/.secure/haa2xt.jks

キーストアのタイプは次のとおりです。

キーストアプロバイダJKSです:タイプてSunX509

のinitストア

のinitのKeyManager ***が見つかりキー:私は何アダム

間違っている?

答えて

0

keytool importコマンドは、複数のPEMファイルが存在する場合、PEMファイルの最初の証明書のみをインポートすることが判明しました。

これは私がチェックした唯一のものだったので、私は実際には約15がまだインポートされていなかったときにそれが良かったと思った。

私はこのツールを使用してすべてをインポートしました:https://github.com/use-sparingly/keyutil

関連する問題