在使用JWS JSON序列化的JWS中具有多个签名的用例是什么?

在使用JWS JSON序列化的JWS中具有多个签名的用例是什么?,json,jwt,json-web-signature,Json,Jwt,Json Web Signature,我阅读了可以找到的JSON Web签名规范。规范为JSON Web签名定义了两种序列化表示。一种是JWS紧凑序列化,另一种是JWS JSON序列化方法。JWS JSON序列化表示允许一个人拥有多个签名。使用JWS JSON序列化的JWS示例如下: { "payload": "eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ",

我阅读了可以找到的JSON Web签名规范。规范为JSON Web签名定义了两种序列化表示。一种是JWS紧凑序列化,另一种是JWS JSON序列化方法。JWS JSON序列化表示允许一个人拥有多个签名。使用JWS JSON序列化的JWS示例如下:

{
        "payload": "eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ",
        "signatures": [
            {
                "protected": "eyJhbGciOiJSUzI1NiJ9",
                "header": {
                    "kid": "2010-12-29"
                },
                "signature": "cC4hiUPoj9Eetdgtv3hF80EGrhuB__dzERat0XF9g2VtQgr9PJbu3XOiZj5RZmh7AAuHIm4Bh
                -0Qc_lF5YKt_O8W2Fp5jujGbds9uJdbF9CUAr7t1dnZcAcQjbKBYNX4BAynRFdiuB
                --f_nZLgrnbyTyWzO75vRK5h6xBArLIARNPvkSjtQBMHlb1L07Qe7K0GarZRmB_eSN9383LcOLn6_dO
                --xi12jzDwusC-eOkHWEsqtFZESc6BfI7noOPqvhJ1phCnvWh6IeYI2w9QOYEUipUTI8np6Lbg
                GY9Fs98rqVt5AXLIhWkWywlVmtVrBp0igcN_IoypGlUPQGe77Rw"
            },
            {
                "protected": "eyJhbGciOiJFUzI1NiJ9",
                "header": {
                    "kid": "e9bc097a-ce51-4036-9562-d2ade882db0d"
                },
                "signature": "DtEhU3ljbEg8L38VWAfUAqOyKAM6-Xx-F4GawxaepmXFCgfTjDxw5djxLa8ISlSApmWQxfKTUJqPP3-Kg6NU1Q"
            }
        ]
    }
该规范暗示,有时拥有多个签名是有益的。然而,我想不出一个你需要不止一个的理由

那么,在JWS中拥有多个签名的用例是什么呢?

根据,至少有两个用例:

  • 您可以使用多种签名算法(比如RS256、ES384和PS512)对令牌进行签名。根据受众能力(仅支持ES384算法),它将能够验证令牌

  • 几方同意使用共同的有效载荷。各方使用其密钥对有效负载进行签名,签名合并到单个令牌中


  • 如果你想验证一个JWT并且只有一个签名者的公钥,你仍然可以验证它。1.您可以使用多种签名算法(比如RS256、ES384和PS512)对令牌进行签名。根据受众功能(仅支持ES384算法),它将能够验证令牌。2.几方同意使用共同的有效载荷。每一方都用自己的密钥对有效载荷进行签名,签名被合并成一个令牌。@FlorentMorselli说得通。如果你把它写进一个答案,我会接受的。我刚刚遇到了同样的问题,并回答了它。自从那条评论发布以来,差不多3个月过去了,所以我根据它创建了一个新的网站。我不想要信用卡,我只是想确保这些信息不会丢失。描述了这种方法。