diff --git a/tests/src/Util/HTTPSignatureTest.php b/tests/src/Util/HTTPSignatureTest.php new file mode 100644 index 0000000000..ba2f6ebbf2 --- /dev/null +++ b/tests/src/Util/HTTPSignatureTest.php @@ -0,0 +1,55 @@ +. + * + */ + +namespace Friendica\Test\src\Util; + +use Friendica\Util\HTTPSignature; +use PHPUnit\Framework\TestCase; + +/** + * HTTP Signature utility test class + */ +class HTTPSignatureTest extends TestCase +{ + public function testParseSigheader() + { + $header = 'keyId="test-key-a", algorithm="hs2019", + created=1402170695, + headers="(request-target) (created) host date content-type digest + content-length", + signature="KXUj1H3ZOhv3Nk4xlRLTn4bOMlMOmFiud3VXrMa9MaLCxnVmrqOX5B + ulRvB65YW/wQp0oT/nNQpXgOYeY8ovmHlpkRyz5buNDqoOpRsCpLGxsIJ9cX8 + XVsM9jy+Q1+RIlD9wfWoPHhqhoXt35ZkasuIDPF/AETuObs9QydlsqONwbK+T + dQguDK/8Va1Pocl6wK1uLwqcXlxhPEb55EmdYB9pddDyHTADING7K4qMwof2m + C3t8Pb0yoLZoZX5a4Or4FrCCKK/9BHAhq/RsVk0dTENMbTB4i7cHvKQu+o9xu + YWuxyvBa0Z6NdOb0di70cdrSDEsL5Gz7LBY5J2N9KdGg=="'; + + $headers = HTTPSignature::parseSigheader($header); + $this->assertSame([ + 'keyId' => 'test-key-a', + 'algorithm' => 'hs2019', + 'created' => '1402170695', + 'expires' => null, + 'headers' => ['(request-target)', '(created)', 'host', 'date', 'content-type', 'digest', 'content-length'], + 'signature' => base64_decode('KXUj1H3ZOhv3Nk4xlRLTn4bOMlMOmFiud3VXrMa9MaLCxnVmrqOX5BulRvB65YW/wQp0oT/nNQpXgOYeY8ovmHlpkRyz5buNDqoOpRsCpLGxsIJ9cX8XVsM9jy+Q1+RIlD9wfWoPHhqhoXt35ZkasuIDPF/AETuObs9QydlsqONwbK+TdQguDK/8Va1Pocl6wK1uLwqcXlxhPEb55EmdYB9pddDyHTADING7K4qMwof2mC3t8Pb0yoLZoZX5a4Or4FrCCKK/9BHAhq/RsVk0dTENMbTB4i7cHvKQu+o9xuYWuxyvBa0Z6NdOb0di70cdrSDEsL5Gz7LBY5J2N9KdGg=='), + ], $headers); + } +}