ruạṛ
a ���f# � @ sx d dl Z d dlZd dlmZmZmZmZ d dlmZm Z dZ dZdZdZ dZd Zd ZdZdZd ZdZdd� Zdd� ZdS )� N)�convert_to_bytes�convert_to_str�&convert_bytes_to_base64_encoded_string�&convert_base64_encoded_string_to_bytes)�EncryptedDataHeader�$EncryptedDataHeaderDataEncryptionKey� ZencryptedContentFormatZencryptedDataKeysZivZalgorithmIdZadditionalAuthenticatedDataZmasterKeyIdZvaultIdZencryptedDataKey�regionz>HI{json_metadata_length}sc C s� g }| j D ]*}|�t|jt|jtt|j�t |j i� q t| jt |tt| j�t| jtt| j�i}t�|�}tjt|�d�}t�|tt|�t|��}|S )N)�json_metadata_length)�encrypted_data_keys�append� ENCRYPTED_DATA_KEY_MASTER_KEY_ID� master_key_id�ENCRYPTED_DATA_KEY_VAULT_ID�vault_id�%ENCRYPTED_DATA_KEY_ENCRYPTED_DATA_KEYr �encrypted_data_key_bytes�ENCRYPTED_DATA_KEY_REGIONr �%METADATA_KEY_ENCRYPTED_CONTENT_FORMATZencrypted_content_format� METADATA_KEY_ENCRYPTED_DATA_KEYS�METADATA_KEY_IV�iv_bytes�METADATA_KEY_ALGORITHM_ID�algorithm_id�*METADATA_KEY_ADDITIONAL_AUTHENTICATED_DATAr �#additional_authenticated_data_bytes�json�dumps�STRUCT_HEADER_FORMAT�format�len�struct�pack�SERIALIZATION_FORMAT_VERSIONr )Zencrypted_data_headerr Zencrypted_data_key�metadataZjson_header_as_stringZ header_formatZ packed_header� r% �I/usr/lib/python3.9/site-packages/oci/encryption/internal/serialization.py�serialize_header* s@ ������ ��r'