Openssl mysql ssl春季启动2
嗨,我有一个mysql服务器和一个运行在gcloud中的kubernetes spring boot 2 web服务。所以问题是我不知道如何将client-key.pem转换成jks文件。我已经用下面的命令将client-key.pem文件转换成了jks文件Openssl mysql ssl春季启动2,openssl,google-cloud-platform,jks,Openssl,Google Cloud Platform,Jks,嗨,我有一个mysql服务器和一个运行在gcloud中的kubernetes spring boot 2 web服务。所以问题是我不知道如何将client-key.pem转换成jks文件。我已经用下面的命令将client-key.pem文件转换成了jks文件 keytool -import -trustcacerts -alias root -file client-cert.pem -keystore client-cert.jks 当我在key.pem、keytool错误:java.lan
keytool -import -trustcacerts -alias root -file client-cert.pem -keystore client-cert.jks
当我在key.pem、keytool错误:java.lang.exception:输入不是x.509证书时,同一个命令会给我一个错误。
pem文件很好(由Google云控制台生成),可以在mysql工作台上完美工作。有任何帮助请通知thx 从
PEM
到Java密钥库的转换有点复杂
a) 将证书从PEM
转换为PKCS12
:
openssl pkcs12 -export -out client-cert.pkcs12 -in client-cert.pem
b) 创建并清空信任库KS
:
keytool -genkey -keyalg RSA -alias client -keystore truststore.ks
keytool -delete -alias client -keystore truststore.ks
keytool -import -v -trustcacerts -alias client-ca -file client-cert.pem -keystore truststore.ks
c) 将CA
导入信任库KS
:
keytool -genkey -keyalg RSA -alias client -keystore truststore.ks
keytool -delete -alias client -keystore truststore.ks
keytool -import -v -trustcacerts -alias client-ca -file client-cert.pem -keystore truststore.ks
d) 创建并清空Java密钥库
:
keytool -genkey -keyalg RSA -alias client -keystore keystore.ks
keytool -delete -alias client -keystore keystore.ks
keytool -v -importkeystore -srckeystore client-cert.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS
e) 将PKCS12
导入空的Java密钥库
:
keytool -genkey -keyalg RSA -alias client -keystore keystore.ks
keytool -delete -alias client -keystore keystore.ks
keytool -v -importkeystore -srckeystore client-cert.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS
从PEM
到Java密钥库的转换有点复杂
a) 将证书从PEM
转换为PKCS12
:
openssl pkcs12 -export -out client-cert.pkcs12 -in client-cert.pem
b) 创建并清空信任库KS
:
keytool -genkey -keyalg RSA -alias client -keystore truststore.ks
keytool -delete -alias client -keystore truststore.ks
keytool -import -v -trustcacerts -alias client-ca -file client-cert.pem -keystore truststore.ks
c) 将CA
导入信任库KS
:
keytool -genkey -keyalg RSA -alias client -keystore truststore.ks
keytool -delete -alias client -keystore truststore.ks
keytool -import -v -trustcacerts -alias client-ca -file client-cert.pem -keystore truststore.ks
d) 创建并清空Java密钥库
:
keytool -genkey -keyalg RSA -alias client -keystore keystore.ks
keytool -delete -alias client -keystore keystore.ks
keytool -v -importkeystore -srckeystore client-cert.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS
e) 将PKCS12
导入空的Java密钥库
:
keytool -genkey -keyalg RSA -alias client -keystore keystore.ks
keytool -delete -alias client -keystore keystore.ks
keytool -v -importkeystore -srckeystore client-cert.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS
Martin Zeitler和我的一位同事为我指出了正确的方向。但这不是一个完美的答案,所以我会回答我的问题。
您可以从谷歌云中获得3个文件,分别是client.cert.pem、client key.pem和server-ca.pem。
事实证明,从mysql workbench连接到服务器不需要server-ca.pem文件,但如果要从java连接到服务器,则需要它。
首先,使用以下命令在任何发行版上安装openssl
sudo apt安装openssl-y
然后键入以下命令:
openssl pkcs12 -export -out merged.pkcs12 -in client-cert.pem -inkey client-key.pem -certfile server-ca.pem
keytool -genkey -keyalg RSA -alias client -keystore truststore.jks
keytool -delete -alias client -keystore truststore.jks
keytool -import -v -trustcacerts -alias server-ca -file server-ca.pem -keystore truststore.jks
keytool -genkey -keyalg RSA -alias client -keystore keystore.jks
keytool -delete -alias client -keystore keystore.jks
keytool -v -importkeystore -srckeystore merged.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -destkeystore JKS
设置以下JDBC参数:
verifyServerCertificate=true
useSSL=true
requireSSL=true
clientCertificateKeyStorePassword=password
clientCertificateKeyStoreUrl=keystore.jks
trustCertificateKeyStorePassword=password
trustCertificateKeyStoreUrl=truststore.jks
就是这样,伙计们 Martin Zeitler和我的一位同事为我指出了正确的方向。但这不是一个完美的答案,所以我会回答我的问题。
您可以从谷歌云中获得3个文件,分别是client.cert.pem、client key.pem和server-ca.pem。
事实证明,从mysql workbench连接到服务器不需要server-ca.pem文件,但如果要从java连接到服务器,则需要它。
首先,使用以下命令在任何发行版上安装openssl
sudo apt安装openssl-y
然后键入以下命令:
openssl pkcs12 -export -out merged.pkcs12 -in client-cert.pem -inkey client-key.pem -certfile server-ca.pem
keytool -genkey -keyalg RSA -alias client -keystore truststore.jks
keytool -delete -alias client -keystore truststore.jks
keytool -import -v -trustcacerts -alias server-ca -file server-ca.pem -keystore truststore.jks
keytool -genkey -keyalg RSA -alias client -keystore keystore.jks
keytool -delete -alias client -keystore keystore.jks
keytool -v -importkeystore -srckeystore merged.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -destkeystore JKS
设置以下JDBC参数:
verifyServerCertificate=true
useSSL=true
requireSSL=true
clientCertificateKeyStorePassword=password
clientCertificateKeyStoreUrl=keystore.jks
trustCertificateKeyStorePassword=password
trustCertificateKeyStoreUrl=truststore.jks
就是这样,伙计们