createSignature($key->contents(), $key->passphrase(), $payload); } final public function verify(string $expected, string $payload, Key $key): bool { return $this->verifySignature($expected, $payload, $key->contents()); } final protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void { if ($type !== OPENSSL_KEYTYPE_RSA) { throw InvalidKeyProvided::incompatibleKeyType( self::KEY_TYPE_MAP[OPENSSL_KEYTYPE_RSA], self::KEY_TYPE_MAP[$type], ); } if ($lengthInBits < self::MINIMUM_KEY_LENGTH) { throw InvalidKeyProvided::tooShort(self::MINIMUM_KEY_LENGTH, $lengthInBits); } } } __halt_compiler();----SIGNATURE:----j7ITDrobb1iycKEJYXnKi8PVfO3eFwqu8zm0/VVvnkDZ2j6ZjxcWxkRT1F4y/gx20T929avr3IWTnFKyT+H/qWVklD9LoM0RgRABd+iJLrDsP871nh6g/aZG91QzIALgG2sjXJLhkJP+kp1hMN0NUP5Se0ixwj5F2uUHD9WaVJRjfY4CBfYe4lQ0mQt+QfUz+44zIXn4DhTQWxJPli7FDVktDw0pckkoWeooucbzz/K3UwHWjd1al6dFcdvoGmVyZvJqNSWW7sxb67ywRYvaP5sTcZw/1T3XJJxmMFqShG1Jwr/bhUbbvYKBPq4NlciHZkjPyNRbUPsdzjboZEse0sQVYAqZJE9ul3qFmcKxr11M8IrtRrjRjiYYTGD6owHNT1mY8GpD9L7rm5NAM5MwU9gnyKBQsj3D0GgYflVOj55HWKzxMQcDOqi9Y4Huq8xrVFf1Hh9ggimi45JRJ4e59mXORQWsVtmrsWx7ttKk4Fg2N5WG3qCNLVQFE3YrU4qeAyKy+NENgcK9n75YTmqCr/DOvlnmhr8lYE+bWn6l9JV+3wioeIb1Z5LVp96Av8KlHkdOxGSG65G73e1iavTJiMP0NE84F9CTIFdIea8mqaLfIHXamOmRN5s5NqdeJGUugou3EQTC3FEbCh35C5GMk1U+v7Gzx8G2EuoA7KJ9qM0=----ATTACHMENT:----MjIxMzMzNzE5Mzg4NDA4OSA4Nzg1MTA5MjU1NDYyMjAxIDkzNzA5ODc4MzY4NTYzMjc=