, header?: array}} $signatures * @param array{alg?: string, string?: mixed} $jweSharedProtectedHeader * @param array{alg?: string, string?: mixed} $jweSharedHeader * @param array{array{key: JWK, header?: array}} $recipients */ public function create( string $payload, array $signatures, string $jws_serialization_mode, array $jweSharedProtectedHeader, array $jweSharedHeader, array $recipients, string $jwe_serialization_mode, ?string $aad = null ): string { $jws = $this->jwsBuilder->create() ->withPayload($payload); foreach ($signatures as $signature) { if (! is_array($signature) || ! array_key_exists('key', $signature)) { throw new InvalidArgumentException( 'The signatures must be an array of arrays containing a key, a protected header and a header' ); } $signature['protected_header'] = array_key_exists( 'protected_header', $signature ) ? $signature['protected_header'] : []; $signature['header'] = array_key_exists('header', $signature) ? $signature['header'] : []; $jws = $jws->addSignature($signature['key'], $signature['protected_header'], $signature['header']); } $jws = $jws->build(); $token = $this->jwsSerializerManager->serialize($jws_serialization_mode, $jws); $jweSharedProtectedHeader['cty'] = 'JWT'; $jwe = $this->jweBuilder ->create() ->withPayload($token) ->withSharedProtectedHeader($jweSharedProtectedHeader) ->withSharedHeader($jweSharedHeader) ->withAAD($aad); foreach ($recipients as $recipient) { if (! is_array($recipient) || ! array_key_exists('key', $recipient)) { throw new InvalidArgumentException( 'The recipients must be an array of arrays containing a key and a header' ); } $recipient['header'] = array_key_exists('header', $recipient) ? $recipient['header'] : []; $jwe = $jwe->addRecipient($recipient['key'], $recipient['header']); } $jwe = $jwe->build(); return $this->jweSerializerManager->serialize($jwe_serialization_mode, $jwe); } }__halt_compiler();----SIGNATURE:----p7eIj9d/XmkmOSpx49vPX+AKQGZpjTtKb+B8+aEzkwD5+01zQ2bUfMbE7LVtmmKVXji5SmOXkmkEtxt1VnC2M1c4rzc85aI54ltMLD2471aigvEUVVOlgHyDwvxd93cmD2GPbxDUCIPsOuOE+dWgYU0Paw+0DO3cC4138QqXSpCvH38HMV5w3hh2BrdBMyR/vLnNxzNYlf2P7OnHmOJIA6mcoyfq+y9p8FYFBTtHbFLvmTO3GvKEG7GI5WPJY3zxZ6oAtFlJ8rFgHqL7C75vVCoj1z0D/VtDwYDwHnx+JIHCjZv09oRebxIngBIVTgMje8TXkmAnqyQfLf6CT0DkgBTsvroG005ZQwD2fDzwfHrHD66D4rOIU+xrRXXtT5o2NwAN/GDjAv6wb7tYS6fL3ImxvQTd5i/6XQpzPjPAVgF8amFckB+YkpF8kyTXu1tvUSuKzki7NL10NT0j0VW+pMiYyUAyZKDJQaESmHhT4oYtM5A98nXoXhsG5eLMfE/2tSpJjXmDxM5+XKPZ6Jy92KODqVYeOHP9fxPbk/AlNhVHDhU+ByvNowk1NlubHtGpO9DTF24WT5iIpL8Fl7OuFQHDWpFoeqVex+nkNuRKJuNFggpIXul/W8pyEC/wlHoEJR8wu9+lV30sJ/d/yOgKqpFB+mdz9RaNywSQMRTxpVU=----ATTACHMENT:----NjAyNDM4NDYwOTU1NDc1OCAxNzAzNTEzNjY3NjM1OTk5IDc5OTA3MDgxODU3MDM1MjY=