登录
首页 >  Golang >  Go问答

在 Go 中使用 AWS 密钥生成 JWT 签名

来源:stackoverflow

时间:2024-03-20 15:27:28 343浏览 收藏

在 Go 中使用 AWS 密钥生成 JWT 签名时,需要指定签名方法的名称、散列算法、曲线比特数和密钥大小。其中,名称的值会被忽略,散列算法使用 crypto.SHA512,曲线比特数为 521,密钥大小为 66。

问题内容

我生成了 ecc_nist_p521 规范密钥,它使用 ecdsa_sha_512 签名算法。我正在尝试创建一个 jwt.signingmethod 考虑到这一点,但我不确定该字段使用哪些值。这是我到目前为止所拥有的:

signingMethod := jwt.SigningMethodECDSA {
    Name: "ECC_NIST_P521",
    Hash: crypto.SHA512,
}

具体来说,我不确定名称是否正确,也不知道 keysizecurvebits 字段使用什么。任何帮助将不胜感激。


正确答案


您需要指定 hashcurvebitskeysizename 的值被忽略:

signingMethod := jwt.SigningMethodECDSA{
        Name:      "ECC_NIST_P521",
        Hash:      crypto.SHA512,
        CurveBits: 521,
        KeySize:   66,
    }

521 位 - 曲线字段的大小。

66 - 适合曲线上点的紧凑表示的字节数。

签名和验证签名的完整示例:https://go.dev/play/p/bEnLN2PJv4a

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>