Python + GPG(编辑密钥更改密码)

2 投票
2 回答
1187 浏览
提问于 2025-04-15 21:22

我在找一个可以用来更改我的密钥密码的gpg Python库。 我看过python-gnupg,但里面没有这个功能 :( 有没有人能帮帮我呢?如果可以的话,我希望能看到一些文档里的例子。

2 个回答

0

Python的gnupg模块已经有一个方法(GPG._handle_io),可以用来调用gpg命令,传入输入内容并解析输出。这可能会解决一些可移植性的问题。

gpg = gnupg.GPG()
result = gnupg.Verify(gpg)
gpg._handle_io(['--command-fd', '0', '--edit-key', keyname], StringIO(u'\n'.join(commands)), result)

commands是你在编辑密钥模式下要执行的命令序列。需要注意的是,在--no-tty模式下,有些命令的行为会稍微不同,比如save命令会要求你确认,通常需要输入y来表示同意。

result是一个任意的gpg类,只是用来捕获输出。你可以在result.stderr中查看机器可读的输出。

0

跨平台的解决方案比较复杂,但这里有一个可能的解决办法:http://groups.google.com/group/python-gnupg/browse_thread/thread/93ea0b195097ccb1

撰写回答