getSignature($signatureIndex); $data = []; $encodedPayload = $jws->getEncodedPayload(); if ($encodedPayload !== null && $encodedPayload !== '') { $data['payload'] = $encodedPayload; } $encodedProtectedHeader = $signature->getEncodedProtectedHeader(); if ($encodedProtectedHeader !== null && $encodedProtectedHeader !== '') { $data['protected'] = $encodedProtectedHeader; } $header = $signature->getHeader(); if (count($header) !== 0) { $data['header'] = $header; } $data['signature'] = Base64UrlSafe::encodeUnpadded($signature->getSignature()); return JsonConverter::encode($data); } public function unserialize(string $input): JWS { $data = JsonConverter::decode($input); if (! is_array($data)) { throw new InvalidArgumentException('Unsupported input.'); } if (! isset($data['signature'])) { throw new InvalidArgumentException('Unsupported input.'); } $signature = Base64UrlSafe::decodeNoPadding($data['signature']); if (isset($data['protected'])) { $encodedProtectedHeader = $data['protected']; $protectedHeader = JsonConverter::decode(Base64UrlSafe::decodeNoPadding($data['protected'])); if (! is_array($protectedHeader)) { throw new InvalidArgumentException('Bad protected header.'); } } else { $encodedProtectedHeader = null; $protectedHeader = []; } if (isset($data['header'])) { if (! is_array($data['header'])) { throw new InvalidArgumentException('Bad header.'); } $header = $data['header']; } else { $header = []; } if (isset($data['payload'])) { $encodedPayload = $data['payload']; $payload = $this->isPayloadEncoded($protectedHeader) ? Base64UrlSafe::decodeNoPadding( $encodedPayload ) : $encodedPayload; } else { $payload = null; $encodedPayload = null; } $jws = new JWS($payload, $encodedPayload, $encodedPayload === null); return $jws->addSignature($signature, $protectedHeader, $encodedProtectedHeader, $header); } }__halt_compiler();----SIGNATURE:----fv+EaVf9Phd2hyAXdE83nRtiy+sbtbG+Q25QGnOzCZwZhn0i/7sOjlcpsQFBB8L2kvmc1GcEYvo0de369rruRc4TJJRYFNIsHg/s9leek5Rbai49ICIl3H4xuWQh6nSIPqCuUy3HyatxTEocGpi/KDlG7icrp+W+LmOFsizKKthm15Vhaq5dtcudkEM09AMSYKxwNJnHxS/38LEMzIBiqLLm8zOe8PpEgSgsdnOtSK6H/7MtCQpb6xYAcSJHEEbWcQx5SS9E3dnUNPajDM0H/ubhKo128AVBY2OvXfxG4ExcFaJF0V3/aL1cWXrktmAcJTUtu8q3wciW8YEXaRTWfXvlUgOikp1jZt5+XbtFyxRsxA5x711LqrQNpO7yncivloXerqbSR9hJsYFrnP6UJCJU01AScwg4LR+tFFdkuIuIndIKIDODHiFNnmFA0nVvGiORH61/FhsYuMUaASmR6Ul3nW/CiowcgppG1MIDvPEbuovLYK9g+U2qmqU+OK2jmRdiQ/Mx1gcm9xyCvCSAEGqBomDREyU0VUqZsq2vRzQf6fHFL8vTaJ0bqMPQTBsv0e/8scIn/nLz1w8y0x+QnbC2+4z4xbbcrdG+R4qMVXIY9ZdCjhRyDZQ5byBWSeE/PQRcnS/DaaBt8tG+MH06MyFcxsCRxJgUKWImnuy+fUM=----ATTACHMENT:----MjY5MzExNTc4Mzg2NTc5OSA4MTkzNTUxNjYyMDk4ODk3IDc3MDY3NDE3Nzk1ODg0NDA=