在ezPyCrypto中读取使用Putty生成的私钥

时间:2011-03-01 08:45:02

标签: python encryption putty pycrypto

我使用Putty Key Generator创建了一个名为Putty-Private.ppk的私钥。我可以使用此私钥与Pageant和Putty连接到我的托管服务提供商的服务器。

现在,我想使用基于xmlrpc的远程API连接到服务器。为此,我安装了ezPyCrypto,许多人建议将其作为一个易于使用的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的私钥生成器。是对的吗?这个错误的原因是什么解释?

1 个答案:

答案 0 :(得分:2)

.ppk扩展程序让我猜测私钥来自puttygen中的“保存私钥”。除了PuTTY本身之外,几乎所有东西都不支持这种文件格式。我找不到ezPyCrypto期望的私钥格式,但是你可能会更好地使用puttygen中的“转换 - >导出OpenSSH密钥”制作的私钥文件。