什么是用于JSON Web Encryption的MIME类型?

6

查看RFC 7515RFC 7516,我试图了解JWE的适当MIME类型应该是什么。看起来JWE和JWS共享JOSE头信息,而JWS将其MIME类型定义为application/jose。 JWE没有明确的媒体类型信息。但是由于名称是“jose”,并且两者都使用JOSE头,我认为两者应该使用相同的MIME类型(也因为JOSE代表Signing and Encryption)。

在这种情况下,我如何区分签名和/或加密消息?通过alg属性的值进行区分吗?还是通过enc属性的存在/值进行区分?

总结一下:

  1. “application/jose”是否是用于JWE的MIME类型?如果不是,那应该是什么?
  2. 如果是,如何可靠地区分JWE和JWS消息?

2
RFC7519#section-10.3.1 表明 MIME 类型为 application/jwt - Spomky-Labs
@FlorentMorselli 这是关于JWT的,我的担忧只在JWE和JWS之间。 - Pawel Veselov
1
没有MIME类型来区分JWS和JWE。由接收令牌的服务处理令牌类型(请参见您提到的https://tools.ietf.org/html/rfc7516#section9)。 - Spomky-Labs
无论如何,没有任何阻止您使用自己的 MIME 类型。 - Spomky-Labs
application/jwtapplication/jose有什么区别? - CMCDragonkai
1个回答

3
如果我更加关注原始RFC,我会注意到有一个专门用于这个目的的章节(第9节)。
简而言之,代码应检查payloadciphertextenc属性的存在,或者通过检查alg的值。如果使用紧凑的序列化,请计算句点分隔符的数量。
这也意味着两者的MIME类型相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接