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