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:----LdABZmZ1seboWrGAklemrOQrP8m8odg0ZQSGXhoSYqRPKqHbfDPKd9l3THTPFshxZAPksRLkm/jYZmI9j3OV5REN/fRcQdDP1+ki4DkWZjddZptsLz0/41NDIORfQ3mxkw7rd9vXo1uxiZuSG7Tu8DBiEPaxPghFuQZC2sQqi7FtWxpW5rMaYYh3Virj+FxSRZhXa4XF5bEtCxNeKKtToSi84N8qz5wQ/aNhchOI3VSygkf1UUIHYunZNca34WrHR/tK2OJafjpuE4K4M8JVU2j+MXC4y9AbGj32pMJSlcB4QkaGzH5Ts7DNZsNFk11UkJJ3+UyJg5mrH/5KJBm301rFi6Rf13fIkF7i096zfBMKxZ5IKqO49hjccwQWEzdYkDg8UiJizEGluuoCVUc78P5E53c3GEiJ/gu21vFfiSUYbXFJYA3XyHCEA98erTefnITr2kNYaSgTWj1odX8tP5GuWIeNL/1IzZypkqKKrDmJ4s+q3o9y+mdQp9+/mfVAVACUluNolEC1p5qGq8bzCL0mPMwmUiA9+yxB1SiYadKbvTtNhXNWPAwepskOAamOfF49wDMdd9zF62cyRQHJ8dEUi56+GIPMMvSPHx7e7vJ9H4hnJqVXarAG4vnMKYwHpBJ5Ei1Kc3uxN6iwC/sb5Mv8BPi4ybWh9jNNmrd8WEI=----ATTACHMENT:----Njg2NTM5Njc2NTIxMDA2NiA3OTY4OTgyMDE0MDY5ODgwIDk5MzY2MjgwNzkzNzE3ODQ=