httpSignatureService = new HttpSignatureService(); } private static function getRequest() { $request = Request::create( 'https://example.com/foo', Request::METHOD_POST, array( 'param' => 'value', 'pet' => 'dog' ), array(), array(), array(), '{"hello": "world"}' ); $request->headers->set( 'host', 'example.com' ); $request->headers->set( 'content-type', 'application/json' ); $request->headers->set( 'digest', 'SHA-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=' ); $request->headers->set( 'content-length', 18 ); $request->headers->set( 'date', 'Sun, 05 Jan 2014 21:31:40 GMT' ); return $request; } public function testItVerifies() { $request = self::getRequest(); $authHeader = 'Signature keyId="Test",algorithm="rsa-sha256",signature="SjWJWbWN7i0wzBvtPl8rbASWz5xQW6mcJmn+ibttBqtifLN7Sazz6m79cNfwwb8DMJ5cou1s7uEGKKCs+FLEEaDV5lp7q25WqS+lavg7T8hc0GppauB6hbgEKTwblDHYGEtbGmtdHgVCk9SuS13F0hZ8FD0k/5OxEPXe5WozsbM="'; $request->headers->set( 'authorization', $authHeader ); $verified = $this->httpSignatureService->verify( $request, self::PUBLIC_KEY ); $this->assertTrue( $verified ); } } ?>