我正在使用 pygpgme 生成密钥,效果很好,但我必须像这样向 gpgme 提供密码:
key_params = dedent("""
<GnupgKeyParms format="internal">
Key-Type: RSA
Key-Length: 2048
Name-Real: Jim Joe
Passphrase: secret passphrase
Expire-Date: 0
</GnupgKeyParms>
""")
ctx = gpgme.Context()
result = ctx.genkey(key_params)
出于安全原因,我宁愿永远不知道密码,而是让 gpg-agent 为用户提供一个对话框。
当我使用 pygpgme 解密或使用 gpg 命令行工具生成密钥时,密码短语对话框按预期弹出。
一种解决方案是将 gpg 命令与子进程一起使用,但我想知道是否有更好的解决方案。