__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Aws\Crypto;
use Aws\Crypto\Cipher\CipherMethod;
use GuzzleHttp\Psr7\Stream;
/**
* @internal
*/
abstract class AbstractCryptoClientV2
{
public static $supportedCiphers = ['gcm'];
public static $supportedKeyWraps = [
KmsMaterialsProviderV2::WRAP_ALGORITHM_NAME
];
public static $supportedSecurityProfiles = ['V2', 'V2_AND_LEGACY'];
public static $legacySecurityProfiles = ['V2_AND_LEGACY'];
/**
* Returns if the passed cipher name is supported for encryption by the SDK.
*
* @param string $cipherName The name of a cipher to verify is registered.
*
* @return bool If the cipher passed is in our supported list.
*/
public static function isSupportedCipher($cipherName)
{
return in_array($cipherName, self::$supportedCiphers, true);
}
/**
* Returns an identifier recognizable by `openssl_*` functions, such as
* `aes-256-gcm`
*
* @param string $cipherName Name of the cipher being used for encrypting
* or decrypting.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return string
*/
abstract protected function getCipherOpenSslName($cipherName, $keySize);
/**
* Constructs a CipherMethod for the given name, initialized with the other
* data passed for use in encrypting or decrypting.
*
* @param string $cipherName Name of the cipher to generate for encrypting.
* @param string $iv Base Initialization Vector for the cipher.
* @param int $keySize Size of the encryption key, in bits, that will be
* used.
*
* @return CipherMethod
*
* @internal
*/
abstract protected function buildCipherMethod($cipherName, $iv, $keySize);
/**
* Performs a reverse lookup to get the openssl_* cipher name from the
* AESName passed in from the MetadataEnvelope.
*
* @param $aesName
*
* @return string
*
* @internal
*/
abstract protected function getCipherFromAesName($aesName);
/**
* Dependency to provide an interface for building an encryption stream for
* data given cipher details, metadata, and materials to do so.
*
* @param Stream $plaintext Plain-text data to be encrypted using the
* materials, algorithm, and data provided.
* @param array $options Options for use in encryption.
* @param MaterialsProviderV2 $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be added to.
*
* @return AesStreamInterface
*
* @internal
*/
abstract public function encrypt(
Stream $plaintext,
array $options,
MaterialsProviderV2 $provider,
MetadataEnvelope $envelope
);
/**
* Dependency to provide an interface for building a decryption stream for
* cipher text given metadata and materials to do so.
*
* @param string $cipherText Plain-text data to be decrypted using the
* materials, algorithm, and data provided.
* @param MaterialsProviderInterface $provider A provider to supply and encrypt
* materials used in encryption.
* @param MetadataEnvelope $envelope A storage envelope for encryption
* metadata to be read from.
* @param array $options Options used for decryption.
*
* @return AesStreamInterface
*
* @internal
*/
abstract public function decrypt(
$cipherText,
MaterialsProviderInterfaceV2 $provider,
MetadataEnvelope $envelope,
array $options = []
);
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Cipher | Folder | 0777 |
|
|
| Polyfill | Folder | 0777 |
|
|
| AbstractCryptoClient.php | File | 3.99 KB | 0777 |
|
| AbstractCryptoClientV2.php | File | 3.88 KB | 0777 |
|
| AesDecryptingStream.php | File | 3.51 KB | 0777 |
|
| AesEncryptingStream.php | File | 3.68 KB | 0777 |
|
| AesGcmDecryptingStream.php | File | 2.7 KB | 0777 |
|
| AesGcmEncryptingStream.php | File | 2.89 KB | 0777 |
|
| AesStreamInterface.php | File | 656 B | 0777 |
|
| AesStreamInterfaceV2.php | File | 728 B | 0777 |
|
| DecryptionTrait.php | File | 5.96 KB | 0777 |
|
| DecryptionTraitV2.php | File | 9.04 KB | 0777 |
|
| EncryptionTrait.php | File | 6.92 KB | 0777 |
|
| EncryptionTraitV2.php | File | 7.1 KB | 0777 |
|
| KmsMaterialsProvider.php | File | 3.9 KB | 0777 |
|
| KmsMaterialsProviderV2.php | File | 3.43 KB | 0777 |
|
| MaterialsProvider.php | File | 3.23 KB | 0777 |
|
| MaterialsProviderInterface.php | File | 1.81 KB | 0777 |
|
| MaterialsProviderInterfaceV2.php | File | 1.67 KB | 0777 |
|
| MaterialsProviderV2.php | File | 2.01 KB | 0777 |
|
| MetadataEnvelope.php | File | 1.64 KB | 0777 |
|
| MetadataStrategyInterface.php | File | 996 B | 0777 |
|