public static function loadSerializedJsonJWE(array $data)
{
$jwe = new JWE();
$jwe = $jwe->withCiphertext(Base64Url::decode($data['ciphertext']));
self::populateIV($jwe, $data);
self::populateAAD($jwe, $data);
self::populateTag($jwe, $data);
self::populateSharedProtectedHeaders($jwe, $data);
self::populateSharedHeaders($jwe, $data);
foreach ($data['recipients'] as $recipient) {
$encrypted_key = self::getRecipientEncryptedKey($recipient);
$recipient_headers = self::getRecipientHeaders($recipient);
$jwe = $jwe->addRecipientWithEncryptedKey($encrypted_key, $recipient_headers);
}
return $jwe;
}