0

我想从我的密钥库中删除一个密钥,但主模块 ( 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删除所述密钥的功能?

4

1 回答 1

0

我发现 GPGContext对象具有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)
于 2020-12-28T08:30:00.650 回答