【问题标题】:How to generate jose4j EllipticCurveJsonWebKey from JSON web key如何从 JSON 网络密钥生成 jose4j EllipticCurveJsonWebKey
【发布时间】:2021-03-20 00:17:50
【问题描述】:

我可以按照https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples 创建 JWE。 问题:无法使用 json web key 创建 JWE(EC 类型如下所述)。

要求:创建并验证以下 JWE 类型

  "typ": "JWT",
  "alg": "ECDH-ES+A256KW",
  "enc": "A128CBC-HS256",

我想避开EcJwkGenerator.generateJwk(EllipticCurves.P256);

EllipticCurveJsonWebKey senderJwk = EcJwkGenerator.generateJwk(EllipticCurves.P256);
    

我可以从 json 网络密钥创建 EllipticCurveJsonWebKey 吗?

这里是 json 网络密钥:

{
  "kty":"EC",
  "d":"648B3L4cIM8oMDPshuo3jeV5nd8XjMp3bVDjMQgXqhE",
  "use":"enc",
  "crv":"P-256",
  "x":"w_UdBacxbKLLMbdvFaHWRK-O-GdnaBkRPtPaCQWcV44",
  "y":"tHYH0m2uHIFNotcTJxwDLyykUtVHHd8XSXlFwyxJXNQ"
}

【问题讨论】:

    标签: jwe jose4j


    【解决方案1】:

    https://bitbucket.org/b_c/jose4j/wiki/JWS%20Examples#markdown-header-using-the-rfc-7797-jws-unencoded-payload-option的第一件事有这个例子:

        // The public/private key pair for this example as a JWK
        PublicJsonWebKey jwk = PublicJsonWebKey.Factory.newPublicJwk("{" +
                "  \"kty\": \"EC\"," +
                "  \"d\": \"Tk7qzHNnSBMioAU7NwZ9JugFWmWbUCyzeBRjVcTp_so\"," +
                "  \"use\": \"sig\"," +
                "  \"crv\": \"P-256\"," +
                "  \"kid\": \"example\"," +
                "  \"x\": \"qqeGjWmYZU5M5bBrRw1zqZcbPunoFVxsfaa9JdA0R5I\"," +
                "  \"y\": \"wnoj0YjheNP80XYh1SEvz1-wnKByEoHvb6KrDcjMuWc\"" +
                "}"); 
    

    我希望您发布的 JWK 只是一个示例。它有私钥,d 参数,应该是保密的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 2015-10-25
      • 2021-01-06
      • 2021-08-27
      • 1970-01-01
      • 2021-05-12
      • 2017-08-04
      • 1970-01-01
      相关资源
      最近更新 更多