added predis and eseye back in.

This commit is contained in:
2020-12-25 11:28:41 +00:00
parent 0ddd298350
commit 017f72b42e
670 changed files with 60992 additions and 10 deletions

View File

@@ -0,0 +1,55 @@
<?php
declare(strict_types=1);
/*
* The MIT License (MIT)
*
* Copyright (c) 2014-2020 Spomky-Labs
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
namespace Jose\Component\Encryption;
use Jose\Component\Core\AlgorithmManagerFactory;
use Jose\Component\Encryption\Compression\CompressionMethodManagerFactory;
class JWEBuilderFactory
{
/**
* @var AlgorithmManagerFactory
*/
private $algorithmManagerFactory;
/**
* @var CompressionMethodManagerFactory
*/
private $compressionMethodManagerFactory;
/**
* JWEBuilderFactory constructor.
*/
public function __construct(AlgorithmManagerFactory $algorithmManagerFactory, CompressionMethodManagerFactory $compressionMethodManagerFactory)
{
$this->algorithmManagerFactory = $algorithmManagerFactory;
$this->compressionMethodManagerFactory = $compressionMethodManagerFactory;
}
/**
* Creates a JWE Builder object using the given key encryption algorithms, content encryption algorithms and compression methods.
*
* @param string[] $keyEncryptionAlgorithms
* @param string[] $contentEncryptionAlgorithm
* @param string[] $compressionMethods
*/
public function create(array $keyEncryptionAlgorithms, array $contentEncryptionAlgorithm, array $compressionMethods): JWEBuilder
{
$keyEncryptionAlgorithmManager = $this->algorithmManagerFactory->create($keyEncryptionAlgorithms);
$contentEncryptionAlgorithmManager = $this->algorithmManagerFactory->create($contentEncryptionAlgorithm);
$compressionMethodManager = $this->compressionMethodManagerFactory->create($compressionMethods);
return new JWEBuilder($keyEncryptionAlgorithmManager, $contentEncryptionAlgorithmManager, $compressionMethodManager);
}
}