gpt4 book ai didi

digital-signature - 使用 Python 3 进行 pyOpenSSL 签名验证

转载 作者:行者123 更新时间:2023-12-04 07:42:28 26 4
gpt4 key购买 nike

我正在尝试使用 pyOpenSSL 和 Python 3.4.2 验证签名。这是我的代码。

from OpenSSL import crypto

some_byte_string = b'This is a byte string.'
crt = crypto.load_certificate(crypto.FILETYPE_PEM, pem)

# self.signature is a base64 encoded string
crypto.verify(crt, self.signature, some_byte_string, 'sha1')

这会产生以下异常:

verify_result = _lib.EVP_VerifyFinal(md_ctx, signature, len(signature), pkey)
TypeError: initializer for ctype 'unsigned char *' must be a bytes or list or tuple, not str

我也尝试过对“some_byte_string”使用常规字符串,但尝试时出现以下异常:

_lib.EVP_VerifyUpdate(md_ctx, data, len(data))
TypeError: initializer for ctype 'void *' must be a cdata pointer, not str

我看到以前的 SO 问题引用了 unittest for pyOpenSSL verify这似乎是我正在做的事情,尽管显然有些地方不对。

编辑:忘了说我使用的 pyOpenSSL 版本是 pyOpenSSL-0.14-py3.4。

最佳答案

显然这是 0.14 的错误,将在 0.15 中修复。

https://github.com/pyca/pyopenssl/issues/15

关于digital-signature - 使用 Python 3 进行 pyOpenSSL 签名验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28749543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com