mysql ssl пружинный ботинок 2 - PullRequest
       36

mysql ssl пружинный ботинок 2

0 голосов
/ 13 сентября 2018

Привет, у меня есть сервер mysql и веб-сервис kubernetes spring boot 2, работающий в gcloud.Поэтому проблема в том, что я не знаю, как преобразовать мой 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.lang.exception: input not an x.509 certificate.Файлы pem в порядке (сгенерированы облачной консолью Google), отлично работают из mysql workbench.Любая помощь заслуженная, спасибо!

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Мартин Цайтлер и один из моих коллег указали мне правильное направление.Тем не менее, это не идеальный ответ, поэтому я отвечу на мой вопрос.Вы получаете 3 файла из облака Google: client.cert.pem , client-key.pem и server-ca.pem .Оказывается, вам не нужен файл server-ca.pem для подключения к серверу из mysql workbench, но он вам нужен, если вы хотите подключиться к серверу из java.Сначала openssl, установите его с помощью следующей команды, вероятно, в любом дистрибутиве.

sudo apt install 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

И это все, ребята!

0 голосов
/ 13 сентября 2018

преобразование из PEM в Java KeyStore немного сложнее ...

а) преобразовать сертификат из 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

c) импортировать CA в склад доверенных сертификатов KS:

keytool -import -v -trustcacerts -alias client-ca -file client-cert.pem -keystore truststore.ks

d) создать, а затем очистить Java KeyStore:

keytool -genkey -keyalg RSA -alias client -keystore keystore.ks
keytool -delete -alias client -keystore keystore.ks

e) импортировать PKCS12 в пустое Java KeyStore:

keytool -v -importkeystore -srckeystore client-cert.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.ks -deststoretype JKS
...