如何在 python gpgme 高级(低级)函数中使用删除密钥?
how to use in python gpgme advanced (low-level) functions to delete a key?
我想从我的密钥库中删除一个密钥,但主模块 (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
函数以删除所述密钥?
我发现 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)
我想从我的密钥库中删除一个密钥,但主模块 (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
函数以删除所述密钥?
我发现 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)