首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jose4j生成JWK时使用私钥生成JWK

使用jose4j生成JWK时使用私钥生成JWK
EN

Stack Overflow用户
提问于 2022-07-21 16:01:56
回答 1查看 232关注 0票数 0

我试图使用我的私钥生成JWK,同时使用jose4j库使用前面提到的JWK生成JWE。但是生成的键似乎不正确,也没有所有字段(只生成n、e和kty get,预期字段为kty、n、e、d、p、q、dp、dq、qi)。有什么建议吗?

我使用以下代码:

代码语言:javascript
复制
byte[] decoded = Base64.decodeBase64(privateKeyString);
    PrivateKey privateKey =
        KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded));
    KeyFactory kf = KeyFactory.getInstance("RSA");
    RSAPrivateKeySpec privKeySpec = kf.getKeySpec(privateKey, RSAPrivateKeySpec.class);
    RSAPublicKeySpec pubKeySpec =
        new RSAPublicKeySpec(privKeySpec.getModulus(), privKeySpec.getPrivateExponent());
    RSAPublicKey pubKey = (RSAPublicKey) kf.generatePublic(pubKeySpec);
    RsaJsonWebKey jwkp = (RsaJsonWebKey) PublicJsonWebKey.Factory.newPublicJwk(pubKey);
    jwkp.setPrivateKey(privateKey);
    jwkp.toJson(JsonWebKey.OutputControlLevel.PUBLIC_ONLY);
EN

回答 1

Stack Overflow用户

发布于 2022-07-22 19:52:29

需要在包含私钥字段的JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE调用中显式地使用toJson(...)。这是具体的。其他的-- p,q,dp,dq,qi --如果是RSAPrivateCrtKey,就会在那里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73069380

复制
相关文章

相似问题

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