0

我想使用 ECDSA-NIST-P256V1-SHA256 算法验证 Github 消息。我有消息、签名、GitHub 公钥。

这是当前代码:

from ecdsa import SigningKey, NIST256p
import ecdsa


# Github transmit values:
message = '[{"token":"some_token","type":"some_type","url":"some_url"}]'
sig = "MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc="


# Github public key
public_key = '-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9MJJHnMfn2+H4xL4YaPDA4RpJqUq\nkCmRCBnYERxZanmcpzQSXs1X/AljlKkbJ8qpVIW4clayyef9gWhFbNHWAA==\n-----END PUBLIC KEY-----\n'


vk = ecdsa.VerifyingKey.from_string(public_key.encode(), curve=ecdsa.NIST256p, hashfunc=sha256)
vk.verify(sig.encode(), message)

我有错误:

ecdsa.errors.MalformedPointError:字符串长度与曲线的任何启用(压缩、混合、原始、未压缩)编码的长度不匹配。

4

0 回答 0