【问题标题】:how to use in python gpgme advanced (low-level) functions to delete a key?如何在 python gpgme 高级(低级)函数中使用删除键?
【发布时间】:2020-12-27 15:17:31
【问题描述】:

我想从我的密钥库中删除一个密钥,但主模块 (gpg) 没有提供任何功能来执行此操作(或者我错过了它)。只是为了撤销密钥 UID,这不是我想要的。

我发现gpgme_op_delete_ext (gpgme_ctx_t ctx, const gpgme_key_t key, unsigned int flags) 函数可以通过gpg.gpgme 模块获得。但我不知道如何使用它,因为我拥有的 GPG 上下文来自主 python 模块,而不是函数所需的“低级”类型。所以我猜这是我从上下文的get_key 函数中获得的密钥。

那么,我怎样才能从主模块转换我的Context 对象和我从中获得的密钥来提供gpgme_op_delete_ext 函数以删除所述密钥?

【问题讨论】:

    标签: python gnupg gpgme


    【解决方案1】:

    我发现 GPG Context 对象有一个 wrapped 属性,这是 gpgme_op_delete_ext 需要的数据类型。而对于键,get_key 返回的对象被函数接受。

    所以我可以这样称呼它:

    context = gpg.Context()
    key = context.get_key(fingerprint)
    gpgme_op_delete_ext(context.wrapped, key, GPGME_DELETE_FORCE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 2017-08-10
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多