如何解决如何从 JSON 网络密钥生成 jose4j EllipticCurveJsonWebKey
我能够按照 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 web key 创建 EllipticCurveJsonWebKey 吗?
这是 json 网络密钥:
{
"kty":"EC","d":"648B3L4cIM8oMDPshuo3jeV5nd8XjMp3bVDjMQgXqhE","use":"enc","crv":"P-256","x":"w_UdBacxbKLLMbdvFaHWRK-O-GdnaBkRPtPaCQWcV44","y":"tHYH0m2uHIFNotcTJxwDLyykUtVHHd8XSXlFwyxJXNQ"
}
解决方法
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
参数,该参数应该保密。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。