summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php')
-rw-r--r--vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php b/vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php
new file mode 100644
index 0000000..265af1a
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/Crypto/MaterialsProviderInterfaceV2.php
@@ -0,0 +1,53 @@
+<?php
+namespace Aws\Crypto;
+
+interface MaterialsProviderInterfaceV2
+{
+ /**
+ * Returns if the requested size is supported by AES.
+ *
+ * @param int $keySize Size of the requested key in bits.
+ *
+ * @return bool
+ */
+ public static function isSupportedKeySize($keySize);
+
+ /**
+ * Returns the wrap algorithm name for this Provider.
+ *
+ * @return string
+ */
+ public function getWrapAlgorithmName();
+
+ /**
+ * Takes an encrypted content encryption key (CEK) and material description
+ * for use decrypting the key according to the Provider's specifications.
+ *
+ * @param string $encryptedCek Encrypted key to be decrypted by the Provider
+ * for use decrypting other data.
+ * @param string $materialDescription Material Description for use in
+ * decrypting the CEK.
+ * @param array $options Options for use in decrypting the CEK.
+ *
+ * @return string
+ */
+ public function decryptCek($encryptedCek, $materialDescription, $options);
+
+ /**
+ * @param string $keySize Length of a cipher key in bits for generating a
+ * random content encryption key (CEK).
+ * @param array $context Context map needed for key encryption
+ * @param array $options Additional options to be used in CEK generation
+ *
+ * @return array
+ */
+ public function generateCek($keySize, $context, $options);
+
+ /**
+ * @param string $openSslName Cipher OpenSSL name to use for generating
+ * an initialization vector.
+ *
+ * @return string
+ */
+ public function generateIv($openSslName);
+}