【问题标题】:How to get gpg-agent to ask for passphrase when generating keys with GPGME?使用 GPGME 生成密钥时如何让 gpg-agent 询问密码?
【发布时间】:2013-07-05 15:23:51
【问题描述】:

我正在使用 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 命令,但我想知道是否有更好的解决方案。

【问题讨论】:

    标签: python gpgme


    【解决方案1】:

    终于明白了。该请求需要“%ask-passphrase”控制语句。

    key_params = dedent("""
        <GnupgKeyParms format="internal">
          %%ask-passphrase
          Key-Type: RSA
          Key-Length: 2048
          Name-Real: Jim Joe
          Expire-Date: 0
        </GnupgKeyParms>
    """)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2018-07-20
      • 1970-01-01
      • 2016-05-29
      • 2018-07-01
      • 2022-08-10
      • 1970-01-01
      相关资源
      最近更新 更多