/** * @param string $input * @param \Jose\Object\JWKSetInterface $jwk_set * @param array $allowed_algorithms * @param string|null $detached_payload * @param null|int $signature_index * * @return \Jose\Object\JWSInterface */ private function loadAndVerifySignature($input, Object\JWKSetInterface $jwk_set, array $allowed_algorithms, $detached_payload = null, &$signature_index = null) { $jwt = $this->load($input); Assertion::isInstanceOf($jwt, Object\JWSInterface::class, 'The input is not a valid JWS.'); $verifier = Verifier::createVerifier($allowed_algorithms); $verifier->verifyWithKeySet($jwt, $jwk_set, $detached_payload, $signature_index); return $jwt; }
/** * @param string[] $selected_algorithms * * @return \Jose\VerifierInterface */ public function createVerifier(array $selected_algorithms) { $algorithms = $this->algorithm_manager->getSelectedAlgorithmMethods($selected_algorithms); return Verifier::createVerifier($algorithms); }