public function wrapKey(JWKInterface $key, $cek, array $complete_headers, array &$additional_headers)
{
$this->checkKey($key);
$kek = Base64Url::decode($key->get('k'));
$iv = random_bytes(96 / 8);
$additional_headers['iv'] = Base64Url::encode($iv);
list($encrypted_cek, $tag) = AESGCM::encrypt($kek, $iv, $cek, null);
$additional_headers['tag'] = Base64Url::encode($tag);
return $encrypted_cek;
}