微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法使用 nimbus 库文件创建预期的 JWE 令牌

如何解决我无法使用 nimbus 库文件创建预期的 JWE 令牌

我正在使用 java 代码通过 nimbus jar 文件生成 JWE 令牌,但我无法生成预期的标头 JWE 令牌,请你们帮我在这里生成预期的令牌。

static String  PUBLIC_KEY ="askjdbaskjbdjkasbkjdbaskjbdasjkbdkjsabdjkaskjdbaskjdbaskjbd";
public static void main(){
    JSONObject obj = new JSONObject();
        obj.put("typ","JWT");
        obj.put("cty","JWT");
        obj.put("enc","A128CBC-HS256");
        obj.put("alg","RSA-OAEP");
    
        
//      JWEHeader head = (JWEHeader) Header.parse(JSON);
        JWEHeader header = JWEHeader.parse(obj);
        System.out.println(header.getContentType());
        JWEObject jwe = new JWEObject(header,new Payload("Hello,world!"));
        EncryptionMethod enc = EncryptionMethod.A128CBC_HS256;
        KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
        keyGenerator.init(enc.cekBitLength());
        SecretKey cek = keyGenerator.generateKey();
            jwe.encrypt(new RSAEncrypter(getPublicKey(PUBLIC_KEY),cek));
            String jweString = jwe.serialize();
            System.out.println(jweString);
}

当我生成令牌时,我得到这样的令牌:

eyJjdHkiOiJKV1QiLCJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVaifQ.ITv2i07ctBtWR8T6D63yyHE7QXIw5paeYpLYYGjN2wx9Pq5IBiYxWJBNoynZyCSC-MSFiTl55EOs1mB1qCjz0z2f25DFsnDocHJ7xNfmL5_slRCpdJX-InTcVm4NSnU2iVxaxAP5ODFrlJIgLCqICMq0MaAT8wSXAkaoVJx6MH9MRmhJzsdxcvoZaj5lu83HSL_FEveVvXt4Bk3Zq9DipVPlcbog5t1I8We8tscMW6QsOM47xxIQxmQscHOkufFkMCQOUi-LwFu4k7f6vIcASc3jbJ9VwGCPehIef0PjwQPxiO7W8tmKjcIeAF6ytYUC2nEPUwpsMZVNIaGcNPSU-w.22YugdfNWVlHWJS3OR8aiQ.S1anurm9Dim2-lV5QbNvAA.Dvfn31gFhqKbkoU3ZVGNXQ 

但是标题是这样生成的,但我不希望 JWE 令牌中出现这种类型的标题

eyJjdHkiOiJKV1QiLCJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVaifQ

我想使用上面的java代码生成这样的标题

eyJ0eXAiOiJKV1QiLCJjdHkiOiJKV1QiLCJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhDQkMtSFMyNTYifQ

你们能帮我在这里生成像上面那样的标题吗。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。