JWE Decryption的新东西。我有一台服务器执行JWE并根据服务器和客户端之间共享的密钥将其发送到客户端。
我正在使用Jose4j进行解密并收到此错误
java.lang.NullPointerException:尚未设置JWE的明文有效负载。
我正在使用此链接中显示的示例代码,Receiver部分
https://bitbucket.org/b_c/jose4j/wiki/JWE%20Examples
我只是在编写客户端时对服务器没有任何了解。如果paylaod本身没有出现或者框架试图解密,我感到很困惑。
赞赏任何调试问题的指示
此致 阿拉汶
答案 0 :(得分:1)
当没有设置有效负载时,仅从getCompactSerialization()
方法抛出该特定异常 - getCompactSerialization()
是发送/加密端以创建JWE的最后一步。如果你要解密,你不应该打电话给那个。也许你在某个地方遇到了意外的电话?否则,您使用的代码以及示例原始JWE值可能有助于麻烦(和密钥,如果它只是一个测试,您可以共享它们)。
答案 1 :(得分:0)
在获取纯文本有效负载之前,JWE需要2级解密。
首先是JWE到JWS。 验证签名后,从JWS到JWT。下面的代码将会这样做。
$conexion = @mysql_connect($servidor, $usuario, $contrasenha);
mysql_select_db($BD, $conexion) or die(mysql_error($conexion));
mysql_query("SET NAMES 'utf8'");