added predis and eseye back in.
This commit is contained in:
54
vendor/web-token/jwt-encryption/Algorithm/ContentEncryptionAlgorithm.php
vendored
Normal file
54
vendor/web-token/jwt-encryption/Algorithm/ContentEncryptionAlgorithm.php
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<?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\Algorithm;
|
||||
|
||||
use Jose\Component\Core\Algorithm;
|
||||
|
||||
interface ContentEncryptionAlgorithm extends Algorithm
|
||||
{
|
||||
/**
|
||||
* This method encrypts the data using the given CEK, IV, AAD and protected header.
|
||||
* The variable $tag is populated on success.
|
||||
*
|
||||
* @param string $data The data to encrypt
|
||||
* @param string $cek The content encryption key
|
||||
* @param string $iv The Initialization Vector
|
||||
* @param null|string $aad Additional Additional Authenticated Data
|
||||
* @param string $encoded_protected_header The Protected Header encoded in Base64Url
|
||||
* @param string $tag Tag
|
||||
*/
|
||||
public function encryptContent(string $data, string $cek, string $iv, ?string $aad, string $encoded_protected_header, ?string &$tag = null): string;
|
||||
|
||||
/**
|
||||
* This method tries to decrypt the data using the given CEK, IV, AAD, protected header and tag.
|
||||
*
|
||||
* @param string $data The data to decrypt
|
||||
* @param string $cek The content encryption key
|
||||
* @param string $iv The Initialization Vector
|
||||
* @param null|string $aad Additional Additional Authenticated Data
|
||||
* @param string $encoded_protected_header The Protected Header encoded in Base64Url
|
||||
* @param string $tag Tag
|
||||
*/
|
||||
public function decryptContent(string $data, string $cek, string $iv, ?string $aad, string $encoded_protected_header, string $tag): string;
|
||||
|
||||
/**
|
||||
* Returns the size of the IV used by this encryption method.
|
||||
*/
|
||||
public function getIVSize(): int;
|
||||
|
||||
/**
|
||||
* Returns the size of the CEK used by this encryption method.
|
||||
*/
|
||||
public function getCEKSize(): int;
|
||||
}
|
||||
27
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/DirectEncryption.php
vendored
Normal file
27
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/DirectEncryption.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<?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\Algorithm\KeyEncryption;
|
||||
|
||||
use Jose\Component\Core\JWK;
|
||||
use Jose\Component\Encryption\Algorithm\KeyEncryptionAlgorithm;
|
||||
|
||||
interface DirectEncryption extends KeyEncryptionAlgorithm
|
||||
{
|
||||
/**
|
||||
* Returns the CEK.
|
||||
*
|
||||
* @param JWK $key The key used to get the CEK
|
||||
*/
|
||||
public function getCEK(JWK $key): string;
|
||||
}
|
||||
25
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyAgreement.php
vendored
Normal file
25
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyAgreement.php
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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\Algorithm\KeyEncryption;
|
||||
|
||||
use Jose\Component\Core\JWK;
|
||||
use Jose\Component\Encryption\Algorithm\KeyEncryptionAlgorithm;
|
||||
|
||||
interface KeyAgreement extends KeyEncryptionAlgorithm
|
||||
{
|
||||
/**
|
||||
* Computes the agreement key.
|
||||
*/
|
||||
public function getAgreementKey(int $encryptionKeyLength, string $algorithm, JWK $recipientKey, ?JWK $senderKey, array $completeHeader = [], array &$additionalHeaderValues = []): string;
|
||||
}
|
||||
43
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyAgreementWithKeyWrapping.php
vendored
Normal file
43
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyAgreementWithKeyWrapping.php
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
<?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\Algorithm\KeyEncryption;
|
||||
|
||||
use Jose\Component\Core\JWK;
|
||||
use Jose\Component\Encryption\Algorithm\KeyEncryptionAlgorithm;
|
||||
|
||||
interface KeyAgreementWithKeyWrapping extends KeyEncryptionAlgorithm
|
||||
{
|
||||
/**
|
||||
* Compute and wrap the agreement key.
|
||||
*
|
||||
* @param JWK $recipientKey The receiver's key
|
||||
* @param string $cek The CEK to wrap
|
||||
* @param int $encryption_key_length Size of the key expected for the algorithm used for data encryption
|
||||
* @param array $complete_header The complete header of the JWT
|
||||
* @param array $additional_header_values Set additional header values if needed
|
||||
*/
|
||||
public function wrapAgreementKey(JWK $recipientKey, ?JWK $senderKey, string $cek, int $encryption_key_length, array $complete_header, array &$additional_header_values): string;
|
||||
|
||||
/**
|
||||
* Unwrap and compute the agreement key.
|
||||
*
|
||||
* @param JWK $recipientKey The receiver's key
|
||||
* @param string $encrypted_cek The encrypted CEK
|
||||
* @param int $encryption_key_length Size of the key expected for the algorithm used for data encryption
|
||||
* @param array $complete_header The complete header of the JWT
|
||||
*
|
||||
* @return string The decrypted CEK
|
||||
*/
|
||||
public function unwrapAgreementKey(JWK $recipientKey, ?JWK $senderKey, string $encrypted_cek, int $encryption_key_length, array $complete_header): string;
|
||||
}
|
||||
39
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyEncryption.php
vendored
Normal file
39
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyEncryption.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
<?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\Algorithm\KeyEncryption;
|
||||
|
||||
use Jose\Component\Core\JWK;
|
||||
use Jose\Component\Encryption\Algorithm\KeyEncryptionAlgorithm;
|
||||
|
||||
interface KeyEncryption extends KeyEncryptionAlgorithm
|
||||
{
|
||||
/**
|
||||
* Encrypt the CEK.
|
||||
*
|
||||
* @param JWK $key The key used to wrap the CEK
|
||||
* @param string $cek The CEK to encrypt
|
||||
* @param array $completeHeader The complete header of the JWT
|
||||
* @param array $additionalHeader Additional header
|
||||
*/
|
||||
public function encryptKey(JWK $key, string $cek, array $completeHeader, array &$additionalHeader): string;
|
||||
|
||||
/**
|
||||
* Decrypt de CEK.
|
||||
*
|
||||
* @param JWK $key The key used to wrap the CEK
|
||||
* @param string $encrypted_cek The CEK to decrypt
|
||||
* @param array $header The complete header of the JWT
|
||||
*/
|
||||
public function decryptKey(JWK $key, string $encrypted_cek, array $header): string;
|
||||
}
|
||||
39
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyWrapping.php
vendored
Normal file
39
vendor/web-token/jwt-encryption/Algorithm/KeyEncryption/KeyWrapping.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
<?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\Algorithm\KeyEncryption;
|
||||
|
||||
use Jose\Component\Core\JWK;
|
||||
use Jose\Component\Encryption\Algorithm\KeyEncryptionAlgorithm;
|
||||
|
||||
interface KeyWrapping extends KeyEncryptionAlgorithm
|
||||
{
|
||||
/**
|
||||
* Encrypt the CEK.
|
||||
*
|
||||
* @param \Jose\Component\Core\JWK $key The key used to wrap the CEK
|
||||
* @param string $cek The CEK to encrypt
|
||||
* @param array $completeHeader The complete header of the JWT
|
||||
* @param array $additionalHeader The complete header of the JWT
|
||||
*/
|
||||
public function wrapKey(JWK $key, string $cek, array $completeHeader, array &$additionalHeader): string;
|
||||
|
||||
/**
|
||||
* Decrypt de CEK.
|
||||
*
|
||||
* @param \Jose\Component\Core\JWK $key The key used to wrap the CEK
|
||||
* @param string $encrypted_cek The CEK to decrypt
|
||||
* @param array $completeHeader The complete header of the JWT
|
||||
*/
|
||||
public function unwrapKey(JWK $key, string $encrypted_cek, array $completeHeader): string;
|
||||
}
|
||||
32
vendor/web-token/jwt-encryption/Algorithm/KeyEncryptionAlgorithm.php
vendored
Normal file
32
vendor/web-token/jwt-encryption/Algorithm/KeyEncryptionAlgorithm.php
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
<?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\Algorithm;
|
||||
|
||||
use Jose\Component\Core\Algorithm;
|
||||
|
||||
interface KeyEncryptionAlgorithm extends Algorithm
|
||||
{
|
||||
public const MODE_DIRECT = 'dir';
|
||||
|
||||
public const MODE_ENCRYPT = 'enc';
|
||||
|
||||
public const MODE_WRAP = 'wrap';
|
||||
|
||||
public const MODE_AGREEMENT = 'agree';
|
||||
|
||||
/**
|
||||
* Returns the key management mode used by the key encryption algorithm.
|
||||
*/
|
||||
public function getKeyManagementMode(): string;
|
||||
}
|
||||
Reference in New Issue
Block a user