Python 读取ezPyCrypto中Putty生成的私钥

Python 读取ezPyCrypto中Putty生成的私钥,python,encryption,putty,pycrypto,Python,Encryption,Putty,Pycrypto,我使用Putty密钥生成器创建了一个私钥,名为Putty private.ppk。我可以将此私钥与Pageant和Putty一起使用,以连接到我的主机提供商的服务器 现在,我想用基于xmlrpc的远程API连接到服务器。为此,我安装了许多人建议的易于使用的python加密库。为了测试加密,我编写了以下代码: mypass = "xxx" fd = open("Putty-Private.ppk") pubprivkey = fd.read() fd.close() k = ezPyCrypto.

我使用Putty密钥生成器创建了一个私钥,名为
Putty private.ppk
。我可以将此私钥与Pageant和Putty一起使用,以连接到我的主机提供商的服务器

现在,我想用基于xmlrpc的远程API连接到服务器。为此,我安装了许多人建议的易于使用的python加密库。为了测试加密,我编写了以下代码:

mypass = "xxx"
fd = open("Putty-Private.ppk")
pubprivkey = fd.read()
fd.close()
k = ezPyCrypto.key(pubprivkey, passphrase = mypass)
dec = k.decString(enc)
但是系统在
ezPyCrypto.key(…)
调用中出现以下错误:

CryptoKeyError: Attempted to import invalid key, or passphrase is bad

我确信密码短语是正确的。所以,我想我不能在ezPyCrypto中使用Putty的私钥生成器。是这样吗?这个错误的原因是什么?

扩展名.ppk让我猜测私钥来自puttygen中的“保存私钥”。除了PuTTY本身,几乎任何东西都不支持这种文件格式。我找不到ezPyCrypto期望的私钥格式,但您可能会更幸运地使用puttygen中“转换->导出OpenSSH密钥”生成的私钥文件。

谢谢。这就是我需要知道的。我不知道私钥有不同的格式。