JWE nimbus-JOSE的真实性与JavaScript对应

问题描述

我偶然发现了这个用于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和该库,

  1. 解密JWE之后,如何验证JWE的真实性? JWE中没有“签名”,那么JWE的5个部分如何帮助检查有效性?库中对此有任何支持吗?
  2. 除了标题和声明以外,JWT中的其他字段是否由库随机生成? (我无法找到明确的证据。)
  3. 如果我使用alg:“ RSA-OAEP”,enc:“ A128GCM”,则每次加密时我都应该得到一个不同的JWE,但是,我得到的是相同的JWE。 RSA-OEAP-256是否应阻止这种情况的发生?加密和解密流程的详细顺序是什么?
  4. 我一直试图在Javascript中找到一个类似的库,但是找不到像nimbus-jose这样的库,它是用于Java的。如果有人有建议,请在下面提供帮助! 我感谢任何可以帮助我查询的人。欢迎所有输入。 :)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)