You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用snowflake.connector搭配带密码的PKCS8格式RSA私钥时遇类型错误求助

snowflake.connector搭配带密码的PKCS8格式RSA私钥时遇类型错误求助

我来帮你捋捋这个问题哈,你碰到的TypeError: Password was given but private key is not encrypted报错,核心原因是你生成的PKCS8格式私钥根本没被加密,虽然你在代码里传了密码参数,但密钥本身是明文状态的,snowflake的连接器自然就搞不懂为啥你要给密码了~

咱们来拆解下问题根源:
你用的生成密钥命令是:

openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8

这个命令里没有指定加密算法和密码输入的参数,openssl默认会生成未加密的PKCS8私钥。你可以自己打开生成的rsa_key.p8文件看看,开头如果是-----BEGIN PRIVATE KEY-----,那就是未加密的;如果是-----BEGIN ENCRYPTED PRIVATE KEY-----才是带加密的状态。

解决方法很简单,只要修改生成密钥的命令,加上加密相关的参数就行,比如用AES-256-CBC加密算法,同时让openssl在生成时提示你输入密码:

openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -v2 aes-256-cbc -passout stdin

运行这个命令时,会让你输入并确认密码,这样生成的私钥就是真正带加密的PKCS8格式了。

之后你再用原来的代码连接Snowflake,就不会再报这个类型错误啦~

备注:内容来源于stack exchange,提问作者Stefano G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 08:43:01