首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >受保护的头JWS

受保护的头JWS
EN

Stack Overflow用户
提问于 2018-10-10 19:43:51
回答 1查看 1.7K关注 0票数 1

我在试着理解这篇关于何塞的博文。在关于JWS的部分中,它说:

在受保护的报头中包含公钥不仅会赋予服务器验证签名的能力,我们还将确保它是正确的,因为受保护的头是完整性保护的!

这就是示例对象的样子:

代码语言:javascript
复制
{
    "payload": "eyAKICAgICAgICAiZnJvbSI6ewogICAgICAgICAgICAibmFtZSI6ICJUaW0gWXNld3luIiwKICAgICAgICAgICAgImFjY291bnQiOiAiQ2hlY2tpbmcgYWNjb3VudCIKICAgICAgICB9LAogICAgICAgICJ0byI6ewogICAgICAgICAgICAibmFtZSI6ICJUaW0gWXNld3luIiwKICAgICAgICAgICAgImFjY291bnQiOiAiU2F2aW5ncyBhY2NvdW50IgogICAgICAgIH0sCiAgICAgICAgImFtb3VudCI6IDI1MAogICAgICAgICJjdXJyZW5jeSI6ICJFVVIiCiAgICB9",
    "protected": "eyAKICAgICAgICAiYWxnIjogIlJTMjU2IgogICAgfQ==",
    "header": {
        "signature": "DtEhU3ljbEg8L38VWAfUAqOyKAM6-Xx-F4GawxaepmXFCgfTjDxw5djxLa8ISlSApmWQxfKTUJqPP3-Kg6NU01Q"
    }
}

受保护的标头是以下的base64url编码:

代码语言:javascript
复制
{ 
    "alg": "ES256"
}

我唯一能找到的用于在其中放置公钥的引用是密钥id字段kid的使用,如下所示:

代码语言:javascript
复制
{"alg":"RSA1_5","kid":"2011-04-29"}

这就是这篇文章所指的吗?或者它指的是其他东西(比如将整个公钥放入受保护的头部,如:

代码语言:javascript
复制
{"alg":"RSA1_5","key":"somepublickeyhere"}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 13:26:39

你走在正确的道路上。本文可能提到的是在"jwk"中定义的RFC-7515头参数,如下所示:

"jwk“(JSON )头参数是对应于用于对JWS进行数字签名的密钥的公钥。此键表示为JSON密钥。

JSON (JWK)是在RFC-7517中定义的JOSE的另一部分。它定义了如何以JSON格式表示加密密钥,以便可以在JWS头中传输它们。JWK格式的RSA密钥可能如下所示:

代码语言:javascript
复制
{
  "kty":"RSA",
  "n": "0vx7 (...) DKgw",
  "e":"AQAB",
  "alg":"RS256",
  "kid":"2011-04-29"
}

因此,如本文所述,带有密钥的(受保护的) JWS头看起来可能如下所示:

代码语言:javascript
复制
{
  "alg": "RS256",
  "jwk": {
    "kty":"RSA",
    "n": "0vx7 (...) DKgw",
    "e":"AQAB",
    "alg":"RS256",
    "kid":"2011-04-29"
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52747701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档