我正在尝试使用 psql 连接到在 Google Cloud Platform 上运行的 Postgres 实例。
我通过以下方式获得证书:
gcloud beta sql ssl server-ca-certs list --instance=[instance-name] --format='value(cert)' > server-ca.pem
然后尝试使用以下方法使用 psql 连接到实例:
psql "host=[ip] port=[port] user=[user] dbname=[db] sslmode=verify-ca sslrootcert=server-ca.pem"
这将返回错误:SSL error: invalid padding
我已经检查了证书中有效的 unix 尾行,更改了包装(确保整个证书适合一行等)
非常欢迎任何关于这里可能出错或如何调试的指示!
创建新的服务器 ca 证书并轮换它解决了 SSL 连接问题。
我遇到了同样的问题,只需要重新启动PostgreSQL即可加载新证书。