如何在python gpgme高级(低级)函数中删除密钥?

2024-05-17 12:15:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从密钥库中删除一个密钥,但是主模块(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函数提供删除所述密钥的信息呢


Tags: 模块key函数uid密钥deletegpgext
1条回答
网友
1楼 · 发布于 2024-05-17 12:15:29

我发现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)

相关问题 更多 >