/**
  * @param string[]                                  $algorithms
  * @param \Jose\Payload\PayloadConverterInterface[] $payload_converters
  * @param string[]                                  $compression_methods
  *
  * @return \Jose\EncrypterInterface
  */
 public static function createEncrypter(array $algorithms, array $payload_converters = [], array $compression_methods = ['DEF'])
 {
     $algorithm_manager = AlgorithmManagerFactory::createAlgorithmManager($algorithms);
     $payload_converter_manager = PayloadConverterFactory::createPayloadConverter($payload_converters);
     $compression_manager = CompressionManagerFactory::createCompressionManager($compression_methods);
     return new Encrypter($algorithm_manager, $payload_converter_manager, $compression_manager);
 }
Beispiel #2
0
 /**
  * Decrypter constructor.
  *
  * @param string[]|\Jose\Algorithm\KeyEncryptionAlgorithmInterface[]     $key_encryption_algorithms
  * @param string[]|\Jose\Algorithm\ContentEncryptionAlgorithmInterface[] $content_encryption_algorithms
  * @param string[]|\Jose\Compression\CompressionInterface[]              $compression_methods
  */
 public function __construct(array $key_encryption_algorithms, array $content_encryption_algorithms, array $compression_methods)
 {
     $this->setKeyEncryptionAlgorithms($key_encryption_algorithms);
     $this->setContentEncryptionAlgorithms($content_encryption_algorithms);
     $this->setCompressionMethods($compression_methods);
     $this->setJWAManager(Factory\AlgorithmManagerFactory::createAlgorithmManager(array_merge($key_encryption_algorithms, $content_encryption_algorithms)));
     $this->setCompressionManager(Factory\CompressionManagerFactory::createCompressionManager($compression_methods));
 }