使用 ES256 的 OpenSSL 数字签名

使用 ES256 的 OpenSSL 数字签名

我正在尝试为 JSON Web Token 重现一个有效的签名。

我使用以下命令制作私钥:openssl ecparam -genkey -name prime256v1 -noout -out private.pem 还可以使用以下命令将其从 Pem 转换为 P8:openssl pkcs8 -topk8 -nocrypt -in private.pem -out privateKey.p8

未签名的Token,即Base64Url中的header和payload。

如果我的签名是这样的: openssl dgst -sha256 -sign -privateKey.p8 -out 签名.sha256 unsignedToken.txt然后将其转换为 Base64 格式:openssl base64-in 签名.sha256

我没有得到有效的签名,而且有效签名必须是 86 个字符。就我而言,我得到了 96 个字符,并且每个签名都以“ME”开头。

相关内容