/**
  * @param string[]                                  $algorithms
  * @param \Jose\Payload\PayloadConverterInterface[] $payload_converters
  * @param string[]                                  $compression_methods
  * @param \Jose\Checker\CheckerInterface[]          $checker_managers
  *
  * @return \Jose\DecrypterInterface
  */
 public static function createDecrypter(array $algorithms, array $payload_converters = [], array $compression_methods = ['DEF'], array $checker_managers = [])
 {
     $algorithm_manager = AlgorithmManagerFactory::createAlgorithmManager($algorithms);
     $payload_converter_manager = PayloadConverterFactory::createPayloadConverter($payload_converters);
     $compression_manager = CompressionManagerFactory::createCompressionManager($compression_methods);
     $checker_manager = CheckerManagerFactory::createCheckerManager($checker_managers);
     return new Decrypter($algorithm_manager, $payload_converter_manager, $compression_manager, $checker_manager);
 }
 /**
  * @param string[]                         $algorithms
  * @param \Jose\Checker\CheckerInterface[] $checker_managers
  *
  * @return \Jose\VerifierInterface
  */
 public static function createVerifier(array $algorithms, array $checker_managers = [])
 {
     $algorithm_manager = AlgorithmManagerFactory::createAlgorithmManager($algorithms);
     $checker_manager = CheckerManagerFactory::createCheckerManager($checker_managers);
     return new Verifier($algorithm_manager, $checker_manager);
 }
 /**
  * @param string[] $selected_claim_checkers
  * @param string[] $selected_header_checkers
  *
  * @return \Jose\Checker\CheckerManagerInterface
  */
 public function createChecker(array $selected_claim_checkers, array $selected_header_checkers)
 {
     $claim_checkers = $this->checker_manager->getSelectedClaimChecker($selected_claim_checkers);
     $header_checkers = $this->checker_manager->getSelectedHeaderChecker($selected_header_checkers);
     return CheckerManagerFactory::createClaimCheckerManager($claim_checkers, $header_checkers);
 }