问题描述
我偶然发现了这个用于Java nimbus-JOSE的出色库,可以使用JSON Web加密。该库很简单,只需几行即可进行JWE加密和解密,如下所示显示了JWE加密。
EncryptedJWT jwt = new EncryptedJWT(header,builder.build());
RSAEncrypter encrypter = new RSAEncrypter((RSAPublicKey) keyProvider.getDefaultPublicKey());
try {
jwt.encrypt(encrypter);
} catch (JOSEException e) {
throw new RuntimeException("Failed to generate encrypted token",e);
return jwt.serialize();
但是,即使阅读了它的javadocs和文档,我也对该库有一些疑问。关于JWE和该库,
- 解密JWE之后,如何验证JWE的真实性? JWE中没有“签名”,那么JWE的5个部分如何帮助检查有效性?库中对此有任何支持吗?
- 除了标题和声明以外,JWT中的其他字段是否由库随机生成? (我无法找到明确的证据。)
- 如果我使用alg:“ RSA-OAEP”,enc:“ A128GCM”,则每次加密时我都应该得到一个不同的JWE,但是,我得到的是相同的JWE。 RSA-OEAP-256是否应阻止这种情况的发生?加密和解密流程的详细顺序是什么?
- 我一直试图在Javascript中找到一个类似的库,但是找不到像nimbus-jose这样的库,它是用于Java的。如果有人有建议,请在下面提供帮助! 我感谢任何可以帮助我查询的人。欢迎所有输入。 :)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)