【发布时间】:2018-04-19 16:52:40
【问题描述】:
直到今天我才对加密一无所知,所以如果我的问题是基本的,请原谅我。
我有一个 GCP SQL 实例,它是为使用 SSL 加密的 Postgres 设置的。我在 GCP 上创建了一个客户端证书并下载并存储了:
- 服务器-ca.pem
- client-cert.pem
- client-key.pem
我电脑中的文件。
我正在尝试使用 python3.6 中的 psycopg2 连接到远程数据库(使用 conda 安装)。我已经检查了documentation 以建立连接,显然需要使用上述文件才能建立连接。具体在psycopg2.connect() 函数中我使用参数:
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]
显然会有错误,因为根据this上述文件需要以以下格式结尾:.crt,.key。
经过研究,我发现我(可能)必须使用openssl 来生成.crt 和.key 格式。我该怎么做?
如果我转换.pem 文件并将转换后的文件传递给psycopg2.connect(),我可以连接到我的远程数据库吗?
【问题讨论】:
标签: python ssl openssl google-cloud-platform psycopg2