Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Google Cloud SQL com SSL do Compute Engine e/ou rede externa


mba12 Tive o mesmo problema, obrigado pela resposta!

Então, a solução está aqui (como você apontou):Como se conectar ao MySQL com X509 usando JDBC?

Também encontrei este:importando um certificado x509 existente e uma chave privada no keystore Java para usar em SSL

Apenas para esclarecimento

javax.net.ssl.keyStore deve ser client cert + key combinados, não apenas client cert conforme descrito no guia MySQL.

Para resumir
  1. Temos:

server-ca.pem - Certificado MySQL CA, pode ser baixado em "Configuração SSL -> Exibir certificado CA do servidor"

client-cert.pem - chave pública do cliente, pode ser baixada em "Certificados do cliente -> certificado recém-criado"

client-key.pem - chave privada do cliente, pode ser baixada apenas da "caixa de diálogo Novo certificado SSL criado"

Descrito aqui:https://cloud.google.com/sql/docs/ configure-ssl-instance

Vamos salvá-los em server-instance/ pasta e crie jks/ pasta para arquivos gerados na etapa 2.

  1. Criar truststore Arquivo

    2.1. Copie os cacerts do JAVA original para jks/truststore.jks :

    cp $JAVA_HOME/jre/lib/security/cacerts jks/truststore.jks

    2.2. Adicionar certificado de CA do MySQL Server / CA do Google Cloud SQL Server server-ca.pem para o armazenamento confiável padrão do JAVA cacerts que copiamos na etapa 2.1.:

    keytool -importcert -noprompt -trustcacerts -keystore jks/truststore.jks -storepass changeit -alias googlecloudsqlservercacert -file server-instance/server-ca.pem

  2. Criar keystore Arquivo

    3.1. Converta o certificado x509 e a chave privada em um arquivo pkcs12:

    openssl pkcs12 -export -in server-instance/client-cert.pem -inkey server-instance/client-key.pem -out jks/client.p12

    (digite a senha obrigatória), por exemplo:p4ssw0rd

    3.2. Converta o arquivo pkcs12 em um keystore java:

    keytool -importkeystore -srckeystore jks/client.p12 -srcstoretype PKCS12 -destkeystore jks/keystore.jks -deststoretype JKS

    (digite as mesmas senhas), por exemplo:p4ssw0rd

Sobre a conversão:http://blog.ejbca. org/2008/02/converting-keystores-between-jks-and.html