No tenía ni idea de cifrado hasta hoy, así que perdóneme si mi pregunta es demasiado básica.
Tengo una instancia de GCP SQL que está configurada para Postgres con cifrado SSL. Creé un certificado de cliente en GCP y descargué y almacené:
archivos en mi computadora.
Estoy tratando de conectarme a la base de datos remota usando psycopg2 en python3.6 (instalado usando conda). He comprobado la documentación para establecer la conexión y aparentemente los archivos anteriores deben usarse para poder establecer la conexión. Específicamente en la psycopg2.connect()
función uso los argumentos:
sslmode='verify-ca'
sslcert=[local path of client-cert.pem file]
sslkey=[local path of client-key.pem file]
sslrootcert=[local path of server-ca.pem file]
Aparentemente habrá un error porque de acuerdo con esto los archivos anteriores deben terminar en los siguientes formatos: .crt
, .key
.
Después de mi investigación descubrí que (tal vez) tengo que usar openssl
para generar los formatos .crt
y .key
. ¿Cómo se supone que voy a hacer eso?
Si convierto los .pem
archivos y paso los convertidos al psycopg2.connect()
, ¿podré conectarme a mi base de datos remota?
Utilice openssl para convertir los archivos .pem a archivos .crt y .key
En primer lugar, mediante el símbolo del sistema / terminal, vaya al directorio donde se almacenan los archivos .pem.
Para el tipo de archivo .crt:
openssl x509 -in client-cert.pem -out ssl-cert.crt
openssl x509 -in server-ca.pem -out ca-cert.crt
Para el tipo de archivo .key:
openssl rsa -in client-key.pem -out ssl-key.key
y finalmente, para conectarse a la base de datos, psycopg2.connect()
simplemente pase la ruta del archivo de los archivos anteriores a los sslcert , sslkey and sslrootcert
argumentos.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras