ó 9(Zc@sòdZddlZddlZddlmZddlmZddlmZej de ƒde fd „ƒYƒZ ej de ƒd e fd „ƒYƒZ ej de ƒd e fd „ƒYƒZej de ƒde fd„ƒYƒZdS(sfPrimitive structures for use when interacting with crypto material managers. .. versionadded:: 1.3.0 iÿÿÿÿNi(t Algorithm(tROStream(tDataKeythashtEncryptionMaterialsRequestcBsàeZdZejdejjeƒƒZejdejje j ƒƒZ ejdddejj ejjeƒƒƒZejdddejj ejjeƒƒƒZejdddejj ejje j ƒƒƒZRS(s7Request object to provide to a crypto material manager's `get_encryption_materials` method. .. versionadded:: 1.3.0 .. warning:: If plaintext_rostream seek position is modified, it must be returned before leaving method. :param dict encryption_context: Encryption context passed to underlying master key provider and master keys :param int frame_length: Frame length to be used while encrypting stream :param plaintext_rostream: Source plaintext read-only stream (optional) :type plaintext_rostream: aws_encryption_sdk.internal.utils.streams.ROStream :param algorithm: Algorithm passed to underlying master key provider and master keys (optional) :type algorithm: aws_encryption_sdk.identifiers.Algorithm :param int plaintext_length: Length of source plaintext (optional) t validatortdefaultN(t__name__t __module__t__doc__tattrtibt validatorst instance_oftdicttencryption_contexttsixt integer_typest frame_lengthtNonetoptionalRtplaintext_rostreamRt algorithmtplaintext_length(((sZ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/materials_managers/__init__.pyRs! ! ! tEncryptionMaterialscBs¶eZdZejdejjeƒƒZejdejje ƒƒZ ejdejje ƒƒZ ejdejje ƒƒZejdddejjejjeƒƒƒZRS(s¯Encryption materials returned by a crypto material manager's `get_encryption_materials` method. .. versionadded:: 1.3.0 :param algorithm: Algorithm to use for encrypting message :type algorithm: aws_encryption_sdk.identifiers.Algorithm :param data_encryption_key: Plaintext data key to use for encrypting message :type data_encryption_key: aws_encryption_sdk.structures.DataKey :param encrypted_data_keys: List of encrypted data keys :type encrypted_data_keys: list of `aws_encryption_sdk.structures.EncryptedDataKey` :param dict encryption_context: Encryption context tied to `encrypted_data_keys` :param bytes signing_key: Encoded signing key RRN(RRR R R R R RRRtdata_encryption_keytsettencrypted_data_keysRRRRtbytest signing_key(((sZ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/materials_managers/__init__.pyR;s tDecryptionMaterialsRequestcBsheZdZejdejjeƒƒZejdejje ƒƒZ ejdejje ƒƒZ RS(sRequest object to provide to a crypto material manager's `decrypt_materials` method. .. versionadded:: 1.3.0 :param algorithm: Algorithm to provide to master keys for underlying decrypt requests :type algorithm: aws_encryption_sdk.identifiers.Algorithm :param encrypted_data_keys: Set of encrypted data keys :type encrypted_data_keys: set of `aws_encryption_sdk.structures.EncryptedDataKey` :param dict encryption_context: Encryption context to provide to master keys for underlying decrypt requests R( RRR R R R R RRRRRR(((sZ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/materials_managers/__init__.pyRUs tDecryptionMaterialscBs\eZdZejdejjeƒƒZejdddejj ejje ƒƒƒZ RS(s>Decryption materials returned by a crypto material manager's `decrypt_materials` method. .. versionadded:: 1.3.0 :param data_key: Plaintext data key to use with message decryption :type data_key: aws_encryption_sdk.structures.DataKey :param bytes verification_key: Raw signature verification key RRN( RRR R R R R Rtdata_keyRRRtverification_key(((sZ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/materials_managers/__init__.pyRgs   (R R Rt identifiersRtinternal.utils.streamsRt structuresRtstFalsetobjectRRRR(((sZ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/materials_managers/__init__.pyts  !