diff --git a/sdk/storage/azure-storage-blob/CHANGELOG.md b/sdk/storage/azure-storage-blob/CHANGELOG.md index 918a1ee9d0ca..abc0a7529683 100644 --- a/sdk/storage/azure-storage-blob/CHANGELOG.md +++ b/sdk/storage/azure-storage-blob/CHANGELOG.md @@ -4,6 +4,10 @@ ### Features Added - Added support for service version 2021-08-06. +- Added a new version of client-side encryption for blobs (version 2.0) which utilizes AES-GCM-256 encryption. +If you are currently using client-side encryption, it is **highly recommended** to switch to a form of server-side +encryption (Customer-Provided Key, Encryption Scope, etc.) or version 2.0 of client-side encryption. The encryption +version can be specified on any client constructor via the `encryption_version` keyword (`encryption_version='2.0'`). ## 12.12.0 (2022-05-09) diff --git a/sdk/storage/azure-storage-blob/README.md b/sdk/storage/azure-storage-blob/README.md index 9c86d57dcf7c..ee70d64d139e 100644 --- a/sdk/storage/azure-storage-blob/README.md +++ b/sdk/storage/azure-storage-blob/README.md @@ -331,6 +331,8 @@ Defaults to `False`. Use the following keyword arguments when instantiating a client to configure encryption: * __require_encryption__ (bool): If set to True, will enforce that objects are encrypted and decrypt them. +* __encryption_version__ (str): Specifies the version of encryption to use. Current options are `'2.0'` or `'1.0'` and +the default value is `'1.0'`. Version 1.0 is deprecated, and it is **highly recommended** to use version 2.0. * __key_encryption_key__ (object): The user-provided key-encryption-key. The instance must implement the following methods: - `wrap_key(key)`--wraps the specified key using an algorithm of the user's choice. - `get_key_wrap_algorithm()`--returns the algorithm used to wrap the specified symmetric key. diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py index 16b5d8b1aeff..7522aebd9f91 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_client.py @@ -355,11 +355,14 @@ def _upload_blob_options( # pylint:disable=too-many-statements raise ValueError("Encryption required but no key was provided.") encryption_options = { 'required': self.require_encryption, + 'version': self.encryption_version, 'key': self.key_encryption_key, 'resolver': self.key_resolver_function, } if self.key_encryption_key is not None: - cek, iv, encryption_data = generate_blob_encryption_data(self.key_encryption_key) + cek, iv, encryption_data = generate_blob_encryption_data( + self.key_encryption_key, + self.encryption_version) encryption_options['cek'] = cek encryption_options['vector'] = iv encryption_options['data'] = encryption_data @@ -422,6 +425,8 @@ def _upload_blob_options( # pylint:disable=too-many-statements kwargs['client'] = self._client.block_blob kwargs['data'] = data elif blob_type == BlobType.PageBlob: + if self.encryption_version == '2.0' and (self.require_encryption or self.key_encryption_key is not None): + raise ValueError("Encryption version 2.0 does not currently support page blobs.") kwargs['client'] = self._client.page_blob elif blob_type == BlobType.AppendBlob: if self.require_encryption or (self.key_encryption_key is not None): @@ -4126,5 +4131,5 @@ def _get_container_client(self): # pylint: disable=client-method-missing-kwargs "{}://{}".format(self.scheme, self.primary_hostname), container_name=self.container_name, credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_service_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_service_client.py index fe0369073417..9c2651638204 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_service_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_blob_service_client.py @@ -683,8 +683,8 @@ def get_container_client(self, container): self.url, container_name=container_name, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) def get_blob_client( self, container, # type: Union[ContainerProperties, str] @@ -736,5 +736,5 @@ def get_blob_client( self.url, container_name=container_name, blob_name=blob_name, snapshot=snapshot, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py index 0c4c4022f0eb..d31047d2f6d6 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_container_client.py @@ -323,7 +323,7 @@ def _rename_container(self, new_name, **kwargs): """ lease = kwargs.pop('lease', None) try: - kwargs['source_lease_id'] = lease.id # type: str + kwargs['source_lease_id'] = lease.id except AttributeError: kwargs['source_lease_id'] = lease try: @@ -331,8 +331,8 @@ def _rename_container(self, new_name, **kwargs): "{}://{}".format(self.scheme, self.primary_hostname), container_name=new_name, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=self._pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) renamed_container._client.container.rename(self.container_name, **kwargs) # pylint: disable = protected-access return renamed_container except HttpResponseError as error: @@ -619,8 +619,8 @@ def _get_blob_service_client(self): # pylint: disable=client-method-missing-kwa "{}://{}".format(self.scheme, self.primary_hostname), credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, _location_mode=self._location_mode, _hosts=self._hosts, require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function, - _pipeline=_pipeline) + encryption_version=self.encryption_version, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, _pipeline=_pipeline) @distributed_trace def get_container_access_policy(self, **kwargs): @@ -1608,5 +1608,5 @@ def get_blob_client( self.url, container_name=self.container_name, blob_name=blob_name, snapshot=snapshot, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py index b1215b01c956..4e47ed9095cf 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py @@ -16,31 +16,26 @@ from azure.core.exceptions import HttpResponseError, ServiceResponseError from azure.core.tracing.common import with_current_context -from ._shared.encryption import decrypt_blob +from ._shared.encryption import ( + adjust_blob_size_for_encryption, + decrypt_blob, + get_adjusted_download_range_and_offset, + is_encryption_v2, + parse_encryption_data +) from ._shared.request_handlers import validate_and_format_range_headers from ._shared.response_handlers import process_storage_error, parse_length_from_content_range -from ._deserialize import get_page_ranges_result +from ._deserialize import deserialize_blob_properties, get_page_ranges_result -def process_range_and_offset(start_range, end_range, length, encryption): +def process_range_and_offset(start_range, end_range, length, encryption_options, encryption_data): start_offset, end_offset = 0, 0 - if encryption.get("key") is not None or encryption.get("resolver") is not None: - if start_range is not None: - # Align the start of the range along a 16 byte block - start_offset = start_range % 16 - start_range -= start_offset - - # Include an extra 16 bytes for the IV if necessary - # Because of the previous offsetting, start_range will always - # be a multiple of 16. - if start_range > 0: - start_offset += 16 - start_range -= 16 - - if length is not None: - # Align the end of the range along a 16 byte block - end_offset = 15 - (end_range % 16) - end_range += end_offset + if encryption_options.get("key") is not None or encryption_options.get("resolver") is not None: + return get_adjusted_download_range_and_offset( + start_range, + end_range, + length, + encryption_data) return (start_range, end_range), (start_offset, end_offset) @@ -81,6 +76,7 @@ def __init__( parallel=None, validate_content=None, encryption_options=None, + encryption_data=None, progress_hook=None, **kwargs ): @@ -108,6 +104,7 @@ def __init__( # Encryption self.encryption_options = encryption_options + self.encryption_data = encryption_data # Parameters for each get operation self.validate_content = validate_content @@ -183,7 +180,7 @@ def _do_optimize(self, given_range_start, given_range_end): def _download_chunk(self, chunk_start, chunk_end): download_range, offset = process_range_and_offset( - chunk_start, chunk_end, chunk_end, self.encryption_options + chunk_start, chunk_end, chunk_end, self.encryption_options, self.encryption_data ) # No need to download the empty chunk from server if there's no data in the chunk to be downloaded. @@ -335,6 +332,10 @@ def __init__( self._file_size = None self._non_empty_ranges = None self._response = None + self._encryption_data = None + + if self._encryption_options.get("key") is not None or self._encryption_options.get("resolver") is not None: + self._get_encryption_data_request() # The service only provides transactional MD5s for chunks under 4MB. # If validate_content is on, get only self.MAX_CHUNK_GET_SIZE for the first @@ -349,7 +350,11 @@ def __init__( initial_request_end = initial_request_start + self._first_get_size - 1 self._initial_range, self._initial_offset = process_range_and_offset( - initial_request_start, initial_request_end, self._end_range, self._encryption_options + initial_request_start, + initial_request_end, + self._end_range, + self._encryption_options, + self._encryption_data ) self._response = self._initial_request() @@ -376,6 +381,21 @@ def __init__( def __len__(self): return self.size + def _get_encryption_data_request(self): + # Save current request cls + download_cls = self._request_options.pop('cls', None) + # Adjust cls for get_properties + self._request_options['cls'] = deserialize_blob_properties + + properties = self._clients.blob.get_properties(**self._request_options) + # This will return None if there is no encryption metadata or there are parsing errors. + # That is acceptable here, the proper error will be caught and surfaced when attempting + # to decrypt the blob. + self._encryption_data = parse_encryption_data(properties.metadata) + + # Restore cls for download + self._request_options['cls'] = download_cls + def _initial_request(self): range_header, range_validation = validate_and_format_range_headers( self._initial_range[0], @@ -405,6 +425,9 @@ def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) + # Remove any extra encryption data size from blob size + self._file_size = adjust_blob_size_for_encryption(self._file_size, self._encryption_data) + if self._end_range is not None: # Use the end range index unless it is over the end of the file self.size = min(self._file_size, self._end_range - self._start_range + 1) @@ -465,7 +488,8 @@ def _initial_request(self): # If the file is small, the download is complete at this point. # If file size is large, download the rest of the file in chunks. - if response.properties.size != self.size: + # Use less than here for encryption. + if response.properties.size < self.size: if self._request_options.get("modified_access_conditions"): self._request_options["modified_access_conditions"].if_match = response.properties.etag else: @@ -494,18 +518,25 @@ def chunks(self): if self._end_range is not None: # Use the end range index unless it is over the end of the file data_end = min(self._file_size, self._end_range + 1) + + data_start = self._initial_range[1] + 1 # Start where the first download ended + # For encryption V2 only, adjust start to the end of the fetched data rather than download size + if is_encryption_v2(self._encryption_data): + data_start = (self._start_range or 0) + len(self._current_content) + iter_downloader = _ChunkDownloader( client=self._clients.blob, non_empty_ranges=self._non_empty_ranges, total_size=self.size, chunk_size=self._config.max_chunk_get_size, current_progress=self._first_get_size, - start_range=self._initial_range[1] + 1, # start where the first download ended + start_range=data_start, end_range=data_end, stream=None, parallel=False, validate_content=self._validate_content, encryption_options=self._encryption_options, + encryption_data=self._encryption_data, use_location=self._location_mode, **self._request_options ) @@ -599,18 +630,24 @@ def readinto(self, stream): # Use the length unless it is over the end of the file data_end = min(self._file_size, self._end_range + 1) + data_start = self._initial_range[1] + 1 # Start where the first download ended + # For encryption V2 only, adjust start to the end of the fetched data rather than download size + if is_encryption_v2(self._encryption_data): + data_start = (self._start_range or 0) + len(self._current_content) + downloader = _ChunkDownloader( client=self._clients.blob, non_empty_ranges=self._non_empty_ranges, total_size=self.size, chunk_size=self._config.max_chunk_get_size, current_progress=self._first_get_size, - start_range=self._initial_range[1] + 1, # Start where the first download ended + start_range=data_start, end_range=data_end, stream=stream, parallel=parallel, validate_content=self._validate_content, encryption_options=self._encryption_options, + encryption_data=self._encryption_data, use_location=self._location_mode, progress_hook=self._progress_hook, **self._request_options diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client.py index 0d14b68e06c9..60d1d775f9db 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/base_client.py @@ -5,6 +5,7 @@ # -------------------------------------------------------------------------- import logging import uuid +import warnings from typing import ( # pylint: disable=unused-import Optional, Any, @@ -105,8 +106,15 @@ def __init__( self._hosts = {LocationMode.PRIMARY: primary_hostname, LocationMode.SECONDARY: secondary_hostname} self.require_encryption = kwargs.get("require_encryption", False) + self.encryption_version = kwargs.get("encryption_version", "1.0") self.key_encryption_key = kwargs.get("key_encryption_key") self.key_resolver_function = kwargs.get("key_resolver_function") + if self.key_encryption_key and self.encryption_version == '1.0': + warnings.warn("This client has been configured to use encryption with version 1.0. \ + Version 1.0 is deprecated and no longer considered secure. It is highly \ + recommended that you switch to using version 2.0. The version can be \ + specified using the 'encryption_version' keyword.") + self._config, self._pipeline = self._create_pipeline(self.credential, storage_sdk=service, **kwargs) def __enter__(self): diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/encryption.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/encryption.py index 62607cc0cf85..0e46796b2ff3 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/encryption.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/encryption.py @@ -5,15 +5,19 @@ # -------------------------------------------------------------------------- import os -from os import urandom +import math +import sys +from collections import OrderedDict +from io import BytesIO from json import ( dumps, loads, ) -from collections import OrderedDict +from typing import Any, BinaryIO, Dict, Optional, Tuple from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 @@ -25,6 +29,11 @@ _ENCRYPTION_PROTOCOL_V1 = '1.0' +_ENCRYPTION_PROTOCOL_V2 = '2.0' +_GCM_REGION_DATA_LENGTH = 4 * 1024 * 1024 +_GCM_NONCE_LENGTH = 12 +_GCM_TAG_LENGTH = 16 + _ERROR_OBJECT_INVALID = \ '{0} does not define a complete interface. Value of {1} is either missing or invalid.' @@ -49,6 +58,7 @@ class _EncryptionAlgorithm(object): Specifies which client encryption algorithm is used. ''' AES_CBC_256 = 'AES_CBC_256' + AES_GCM_256 = 'AES_GCM_256' class _WrappedContentKey: @@ -75,6 +85,30 @@ def __init__(self, algorithm, encrypted_key, key_id): self.key_id = key_id +class _EncryptedRegionInfo: + ''' + Represents the length of encryption elements. + This is only used for Encryption V2. + ''' + + def __init__(self, data_length, nonce_length, tag_length): + ''' + :param int data_length: + The length of the encryption region data (not including nonce + tag). + :param str nonce_length: + The length of nonce used when encrypting. + :param int tag_length: + The length of the encryption tag. + ''' + _validate_not_none('data_length', data_length) + _validate_not_none('nonce_length', nonce_length) + _validate_not_none('tag_length', tag_length) + + self.data_length = data_length + self.nonce_length = nonce_length + self.tag_length = tag_length + + class _EncryptionAgent: ''' Represents the encryption agent stored on the service. @@ -101,11 +135,20 @@ class _EncryptionData: Represents the encryption data that is stored on the service. ''' - def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, - key_wrapping_metadata): + def __init__( + self, + content_encryption_IV, + encrypted_region_info, + encryption_agent, + wrapped_content_key, + key_wrapping_metadata): ''' - :param bytes content_encryption_IV: + :param Optional[bytes] content_encryption_IV: The content encryption initialization vector. + Required for AES-CBC (V1). + :param Optional[_EncryptedRegionInfo] encrypted_region_info: + The info about the autenticated block sizes. + Required for AES-GCM (V2). :param _EncryptionAgent encryption_agent: The encryption agent. :param _WrappedContentKey wrapped_content_key: @@ -115,28 +158,253 @@ def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, A dict containing metadata related to the key wrapping. ''' - _validate_not_none('content_encryption_IV', content_encryption_IV) _validate_not_none('encryption_agent', encryption_agent) _validate_not_none('wrapped_content_key', wrapped_content_key) + # Validate we have the right matching optional parameter for the specified algorithm + if encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_CBC_256: + _validate_not_none('content_encryption_IV', content_encryption_IV) + elif encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_GCM_256: + _validate_not_none('encrypted_region_info', encrypted_region_info) + else: + raise ValueError("Invalid encryption algorithm.") + self.content_encryption_IV = content_encryption_IV + self.encrypted_region_info = encrypted_region_info self.encryption_agent = encryption_agent self.wrapped_content_key = wrapped_content_key self.key_wrapping_metadata = key_wrapping_metadata -def _generate_encryption_data_dict(kek, cek, iv): +class GCMBlobEncryptionStream: + """ + A stream that performs AES-GCM encryption on the given data as + it's streamed. Data is read and encrypted in regions. The stream + will use the same encryption key and will generate a guaranteed unique + nonce for each encryption region. + """ + def __init__( + self, + content_encryption_key: bytes, + data_stream: BinaryIO, + ): + """ + :param bytes content_encryption_key: The encryption key to use. + :param BinaryIO data_stream: The data stream to read data from. + """ + self.content_encryption_key = content_encryption_key + self.data_stream = data_stream + + self.offset = 0 + self.current = b'' + self.nonce_counter = 0 + + def read(self, size: int = -1) -> bytes: + """ + Read data from the stream. Specify -1 to read all available data. + + :param int size: The amount of data to read. Defaults to -1 for all data. + """ + result = BytesIO() + remaining = sys.maxsize if size == -1 else size + + while remaining > 0: + # Start by reading from current + if len(self.current) > 0: + read = min(remaining, len(self.current)) + result.write(self.current[:read]) + + self.current = self.current[read:] + self.offset += read + remaining -= read + + if remaining > 0: + # Read one region of data and encrypt it + data = self.data_stream.read(_GCM_REGION_DATA_LENGTH) + if len(data) == 0: + # No more data to read + break + + self.current = self._encrypt_region(data) + + return result.getvalue() + + def _encrypt_region(self, data: bytes) -> bytes: + """ + Encrypt the given region of data using AES-GCM. The result + includes the data in the form: nonce + ciphertext + tag. + + :param bytes data: The data to encrypt. + """ + # Each region MUST use a different nonce + nonce = self.nonce_counter.to_bytes(_GCM_NONCE_LENGTH, 'big') + self.nonce_counter += 1 + + aesgcm = AESGCM(self.content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, data, None) + return nonce + cipertext_with_tag + + +def is_encryption_v2(encryption_data: Optional[_EncryptionData]) -> bool: + """ + Determine whether the given encryption data signifies version 2.0. + + :param Optional[_EncryptionData] encryption_data: The encryption data. Will return False if this is None. + """ + # If encryption_data is None, assume no encryption + return encryption_data and encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2 + + +def get_adjusted_upload_size(length: int, encryption_version: str) -> int: + """ + Get the adjusted size of the blob upload which accounts for + extra encryption data (padding OR nonce + tag). + + :param int length: The plaintext data length. + :param str encryption_version: The version of encryption being used. + """ + if encryption_version == _ENCRYPTION_PROTOCOL_V1: + return length + (16 - (length % 16)) + + if encryption_version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_length = _GCM_NONCE_LENGTH + _GCM_TAG_LENGTH + regions = math.ceil(length / _GCM_REGION_DATA_LENGTH) + return length + (regions * encryption_data_length) + + raise ValueError("Invalid encryption version specified.") + + +def get_adjusted_download_range_and_offset( + start: int, + end: int, + length: int, + encryption_data: Optional[_EncryptionData]) -> Tuple[Tuple[int, int], Tuple[int, int]]: + """ + Gets the new download range and offsets into the decrypted data for + the given user-specified range. The new download range will include all + the data needed to decrypt the user-provided range and will include only + full encryption regions. + + The offsets returned will be the offsets needed to fetch the user-requested + data out of the full decrypted data. The end offset is different based on the + encryption version. For V1, the end offset is offset from the end whereas for + V2, the end offset is the ending index into the stream. + V1: decrypted_data[start_offset : len(decrypted_data) - end_offset] + V2: decrypted_data[start_offset : end_offset] + + :param int start: The user-requested start index. + :param int end: The user-requested end index. + :param int length: The user-requested length. Only used for V1. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + :return: (new start, new end), (start offset, end offset) + """ + start_offset, end_offset = 0, 0 + if encryption_data is None: + return (start, end), (start_offset, end_offset) + + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if start is not None: + # Align the start of the range along a 16 byte block + start_offset = start % 16 + start -= start_offset + + # Include an extra 16 bytes for the IV if necessary + # Because of the previous offsetting, start_range will always + # be a multiple of 16. + if start > 0: + start_offset += 16 + start -= 16 + + if length is not None: + # Align the end of the range along a 16 byte block + end_offset = 15 - (end % 16) + end += end_offset + + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + start_offset, end_offset = 0, end + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + requested_length = end - start + + if start is not None: + # Find which data region the start is in + region_num = start // data_length + # The start of the data region is different from the start of the encryption region + data_start = region_num * data_length + region_start = region_num * region_length + # Offset is based on data region + start_offset = start - data_start + # New start is the start of the encryption region + start = region_start + + if end is not None: + # Find which data region the end is in + region_num = end // data_length + end_offset = start_offset + requested_length + 1 + # New end is the end of the encryption region + end = (region_num * region_length) + region_length - 1 + + return (start, end), (start_offset, end_offset) + + +def parse_encryption_data(metadata: Dict[str, Any]) -> Optional[_EncryptionData]: + """ + Parses the encryption data out of the given blob metadata. If metadata does + not exist or there are parsing errors, this function will just return None. + + :param Dict[str, Any] metadata: The blob metadata parsed from the response. + """ + try: + return _dict_to_encryption_data(loads(metadata['encryptiondata'])) + except: # pylint: disable=bare-except + return None + + +def adjust_blob_size_for_encryption(size: int, encryption_data: Optional[_EncryptionData]) -> int: + """ + Adjusts the given blob size for encryption by subtracting the size of + the encryption data (nonce + tag). This only has an affect for encryption V2. + + :param int size: The original blob size. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + """ + if is_encryption_v2(encryption_data): + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + num_regions = math.ceil(size / region_length) + metadata_size = num_regions * (nonce_length + tag_length) + return size - metadata_size + + return size + + +def _generate_encryption_data_dict(kek, cek, iv, version): ''' Generates and returns the encryption metadata as a dict. :param object kek: The key encryption key. See calling functions for more information. :param bytes cek: The content encryption key. - :param bytes iv: The initialization vector. + :param Optional[bytes] iv: The initialization vector. Only required for AES-CBC. + :param str version: The client encryption version used. :return: A dict containing all the encryption metadata. :rtype: dict ''' # Encrypt the cek. - wrapped_cek = kek.wrap_key(cek) + if version == _ENCRYPTION_PROTOCOL_V1: + wrapped_cek = kek.wrap_key(cek) + # For V2, we include the encryption version in the wrapped key. + elif version == _ENCRYPTION_PROTOCOL_V2: + # We must pad the version to 8 bytes for AES Keywrap algorithms + to_wrap = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek + wrapped_cek = kek.wrap_key(to_wrap) # Build the encryption_data dict. # Use OrderedDict to comply with Java's ordering requirement. @@ -146,13 +414,25 @@ def _generate_encryption_data_dict(kek, cek, iv): wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() encryption_agent = OrderedDict() - encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 - encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + encryption_agent['Protocol'] = version + + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_GCM_256 + + encrypted_region_info = OrderedDict() + encrypted_region_info['DataLength'] = _GCM_REGION_DATA_LENGTH + encrypted_region_info['NonceLength'] = _GCM_NONCE_LENGTH encryption_data_dict = OrderedDict() encryption_data_dict['WrappedContentKey'] = wrapped_content_key encryption_data_dict['EncryptionAgent'] = encryption_agent - encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_dict['EncryptedRegionInfo'] = encrypted_region_info encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} return encryption_data_dict @@ -169,7 +449,8 @@ def _dict_to_encryption_data(encryption_data_dict): :rtype: _EncryptionData ''' try: - if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + protocol = encryption_data_dict['EncryptionAgent']['Protocol'] + if protocol not in [_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2]: raise ValueError("Unsupported encryption version.") except KeyError: raise ValueError("Unsupported encryption version.") @@ -187,7 +468,21 @@ def _dict_to_encryption_data(encryption_data_dict): else: key_wrapping_metadata = None - encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + # AES-CBC only + encryption_iv = None + if 'ContentEncryptionIV' in encryption_data_dict: + encryption_iv = decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']) + + # AES-GCM only + region_info = None + if 'EncryptedRegionInfo' in encryption_data_dict: + encrypted_region_info = encryption_data_dict['EncryptedRegionInfo'] + region_info = _EncryptedRegionInfo(encrypted_region_info['DataLength'], + encrypted_region_info['NonceLength'], + _GCM_TAG_LENGTH) + + encryption_data = _EncryptionData(encryption_iv, + region_info, encryption_agent, wrapped_content_key, key_wrapping_metadata) @@ -227,11 +522,15 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol :rtype: bytes[] ''' - _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) - if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: - raise ValueError('Encryption version is not supported.') + # Validate we have the right info for the specified version + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + _validate_not_none('encrypted_region_info', encryption_data.encrypted_region_info) + else: + raise ValueError('Specified encryption version is not supported.') content_encryption_key = None @@ -249,6 +548,18 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol # Will throw an exception if the specified algorithm is not supported. content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, encryption_data.wrapped_content_key.algorithm) + + # For V2, the version is included with the cek. We need to validate it + # and remove it from the actual cek. + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + version_2_bytes = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek_version_bytes = content_encryption_key[:len(version_2_bytes)] + if cek_version_bytes != version_2_bytes: + raise ValueError('The encryption metadata is not valid and may have been modified.') + + # Remove version from the start of the cek. + content_encryption_key = content_encryption_key[len(version_2_bytes):] + _validate_not_none('content_encryption_key', content_encryption_key) return content_encryption_key @@ -279,26 +590,44 @@ def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver _validate_not_none('message', message) content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) - if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: - raise ValueError('Specified encryption algorithm is not supported.') + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if not encryption_data.content_encryption_IV: + raise ValueError("Missing required metadata for decryption.") - cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) - # decrypt data - decrypted_data = message - decryptor = cipher.decryptor() - decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) - # unpad data - unpadder = PKCS7(128).unpadder() - decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + block_info = encryption_data.encrypted_region_info + if not block_info or not block_info.nonce_length: + raise ValueError("Missing required metadata for decryption.") + + nonce_length = encryption_data.encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + else: + raise ValueError('Specified encryption version is not supported.') return decrypted_data -def encrypt_blob(blob, key_encryption_key): +def encrypt_blob(blob, key_encryption_key, version): ''' - Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Encrypts the given blob using the given encryption protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encryption metadata. This method should only be used when a blob is small enough for single shot upload. Encrypting larger blobs @@ -311,6 +640,7 @@ def encrypt_blob(blob, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. :rtype: (str, bytes) ''' @@ -319,70 +649,104 @@ def encrypt_blob(blob, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(blob) + padder.finalize() + data = BytesIO(blob) + encryption_stream = GCMBlobEncryptionStream(content_encryption_key, data) + + encrypted_data = encryption_stream.read() + + else: + raise ValueError("Invalid encryption version specified.") - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, version) encryption_data['EncryptionMode'] = 'FullBlob' return dumps(encryption_data), encrypted_data -def generate_blob_encryption_data(key_encryption_key): +def generate_blob_encryption_data(key_encryption_key, version): ''' Generates the encryption_metadata for the blob. - :param bytes key_encryption_key: + :param object key_encryption_key: The key-encryption-key used to wrap the cek associate with this blob. + :param str version: The client encryption version to use. :return: A tuple containing the cek and iv for this blob as well as the serialized encryption metadata for the blob. - :rtype: (bytes, bytes, str) + :rtype: (bytes, Optional[bytes], str) ''' encryption_data = None content_encryption_key = None initialization_vector = None if key_encryption_key: _validate_key_encryption_key_wrap(key_encryption_key) - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + content_encryption_key = os.urandom(32) + # Initialization vector only needed for V1 + if version == _ENCRYPTION_PROTOCOL_V1: + initialization_vector = os.urandom(16) encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, + version) encryption_data['EncryptionMode'] = 'FullBlob' encryption_data = dumps(encryption_data) return content_encryption_key, initialization_vector, encryption_data -def decrypt_blob(require_encryption, key_encryption_key, key_resolver, - content, start_offset, end_offset, response_headers): - ''' +def decrypt_blob( # pylint: disable=too-many-locals,too-many-statements + require_encryption, + key_encryption_key, + key_resolver, + content, + start_offset, + end_offset, + response_headers): + """ Decrypts the given blob contents and returns only the requested range. :param bool require_encryption: - Whether or not the calling blob service requires objects to be decrypted. + Whether the calling blob service requires objects to be decrypted. :param object key_encryption_key: The user-provided key-encryption-key. Must implement the following methods: wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. - :param key_resolver(kid): + :param object key_resolver: The user-provided key resolver. Uses the kid string to return a key-encryption-key implementing the interface defined above. + :param bytes content: + The encrypted blob content. + :param int start_offset: + The adjusted offset from the beginning of the *decrypted* content for the caller's data. + :param int end_offset: + The adjusted offset from the end of the *decrypted* content for the caller's data. + :param Dict[str, Any] response_headers: + A dictionary of response headers from the download request. Expected to include the + 'x-ms-meta-encryptiondata' header if the blob was encrypted. :return: The decrypted blob content. :rtype: bytes - ''' + """ try: encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) except: # pylint: disable=bare-except @@ -393,51 +757,87 @@ def decrypt_blob(require_encryption, key_encryption_key, key_resolver, return content - if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + algorithm = encryption_data.encryption_agent.encryption_algorithm + if algorithm not in(_EncryptionAlgorithm.AES_CBC_256, _EncryptionAlgorithm.AES_GCM_256): raise ValueError('Specified encryption algorithm is not supported.') - blob_type = response_headers['x-ms-blob-type'] - - iv = None - unpad = False - if 'content-range' in response_headers: - content_range = response_headers['content-range'] - # Format: 'bytes x-y/size' + version = encryption_data.encryption_agent.protocol + if version not in (_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2): + raise ValueError('Specified encryption version is not supported.') - # Ignore the word 'bytes' - content_range = content_range.split(' ') + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - content_range = content_range[1].split('-') - content_range = content_range[1].split('/') - end_range = int(content_range[0]) - blob_size = int(content_range[1]) + if version == _ENCRYPTION_PROTOCOL_V1: + blob_type = response_headers['x-ms-blob-type'] - if start_offset >= 16: - iv = content[:16] - content = content[16:] - start_offset -= 16 + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True else: + unpad = True iv = encryption_data.content_encryption_IV - if end_range == blob_size - 1: - unpad = True - else: - unpad = True - iv = encryption_data.content_encryption_IV + if blob_type == 'PageBlob': + unpad = False - if blob_type == 'PageBlob': - unpad = False + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() - content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) - decryptor = cipher.decryptor() + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() - content = decryptor.update(content) + decryptor.finalize() - if unpad: - unpadder = PKCS7(128).unpadder() - content = unpadder.update(content) + unpadder.finalize() + return content[start_offset: len(content) - end_offset] + + if version == _ENCRYPTION_PROTOCOL_V2: + # We assume the content contains only full encryption regions + total_size = len(content) + offset = 0 + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + decrypted_content = bytearray() + while offset < total_size: + # Process one encryption region at a time + process_size = min(region_length, total_size) + encrypted_region = content[offset:offset + process_size] - return content[start_offset: len(content) - end_offset] + # First bytes are the nonce + nonce = encrypted_region[:nonce_length] + ciphertext_with_tag = encrypted_region[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + decrypted_content.extend(decrypted_data) + + offset += process_size + + # Read the caller requested data from the decrypted content + return decrypted_content[start_offset:end_offset] def get_blob_encryptor_and_padder(cek, iv, should_pad): @@ -452,9 +852,9 @@ def get_blob_encryptor_and_padder(cek, iv, should_pad): return encryptor, padder -def encrypt_queue_message(message, key_encryption_key): +def encrypt_queue_message(message, key_encryption_key, version): ''' - Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Encrypts the given plain text message using the given protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encrypted message and the encryption metadata. @@ -465,6 +865,7 @@ def encrypt_queue_message(message, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A json-formatted string containing the encrypted message and the encryption metadata. :rtype: str ''' @@ -473,29 +874,47 @@ def encrypt_queue_message(message, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = os.urandom(32) - initialization_vector = os.urandom(16) - # Queue encoding functions all return unicode strings, and encryption should # operate on binary strings. message = message.encode('utf-8') - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 CBC uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(message) + padder.finalize() + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None + + # The nonce MUST be different for each key + nonce = os.urandom(12) + aesgcm = AESGCM(content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, message, None) + encrypted_data = nonce + cipertext_with_tag + + else: + raise ValueError("Invalid encryption version specified.") # Build the dictionary structure. queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector)} + initialization_vector, + version)} return dumps(queue_message) @@ -520,6 +939,7 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ :return: The plain text message from the queue message. :rtype: str ''' + response = response.http_response try: message = loads(message) @@ -528,9 +948,12 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) except (KeyError, ValueError): # Message was not json formatted and so was not encrypted - # or the user provided a json formatted message. + # or the user provided a json formatted message + # or the metadata was malformed. if require_encryption: - raise ValueError('Message was not encrypted.') + raise ValueError( + 'Encryption required, but received message does not contain appropriate metatadata. ' + \ + 'Message was either not encrypted or metadata was incorrect.') return message try: diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py index f70cbee84274..4a3ec5051f27 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py @@ -18,7 +18,11 @@ from . import encode_base64, url_quote from .request_handlers import get_length from .response_handlers import return_response_headers -from .encryption import get_blob_encryptor_and_padder +from .encryption import ( + GCMBlobEncryptionStream, + get_blob_encryptor_and_padder, + _ENCRYPTION_PROTOCOL_V1, + _ENCRYPTION_PROTOCOL_V2) _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 @@ -57,12 +61,18 @@ def upload_data_chunks( **kwargs): if encryption_options: - encryptor, padder = get_blob_encryptor_and_padder( - encryption_options.get('cek'), - encryption_options.get('vector'), - uploader_class is not PageBlobChunkUploader) - kwargs['encryptor'] = encryptor - kwargs['padder'] = padder + # V1 uses an encryptor/padder to encrypt each chunk + if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V1: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + # V2 wraps the data stream with an encryption stream + elif encryption_options['version'] == _ENCRYPTION_PROTOCOL_V2: + stream = GCMBlobEncryptionStream(encryption_options.get('cek'), stream) parallel = max_concurrency > 1 if parallel and 'modified_access_conditions' in kwargs: @@ -149,7 +159,6 @@ def __init__( self.parallel = parallel # Stream management - self.stream_start = stream.tell() if parallel else None self.stream_lock = Lock() if parallel else None # Progress feedback diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py index 029aae4a43c1..99859a08fe72 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py @@ -17,12 +17,12 @@ from . import encode_base64, url_quote from .request_handlers import get_length from .response_handlers import return_response_headers -from .encryption import get_blob_encryptor_and_padder -from .uploads import SubStream, IterStreamer # pylint: disable=unused-import - - -_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 -_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = '{0} should be a seekable file-like/io.IOBase type stream object.' +from .encryption import ( + GCMBlobEncryptionStream, + get_blob_encryptor_and_padder, + _ENCRYPTION_PROTOCOL_V1, + _ENCRYPTION_PROTOCOL_V2) +from .uploads import SubStream async def _parallel_uploads(uploader, pending, running): @@ -57,12 +57,18 @@ async def upload_data_chunks( **kwargs): if encryption_options: - encryptor, padder = get_blob_encryptor_and_padder( - encryption_options.get('cek'), - encryption_options.get('vector'), - uploader_class is not PageBlobChunkUploader) - kwargs['encryptor'] = encryptor - kwargs['padder'] = padder + # V1 uses an encryptor/padder to encrypt each chunk + if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V1: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + # V2 wraps the data stream with an encryption stream + elif encryption_options['version'] == _ENCRYPTION_PROTOCOL_V2: + stream = GCMBlobEncryptionStream(encryption_options.get('cek'), stream) parallel = max_concurrency > 1 if parallel and 'modified_access_conditions' in kwargs: @@ -152,7 +158,6 @@ def __init__( self.parallel = parallel # Stream management - self.stream_start = stream.tell() if parallel else None self.stream_lock = threading.Lock() if parallel else None # Progress feedback diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_upload_helpers.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_upload_helpers.py index 0abfc2fdc1fc..5757126bf8c7 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_upload_helpers.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_upload_helpers.py @@ -21,7 +21,11 @@ BlockBlobChunkUploader, PageBlobChunkUploader, AppendBlobChunkUploader) -from ._shared.encryption import generate_blob_encryption_data, encrypt_blob +from ._shared.encryption import ( + encrypt_blob, + get_adjusted_upload_size, + generate_blob_encryption_data, + _ENCRYPTION_PROTOCOL_V2) from ._generated.models import ( BlockLookupList, AppendPositionAccessConditions, @@ -75,7 +79,7 @@ def upload_block_blob( # pylint: disable=too-many-locals kwargs['modified_access_conditions'].if_none_match = '*' adjusted_count = length if (encryption_options.get('key') is not None) and (adjusted_count is not None): - adjusted_count += (16 - (length % 16)) + adjusted_count = get_adjusted_upload_size(adjusted_count, encryption_options['version']) blob_headers = kwargs.pop('blob_headers', None) tier = kwargs.pop('standard_blob_tier', None) blob_tags_string = kwargs.pop('blob_tags_string', None) @@ -95,7 +99,7 @@ def upload_block_blob( # pylint: disable=too-many-locals except AttributeError: pass if encryption_options.get('key'): - encryption_data, data = encrypt_blob(data, encryption_options['key']) + encryption_data, data = encrypt_blob(data, encryption_options['key'], encryption_options['version']) headers['x-ms-meta-encryptiondata'] = encryption_data response = client.upload( @@ -126,15 +130,23 @@ def upload_block_blob( # pylint: disable=too-many-locals not hasattr(stream, 'seek') or not hasattr(stream, 'tell') if use_original_upload_path: + total_size = length if encryption_options.get('key'): - cek, iv, encryption_data = generate_blob_encryption_data(encryption_options['key']) + cek, iv, encryption_data = generate_blob_encryption_data( + encryption_options['key'], + encryption_options['version']) headers['x-ms-meta-encryptiondata'] = encryption_data encryption_options['cek'] = cek encryption_options['vector'] = iv + + # Adjust total_size for encryption V2 + if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V2: + total_size = adjusted_count + block_ids = upload_data_chunks( service=client, uploader_class=BlockBlobChunkUploader, - total_size=length, + total_size=total_size, chunk_size=blob_settings.max_block_size, max_concurrency=max_concurrency, stream=stream, diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py index c2cfe77510fc..0bc10f73afec 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_client_async.py @@ -2731,6 +2731,6 @@ def _get_container_client(self): # pylint: disable=client-method-missing-kwargs return ContainerClient( "{}://{}".format(self.scheme, self.primary_hostname), container_name=self.container_name, credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, - _location_mode=self._location_mode, _hosts=self._hosts, require_encryption=self.require_encryption, - _pipeline=_pipeline, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_service_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_service_client_async.py index 7a10101acd23..a952cf9fa39b 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_service_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_blob_service_client_async.py @@ -623,8 +623,8 @@ def get_container_client(self, container): self.url, container_name=container_name, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) def get_blob_client( self, container, # type: Union[ContainerProperties, str] @@ -678,5 +678,5 @@ def get_blob_client( self.url, container_name=container_name, blob_name=blob_name, snapshot=snapshot, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py index a80a62d4b183..a72555d36212 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_container_client_async.py @@ -188,7 +188,7 @@ async def _rename_container(self, new_name, **kwargs): """ lease = kwargs.pop('lease', None) try: - kwargs['source_lease_id'] = lease.id # type: str + kwargs['source_lease_id'] = lease.id except AttributeError: kwargs['source_lease_id'] = lease try: @@ -196,8 +196,8 @@ async def _rename_container(self, new_name, **kwargs): "{}://{}".format(self.scheme, self.primary_hostname), container_name=new_name, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=self._pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) await renamed_container._client.container.rename(self.container_name, **kwargs) # pylint: disable = protected-access return renamed_container except HttpResponseError as error: @@ -474,8 +474,8 @@ def _get_blob_service_client(self): # pylint: disable=client-method-missing-kwa "{}://{}".format(self.scheme, self.primary_hostname), credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, _location_mode=self._location_mode, _hosts=self._hosts, require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function, - _pipeline=_pipeline) + encryption_version=self.encryption_version, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, _pipeline=_pipeline) @distributed_trace_async @@ -1262,5 +1262,5 @@ def get_blob_client( self.url, container_name=self.container_name, blob_name=blob_name, snapshot=snapshot, credential=self.credential, api_version=self.api_version, _configuration=self._config, _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, - require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, - key_resolver_function=self.key_resolver_function) + require_encryption=self.require_encryption, encryption_version=self.encryption_version, + key_encryption_key=self.key_encryption_key, key_resolver_function=self.key_resolver_function) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py index a3a2285c86b7..c95c3c6dfc22 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py @@ -14,10 +14,15 @@ from aiohttp import ClientPayloadError from azure.core.exceptions import HttpResponseError, ServiceResponseError -from .._shared.encryption import decrypt_blob +from .._shared.encryption import ( + adjust_blob_size_for_encryption, + decrypt_blob, + is_encryption_v2, + parse_encryption_data +) from .._shared.request_handlers import validate_and_format_range_headers from .._shared.response_handlers import process_storage_error, parse_length_from_content_range -from .._deserialize import get_page_ranges_result +from .._deserialize import deserialize_blob_properties, get_page_ranges_result from .._download import process_range_and_offset, _ChunkDownloader async def process_content(data, start_offset, end_offset, encryption): @@ -80,7 +85,8 @@ async def _write_to_stream(self, chunk_data, chunk_start): async def _download_chunk(self, chunk_start, chunk_end): download_range, offset = process_range_and_offset( - chunk_start, chunk_end, chunk_end, self.encryption_options) + chunk_start, chunk_end, chunk_end, self.encryption_options, self.encryption_data + ) # No need to download the empty chunk from server if there's no data in the chunk to be downloaded. # Do optimize and create empty chunk locally if condition is met. @@ -231,12 +237,39 @@ def __init__( self._file_size = None self._non_empty_ranges = None self._response = None + self._encryption_data = None + + self._initial_range = None + self._initial_offset = None # The service only provides transactional MD5s for chunks under 4MB. # If validate_content is on, get only self.MAX_CHUNK_GET_SIZE for the first # chunk so a transactional MD5 can be retrieved. self._first_get_size = self._config.max_single_get_size if not self._validate_content \ else self._config.max_chunk_get_size + + def __len__(self): + return self.size + + async def _get_encryption_data_request(self): + # Save current request cls + download_cls = self._request_options.pop('cls', None) + # Adjust cls for get_properties + self._request_options['cls'] = deserialize_blob_properties + + properties = await self._clients.blob.get_properties(**self._request_options) + # This will return None if there is no encryption metadata or there are parsing errors. + # That is acceptable here, the proper error will be caught and surfaced when attempting + # to decrypt the blob. + self._encryption_data = parse_encryption_data(properties.metadata) + + # Restore cls for download + self._request_options['cls'] = download_cls + + async def _setup(self): + if self._encryption_options.get("key") is not None or self._encryption_options.get("resolver") is not None: + await self._get_encryption_data_request() + initial_request_start = self._start_range if self._start_range is not None else 0 if self._end_range is not None and self._end_range - self._start_range < self._first_get_size: initial_request_end = self._end_range @@ -244,13 +277,13 @@ def __init__( initial_request_end = initial_request_start + self._first_get_size - 1 self._initial_range, self._initial_offset = process_range_and_offset( - initial_request_start, initial_request_end, self._end_range, self._encryption_options + initial_request_start, + initial_request_end, + self._end_range, + self._encryption_options, + self._encryption_data ) - def __len__(self): - return self.size - - async def _setup(self): self._response = await self._initial_request() self.properties = self._response.properties self.properties.name = self.name @@ -309,6 +342,9 @@ async def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) + # Remove any extra encryption data size from blob size + self._file_size = adjust_blob_size_for_encryption(self._file_size, self._encryption_data) + if self._end_range is not None: # Use the length unless it is over the end of the file self.size = min(self._file_size, self._end_range - self._start_range + 1) @@ -355,7 +391,8 @@ async def _initial_request(self): # If the file is small, the download is complete at this point. # If file size is large, download the rest of the file in chunks. - if response.properties.size != self.size: + # Use less than here for encryption. + if response.properties.size < self.size: if self._request_options.get('modified_access_conditions'): self._request_options['modified_access_conditions'].if_match = response.properties.etag else: @@ -381,6 +418,11 @@ def chunks(self): iter_downloader = None else: data_end = self._file_size + data_start = self._initial_range[1] + 1 # Start where the first download ended + # For encryption V2 only, adjust start to the end of the fetched data rather than download size + if is_encryption_v2(self._encryption_data): + data_start = (self._start_range or 0) + len(self._current_content) + if self._end_range is not None: # Use the length unless it is over the end of the file data_end = min(self._file_size, self._end_range + 1) @@ -390,12 +432,13 @@ def chunks(self): total_size=self.size, chunk_size=self._config.max_chunk_get_size, current_progress=self._first_get_size, - start_range=self._initial_range[1] + 1, # Start where the first download ended + start_range=data_start, end_range=data_end, stream=None, parallel=False, validate_content=self._validate_content, encryption_options=self._encryption_options, + encryption_data=self._encryption_data, use_location=self._location_mode, **self._request_options) return _AsyncChunkIterator( @@ -487,18 +530,24 @@ async def readinto(self, stream): # Use the length unless it is over the end of the file data_end = min(self._file_size, self._end_range + 1) + data_start = self._initial_range[1] + 1 # Start where the first download ended + # For encryption V2 only, adjust start to the end of the fetched data rather than download size + if is_encryption_v2(self._encryption_data): + data_start = (self._start_range or 0) + len(self._current_content) + downloader = _AsyncChunkDownloader( client=self._clients.blob, non_empty_ranges=self._non_empty_ranges, total_size=self.size, chunk_size=self._config.max_chunk_get_size, current_progress=self._first_get_size, - start_range=self._initial_range[1] + 1, # start where the first download ended + start_range=data_start, end_range=data_end, stream=stream, parallel=parallel, validate_content=self._validate_content, encryption_options=self._encryption_options, + encryption_data=self._encryption_data, use_location=self._location_mode, progress_hook=self._progress_hook, **self._request_options) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_upload_helpers.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_upload_helpers.py index ec599b8894e5..81a5e07990f8 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_upload_helpers.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_upload_helpers.py @@ -20,7 +20,11 @@ BlockBlobChunkUploader, PageBlobChunkUploader, AppendBlobChunkUploader) -from .._shared.encryption import generate_blob_encryption_data, encrypt_blob +from .._shared.encryption import ( + encrypt_blob, + get_adjusted_upload_size, + generate_blob_encryption_data, + _ENCRYPTION_PROTOCOL_V2) from .._generated.models import ( BlockLookupList, AppendPositionAccessConditions, @@ -50,7 +54,7 @@ async def upload_block_blob( # pylint: disable=too-many-locals kwargs['modified_access_conditions'].if_none_match = '*' adjusted_count = length if (encryption_options.get('key') is not None) and (adjusted_count is not None): - adjusted_count += (16 - (length % 16)) + adjusted_count = get_adjusted_upload_size(adjusted_count, encryption_options['version']) blob_headers = kwargs.pop('blob_headers', None) tier = kwargs.pop('standard_blob_tier', None) blob_tags_string = kwargs.pop('blob_tags_string', None) @@ -70,7 +74,7 @@ async def upload_block_blob( # pylint: disable=too-many-locals except AttributeError: pass if encryption_options.get('key'): - encryption_data, data = encrypt_blob(data, encryption_options['key']) + encryption_data, data = encrypt_blob(data, encryption_options['key'], encryption_options['version']) headers['x-ms-meta-encryptiondata'] = encryption_data response = await client.upload( body=data, @@ -100,15 +104,23 @@ async def upload_block_blob( # pylint: disable=too-many-locals not hasattr(stream, 'seek') or not hasattr(stream, 'tell') if use_original_upload_path: + total_size = length if encryption_options.get('key'): - cek, iv, encryption_data = generate_blob_encryption_data(encryption_options['key']) + cek, iv, encryption_data = generate_blob_encryption_data( + encryption_options['key'], + encryption_options['version']) headers['x-ms-meta-encryptiondata'] = encryption_data encryption_options['cek'] = cek encryption_options['vector'] = iv + + # Adjust total_size for encryption V2 + if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V2: + total_size = adjusted_count + block_ids = await upload_data_chunks( service=client, uploader_class=BlockBlobChunkUploader, - total_size=length, + total_size=total_size, chunk_size=blob_settings.max_block_size, max_concurrency=max_concurrency, stream=stream, diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_block_blob_from_star.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_block_blob_from_star.yaml index e9a27e028f46..f88010fde29c 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_block_blob_from_star.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_block_blob_from_star.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4c2115be?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:29 GMT + - Mon, 06 Jun 2022 23:40:58 GMT etag: - - '"0x8D7597291BE7DD1"' + - '"0x8DA481602814621"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 26CL84FBb5KvawPRi8halA== + s2iTerm/pyg6kwpOXs+Esg== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LhQ0f4ihtjWdWxUfouQ5DReD0Ci2MuP8oiUmaepn5WWtx7cA/LJYrw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "stQ+n3SM9/F8Bmb6GP6OUfeppryUm6/UoDfE90qrlDe7N0dM8nf0hw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "HzDYjIP7CwX33ryJao9GcQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "kZXeCEMDrh742jRSFbXIzA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - YI8RmaZ4+lhiNqEBAzE4IQ== + - 2ilDuZVnRXmhXh889q59lw== date: - - Fri, 25 Oct 2019 17:41:29 GMT + - Mon, 06 Jun 2022 23:40:58 GMT etag: - - '"0x8D7597291CB999A"' + - '"0x8DA4816028D769A"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - +HOAWYuMMvs= + - h5pmHwUc+iw= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:40:59 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - 2ilDuZVnRXmhXh889q59lw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:40:58 GMT + etag: + - '"0x8DA4816028D769A"' + last-modified: + - Mon, 06 Jun 2022 23:40:59 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:40:59 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "stQ+n3SM9/F8Bmb6GP6OUfeppryUm6/UoDfE90qrlDe7N0dM8nf0hw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "kZXeCEMDrh742jRSFbXIzA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: body: string: !!binary | - 26CL84FBb5KvawPRi8halA== + s2iTerm/pyg6kwpOXs+Esg== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:29 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D7597291CB999A"' + - '"0x8DA4816028D769A"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - YI8RmaZ4+lhiNqEBAzE4IQ== + - 2ilDuZVnRXmhXh889q59lw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LhQ0f4ihtjWdWxUfouQ5DReD0Ci2MuP8oiUmaepn5WWtx7cA/LJYrw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "stQ+n3SM9/F8Bmb6GP6OUfeppryUm6/UoDfE90qrlDe7N0dM8nf0hw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "HzDYjIP7CwX33ryJao9GcQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "kZXeCEMDrh742jRSFbXIzA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -159,7 +224,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -167,11 +232,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -181,22 +246,22 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:29 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted - request: body: !!binary | - KTnK08MH0RgDQ4l//KdkQw== + M/vPJefbyC09BIs+8ixcrA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -208,18 +273,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "if38igHdEjbmaVqAGBxzXsAQL+a6oNyr6hEBhNJVgmPhrPINjPEHdQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XZx1kws+lnOlWXlb+vjUQw+a76uYygTmuOtDzdJ7TDI9fha2iuaJBA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "HFWlUYoM0+VlDHk6CmN/WA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "c5IuY46oSH+M033h12d/CA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -229,21 +294,21 @@ interactions: content-length: - '0' content-md5: - - yE6rPNtDhwyWeUFwkCehdw== + - 6PE2+zenLYLjp/q4iITdgw== date: - - Fri, 25 Oct 2019 17:41:29 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D7597291EE1BFF"' + - '"0x8DA481602BCBD0F"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - lZUJhTFM3Yw= + - Mx4OGdlGF8c= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -257,19 +322,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - 6PE2+zenLYLjp/q4iITdgw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:40:59 GMT + etag: + - '"0x8DA481602BCBD0F"' + last-modified: + - Mon, 06 Jun 2022 23:40:59 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:40:59 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XZx1kws+lnOlWXlb+vjUQw+a76uYygTmuOtDzdJ7TDI9fha2iuaJBA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "c5IuY46oSH+M033h12d/CA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: body: string: !!binary | - KTnK08MH0RgDQ4l//KdkQw== + M/vPJefbyC09BIs+8ixcrA== headers: accept-ranges: - bytes @@ -280,32 +408,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D7597291EE1BFF"' + - '"0x8DA481602BCBD0F"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - yE6rPNtDhwyWeUFwkCehdw== + - 6PE2+zenLYLjp/q4iITdgw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "if38igHdEjbmaVqAGBxzXsAQL+a6oNyr6hEBhNJVgmPhrPINjPEHdQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XZx1kws+lnOlWXlb+vjUQw+a76uYygTmuOtDzdJ7TDI9fha2iuaJBA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "HFWlUYoM0+VlDHk6CmN/WA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "c5IuY46oSH+M033h12d/CA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -313,7 +443,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -321,11 +451,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -335,22 +465,22 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted - request: body: !!binary | - iT7+Pe/CR1ms0jun8iVnbg== + 7Zept0vb7Gc0+jLk4Dicjw== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -362,18 +492,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wB6Q0h4Yym97DSkmnZYqNZLuQZrRwmPUwQgxjTAUoDnw4DRPmIVUiQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8MdUcZnGhsbWQPSC/Wd3OiVmjeZlpG/DmpekW41i6hfkFxi/OXZiOQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "uWr7yRbyAaYeVqsKuHYRvg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "hB/cut8ZAtfwetlwXGC5vA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -383,21 +513,21 @@ interactions: content-length: - '0' content-md5: - - ZAzo3qZAHzzuf6EKE7Eacg== + - LuKJlni8dmQQ3j6OQ8zyWg== date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D75972921CFCB8"' + - '"0x8DA481602E9B9E8"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - 6V/42auDvp4= + - r2ZK1uJoVpE= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -411,19 +541,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - LuKJlni8dmQQ3j6OQ8zyWg== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:40:59 GMT + etag: + - '"0x8DA481602E9B9E8"' + last-modified: + - Mon, 06 Jun 2022 23:41:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8MdUcZnGhsbWQPSC/Wd3OiVmjeZlpG/DmpekW41i6hfkFxi/OXZiOQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "hB/cut8ZAtfwetlwXGC5vA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: body: string: !!binary | - iT7+Pe/CR1ms0jun8iVnbg== + 7Zept0vb7Gc0+jLk4Dicjw== headers: accept-ranges: - bytes @@ -434,32 +627,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D75972921CFCB8"' + - '"0x8DA481602E9B9E8"' last-modified: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - ZAzo3qZAHzzuf6EKE7Eacg== + - LuKJlni8dmQQ3j6OQ8zyWg== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wB6Q0h4Yym97DSkmnZYqNZLuQZrRwmPUwQgxjTAUoDnw4DRPmIVUiQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8MdUcZnGhsbWQPSC/Wd3OiVmjeZlpG/DmpekW41i6hfkFxi/OXZiOQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "uWr7yRbyAaYeVqsKuHYRvg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "hB/cut8ZAtfwetlwXGC5vA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -467,7 +662,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -475,11 +670,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -489,22 +684,22 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted - request: body: !!binary | - JlL5nngJIE5MGGH5EdkBUw== + FgTARKkW0Xk02pe/OSSTdw== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -516,18 +711,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "7UHO1VjpxU+peHZiSafZFbGjt9Bsq7vXdGpU5ZewYGvyoOKzRiAsLg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ux6qyYuu1wRRdBacaWnzbY4WJBCALYDUyZ3qX1jOBlIoiYH9VWdL/Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "G/zKwe/CW+UX1BpbRqMRfw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "xAfb1RlAWp0l6wMhty4uKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -537,21 +732,21 @@ interactions: content-length: - '0' content-md5: - - 33QnmO3pfaFUr6PgCKy7sA== + - HFAoF4j/UJdJXpr2F5evpw== date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D75972923B1189"' + - '"0x8DA48160315F38D"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - aM8zSvzLpCw= + - Z53cPdO4QjY= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -565,19 +760,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - HFAoF4j/UJdJXpr2F5evpw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:40:59 GMT + etag: + - '"0x8DA48160315F38D"' + last-modified: + - Mon, 06 Jun 2022 23:41:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ux6qyYuu1wRRdBacaWnzbY4WJBCALYDUyZ3qX1jOBlIoiYH9VWdL/Q==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "xAfb1RlAWp0l6wMhty4uKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: body: string: !!binary | - JlL5nngJIE5MGGH5EdkBUw== + FgTARKkW0Xk02pe/OSSTdw== headers: accept-ranges: - bytes @@ -588,32 +846,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT etag: - - '"0x8D75972923B1189"' + - '"0x8DA48160315F38D"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - 33QnmO3pfaFUr6PgCKy7sA== + - HFAoF4j/UJdJXpr2F5evpw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "7UHO1VjpxU+peHZiSafZFbGjt9Bsq7vXdGpU5ZewYGvyoOKzRiAsLg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ux6qyYuu1wRRdBacaWnzbY4WJBCALYDUyZ3qX1jOBlIoiYH9VWdL/Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "G/zKwe/CW+UX1BpbRqMRfw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "xAfb1RlAWp0l6wMhty4uKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -621,7 +881,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -629,11 +889,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer4c2115be/encryption_block_blob4c2115be response: @@ -643,13 +903,13 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:40:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_page_blob_from_star.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_page_blob_from_star.yaml index bbe5f58a3b96..ba0650c5968f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_page_blob_from_star.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_create_page_blob_from_star.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:05 GMT etag: - - '"0x8D75972926F4545"' + - '"0x8DA481606A05E8C"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -41,7 +41,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -51,20 +51,20 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wViATjLOhTvcSd3AhzfCMqYmr3psfClYp24/axf6uwdZxNckNUJq0Q==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "b+egTAOTcbXtAVPW150f1BqGQp8b4UX0zuxwBm6VvbozWpKvoh6v6g==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "XhFa4kuulE4PPBZnE/AzKQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "EuHTLD4fsY21LL0yi4N8/Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -74,34 +74,34 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D75972927825A6"' + - '"0x8DA481606AD12A1"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - vHUSqp3ydvd8LxCvE8iLBCfQuc8IFMjw9+Mgn6LducisNzpI9GqZPzXA1xGpZRnj+Ci2ujHG5GV9 - ABjQLoNE4z9GPhErWuMXayH9VP1LZc0OO2tip6m8zppCCyKdWMLcXY8HsBIR0gB2BzKm7pMTSUNN - RV/qdxNnm2Bx7ZAXUBM2313+yDZYFKQNbs4H6aga2FK0XDTGW7OGrEU4YEkhxkx8RPXOb7eiUKK4 - t+PuFDn2Ba8cUWL+mhyXc3eQ/fFLBzx6DHp5tdJU4sO8q/tTvjv3vseN7JiHa5ak2IP/BidaRlWk - nqHP2n4PDV/E2D6ZfnZhHP7yW2YSXF/nk/5iqlIt0hDxcA30wno0LGbJ+dSFQROyRZCCohmGw/5R - DIWNEisCGLZsHfeKxTnxb9231J82oIiQLPNRDgQsJLtabrmSIFE1are1x+GrPm4UeKHrZMgzbzls - SStTTNzYjC0rAjToaCMyWkWQ9vFqRxQ9rSWHDPfvewUEm5VMLhyvXKIwBT4X0Bjefo8oVqed1c7B - fkGuEduHYGFcQTTyWdNmSZsmkPHK6rjCamjwMNr0VuIODSRqbYLI7lDsLuQLA4U+BzZTL3xnpgOn - WYypKGjewz08cog+EZj9uER8FSo3F9p6baawdduaFKbglEnfpFEHuZaqFaaTNicvkYlmVaP6vLw= + HRH5Gw+9nXDJuYmetpWDnGoFkDXgVLKpCsHWVYmpu2V4NF5fXfFO8n1sBq+j+CvsBGTCwm5CXOBv + A32xrhSqHNDY7v9bm2QTL6zdirUT9zzeXTwqMbKoz9ZY4VG0vwbJCihbT7gRwc7ee/QDe714UcaX + C3N/6LYE0EOSWU9vzP+qBwYh36olf15qiYUoTYikg0ejkoOBTTnHAUANxwyTDl190kDTV6HCJsiz + VQ7ezhlxxUDazEMsbpD1EEJ4HMeJbCN+xWdglgc8yw5KS8mHRjUypfcCb9icoRaGX6a0552DzoJa + rbg2qO+s6MtoLjAc8Td9pEfj+S0ha+aQxcS3p1Hu8nHFFGbzr/W+vUb4baiCnM2oC13lPdmwOXK3 + wgkDy0BYrK6mD46iGMeee75AQd/EDhbLFu1c0tj3bquIGslZDuB+Nsfn+yqjg5FwKLjevuACCv/t + jyu08qx1sJLY9zVgLgDxlrms3BKWeZ4Czz4qmI4knUqIW2EhYkQN1w/Dfj48P7NEdP1mlqp175ge + iPJhju9ioBjsqdK4jjJ8cXRhTfEVSQU4J93F2nlJ4N+71VJoBa1RdGdFhzN3IQYx3IRAV260ZTXH + VONQUDZ0sM6VFf/YSt1ctLtKANoCQtaiElXFHulc5asqDPLCwKTMkB8RvmgIvBmemk7arKjnjN4= headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -111,17 +111,22 @@ interactions: Content-Type: - application/octet-stream If-Match: - - '"0x8D75972927825A6"' + - '"0x8DA481606AD12A1"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "b+egTAOTcbXtAVPW150f1BqGQp8b4UX0zuxwBm6VvbozWpKvoh6v6g==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "EuHTLD4fsY21LL0yi4N8/Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=page response: @@ -131,21 +136,21 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D759729281C45D"' + - '"0x8DA481606B96CE6"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: - '0' x-ms-content-crc64: - - t4jGkW9kf2g= + - ZULPC2j9i5M= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -159,27 +164,86 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:06 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '512' + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:06 GMT + etag: + - '"0x8DA481606B96CE6"' + last-modified: + - Mon, 06 Jun 2022 23:41:06 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:06 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "b+egTAOTcbXtAVPW150f1BqGQp8b4UX0zuxwBm6VvbozWpKvoh6v6g==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "EuHTLD4fsY21LL0yi4N8/Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: body: string: !!binary | - vHUSqp3ydvd8LxCvE8iLBCfQuc8IFMjw9+Mgn6LducisNzpI9GqZPzXA1xGpZRnj+Ci2ujHG5GV9 - ABjQLoNE4z9GPhErWuMXayH9VP1LZc0OO2tip6m8zppCCyKdWMLcXY8HsBIR0gB2BzKm7pMTSUNN - RV/qdxNnm2Bx7ZAXUBM2313+yDZYFKQNbs4H6aga2FK0XDTGW7OGrEU4YEkhxkx8RPXOb7eiUKK4 - t+PuFDn2Ba8cUWL+mhyXc3eQ/fFLBzx6DHp5tdJU4sO8q/tTvjv3vseN7JiHa5ak2IP/BidaRlWk - nqHP2n4PDV/E2D6ZfnZhHP7yW2YSXF/nk/5iqlIt0hDxcA30wno0LGbJ+dSFQROyRZCCohmGw/5R - DIWNEisCGLZsHfeKxTnxb9231J82oIiQLPNRDgQsJLtabrmSIFE1are1x+GrPm4UeKHrZMgzbzls - SStTTNzYjC0rAjToaCMyWkWQ9vFqRxQ9rSWHDPfvewUEm5VMLhyvXKIwBT4X0Bjefo8oVqed1c7B - fkGuEduHYGFcQTTyWdNmSZsmkPHK6rjCamjwMNr0VuIODSRqbYLI7lDsLuQLA4U+BzZTL3xnpgOn - WYypKGjewz08cog+EZj9uER8FSo3F9p6baawdduaFKbglEnfpFEHuZaqFaaTNicvkYlmVaP6vLw= + HRH5Gw+9nXDJuYmetpWDnGoFkDXgVLKpCsHWVYmpu2V4NF5fXfFO8n1sBq+j+CvsBGTCwm5CXOBv + A32xrhSqHNDY7v9bm2QTL6zdirUT9zzeXTwqMbKoz9ZY4VG0vwbJCihbT7gRwc7ee/QDe714UcaX + C3N/6LYE0EOSWU9vzP+qBwYh36olf15qiYUoTYikg0ejkoOBTTnHAUANxwyTDl190kDTV6HCJsiz + VQ7ezhlxxUDazEMsbpD1EEJ4HMeJbCN+xWdglgc8yw5KS8mHRjUypfcCb9icoRaGX6a0552DzoJa + rbg2qO+s6MtoLjAc8Td9pEfj+S0ha+aQxcS3p1Hu8nHFFGbzr/W+vUb4baiCnM2oC13lPdmwOXK3 + wgkDy0BYrK6mD46iGMeee75AQd/EDhbLFu1c0tj3bquIGslZDuB+Nsfn+yqjg5FwKLjevuACCv/t + jyu08qx1sJLY9zVgLgDxlrms3BKWeZ4Czz4qmI4knUqIW2EhYkQN1w/Dfj48P7NEdP1mlqp175ge + iPJhju9ioBjsqdK4jjJ8cXRhTfEVSQU4J93F2nlJ4N+71VJoBa1RdGdFhzN3IQYx3IRAV260ZTXH + VONQUDZ0sM6VFf/YSt1ctLtKANoCQtaiElXFHulc5asqDPLCwKTMkB8RvmgIvBmemk7arKjnjN4= headers: accept-ranges: - bytes @@ -190,32 +254,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:30 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D759729281C45D"' + - '"0x8DA481606B96CE6"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-sequence-number: - '0' x-ms-blob-type: - PageBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wViATjLOhTvcSd3AhzfCMqYmr3psfClYp24/axf6uwdZxNckNUJq0Q==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "b+egTAOTcbXtAVPW150f1BqGQp8b4UX0zuxwBm6VvbozWpKvoh6v6g==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "XhFa4kuulE4PPBZnE/AzKQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "EuHTLD4fsY21LL0yi4N8/Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -229,33 +295,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: - application/xml date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D759729281C45D"' + - '"0x8DA481606B96CE6"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked + vary: + - Origin x-ms-blob-content-length: - '512' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 200 message: OK @@ -263,7 +331,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -271,11 +339,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -285,13 +353,13 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted @@ -299,7 +367,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -309,20 +377,20 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "9WK6BtvVGsjcrzgxoZjtdYxIcSdOGUAvfMOnUO75CLLaf9cXRXmDcQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6OSzvVech+Ytd0CCk9NdbU7KbxAGp0VX8KZTaka0yeFjqNRZLD/NKQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dhqdZj6kb61GPbDk7ORUCQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "LOqgt6izM8rzl6aFdwARlw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -332,34 +400,34 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D7597292BA6AD4"' + - '"0x8DA481606F979BA"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 4f0cZBjSrr7D6kKuIy+wyrY5oJ+xmcw82XQSz0QlzKr2CXkszZmms1vUvIglPqWfrvK+QcTc+C6p - YfhHAKvypQ4k72Jh28bmF+AJdgeEotVLYPu1TUJkjtDGXpS/pKTtEumVXKjZraakQI7ZAxNWxiO4 - 2Ou34457uG22KhhR5TowAf2DWBvXPt5ENUGO5Yt3mc1BhNGmBmxp1Igbycn2EvC9w0h93B3/n/9l - bqoO8rINbSf6oGBOoGx6KK9zZqJBNw0QwQZjVePU2qucukVuPsyNwZYQ/PNc8TAF/YsuM4ExFvCH - FrSpTNq32tc+6vLwdIJvFJzhSQHPrf+1L5dDpG6vQov4BpDQblL6p9rrIncIjWJVvZ7+/fz8+B80 - hrVxd8flNdoc9SKZ/MqMjdsJblhgvvoSeWW/Rsx20SmasEjnx1EY9ULHjYME+UqbAI0zfZpTjOtq - ZB/aYDxQ86BR/jpoRJmWqupcO6cZn/GX10oQlUPF0gIu7h43ttxb8y0keo/2bopcdaGs8Er5uDY5 - V74sJefSHsLI0KB3E2ezonve0cIYpCBh6W6CDa6izHPgzZVd3CJvTdxATIHU2b14LbNjX637VOwR - IqCvz6F8RIJHMutW/w9rygd/cnObMGbmGL5q+8HXvCKVJVXLhMqioUpLRx1Gr1DwM561Ny0XRps= + GwRl1aNFRziS/8m8oMbDM0VEkTtizPbifIQuR4/KHlGWC0IPm/eBE0w3sKpprr0at+2WjUo5onjb + FuJCF8H0s+SFkpTU+VnIc4mqIxM3ACJGYhOnNPFM9e8ykaiWbwi0VIBsDKQI6c6aUgACJ8xk7Zvz + R4Ph2m1N1zdzz/F/mTbuN4w5Hfic+urltNSFL6pV7ND6JBv9VOEzH9JwAAwC4jnQxLIM9avxC7N/ + M8Q8+/yiuXtRsGGu/XIGnCyTDivB6AMeQiE5LvNHQkdaC2ZnGtlD/MXtpFWIBHPR+7kbz9W3EYKB + laz+K4Sw2IA9k0vjD88mCwBxxS5gWAT7TfPP6tj0Im9FNOHmOPKr95cxN3tRkduJBrawMAXYKzDt + c/Sz+TvjeXx5/loSB07bKMg3yh2djcchWYzapZqXhJTxhYRAyyYXISc8q2iQBEP9l49PsfDPQduW + 7ftI8063vPWMcbvd28stg9ybq0y6H0eRFin7eHJYYt62l36Zcxvj8Y+ZRciekTn0Ff2FXIZCXm7R + sG7wldF9u7k7mKHAL7wBEAmmkkH9XiVeTa3KDzKskS8Nw2XsTygQ0/W09F9s2g6NhqL/PIGBSwbf + M3mlfPySITJzW1ZeIE9mdmmKFLNnhgcDqwZ6kaSJABIzwhy4jLCmO7L8GNFWxA4maLeJnEORaeo= headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -369,17 +437,22 @@ interactions: Content-Type: - application/octet-stream If-Match: - - '"0x8D7597292BA6AD4"' + - '"0x8DA481606F979BA"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:06 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6OSzvVech+Ytd0CCk9NdbU7KbxAGp0VX8KZTaka0yeFjqNRZLD/NKQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "LOqgt6izM8rzl6aFdwARlw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=page response: @@ -389,21 +462,21 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D7597292C2A9BA"' + - '"0x8DA4816070537D9"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: - '0' x-ms-content-crc64: - - BbaGGbsjQdo= + - NN3e0DSuFjc= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -417,27 +490,86 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '512' + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:06 GMT + etag: + - '"0x8DA4816070537D9"' + last-modified: + - Mon, 06 Jun 2022 23:41:07 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:06 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6OSzvVech+Ytd0CCk9NdbU7KbxAGp0VX8KZTaka0yeFjqNRZLD/NKQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "LOqgt6izM8rzl6aFdwARlw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: body: string: !!binary | - 4f0cZBjSrr7D6kKuIy+wyrY5oJ+xmcw82XQSz0QlzKr2CXkszZmms1vUvIglPqWfrvK+QcTc+C6p - YfhHAKvypQ4k72Jh28bmF+AJdgeEotVLYPu1TUJkjtDGXpS/pKTtEumVXKjZraakQI7ZAxNWxiO4 - 2Ou34457uG22KhhR5TowAf2DWBvXPt5ENUGO5Yt3mc1BhNGmBmxp1Igbycn2EvC9w0h93B3/n/9l - bqoO8rINbSf6oGBOoGx6KK9zZqJBNw0QwQZjVePU2qucukVuPsyNwZYQ/PNc8TAF/YsuM4ExFvCH - FrSpTNq32tc+6vLwdIJvFJzhSQHPrf+1L5dDpG6vQov4BpDQblL6p9rrIncIjWJVvZ7+/fz8+B80 - hrVxd8flNdoc9SKZ/MqMjdsJblhgvvoSeWW/Rsx20SmasEjnx1EY9ULHjYME+UqbAI0zfZpTjOtq - ZB/aYDxQ86BR/jpoRJmWqupcO6cZn/GX10oQlUPF0gIu7h43ttxb8y0keo/2bopcdaGs8Er5uDY5 - V74sJefSHsLI0KB3E2ezonve0cIYpCBh6W6CDa6izHPgzZVd3CJvTdxATIHU2b14LbNjX637VOwR - IqCvz6F8RIJHMutW/w9rygd/cnObMGbmGL5q+8HXvCKVJVXLhMqioUpLRx1Gr1DwM561Ny0XRps= + GwRl1aNFRziS/8m8oMbDM0VEkTtizPbifIQuR4/KHlGWC0IPm/eBE0w3sKpprr0at+2WjUo5onjb + FuJCF8H0s+SFkpTU+VnIc4mqIxM3ACJGYhOnNPFM9e8ykaiWbwi0VIBsDKQI6c6aUgACJ8xk7Zvz + R4Ph2m1N1zdzz/F/mTbuN4w5Hfic+urltNSFL6pV7ND6JBv9VOEzH9JwAAwC4jnQxLIM9avxC7N/ + M8Q8+/yiuXtRsGGu/XIGnCyTDivB6AMeQiE5LvNHQkdaC2ZnGtlD/MXtpFWIBHPR+7kbz9W3EYKB + laz+K4Sw2IA9k0vjD88mCwBxxS5gWAT7TfPP6tj0Im9FNOHmOPKr95cxN3tRkduJBrawMAXYKzDt + c/Sz+TvjeXx5/loSB07bKMg3yh2djcchWYzapZqXhJTxhYRAyyYXISc8q2iQBEP9l49PsfDPQduW + 7ftI8063vPWMcbvd28stg9ybq0y6H0eRFin7eHJYYt62l36Zcxvj8Y+ZRciekTn0Ff2FXIZCXm7R + sG7wldF9u7k7mKHAL7wBEAmmkkH9XiVeTa3KDzKskS8Nw2XsTygQ0/W09F9s2g6NhqL/PIGBSwbf + M3mlfPySITJzW1ZeIE9mdmmKFLNnhgcDqwZ6kaSJABIzwhy4jLCmO7L8GNFWxA4maLeJnEORaeo= headers: accept-ranges: - bytes @@ -448,32 +580,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D7597292C2A9BA"' + - '"0x8DA4816070537D9"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-sequence-number: - '0' x-ms-blob-type: - PageBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "9WK6BtvVGsjcrzgxoZjtdYxIcSdOGUAvfMOnUO75CLLaf9cXRXmDcQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6OSzvVech+Ytd0CCk9NdbU7KbxAGp0VX8KZTaka0yeFjqNRZLD/NKQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dhqdZj6kb61GPbDk7ORUCQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "LOqgt6izM8rzl6aFdwARlw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -487,33 +621,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: - application/xml date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D7597292C2A9BA"' + - '"0x8DA4816070537D9"' last-modified: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked + vary: + - Origin x-ms-blob-content-length: - '512' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 200 message: OK @@ -521,7 +657,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -529,11 +665,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -543,13 +679,13 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted @@ -557,7 +693,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -567,20 +703,20 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "0Yt83Iu8hwddEldsvJKEHM4cuI/uJ1Qy60PzeQBxDbIFeX7dDT6sgQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "MFqrsC433+y9YLbQiWBCvVXllUBVsrLuWT7z+KYN8VSRoxxCf5NzhQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "U2f4nsmzdQSpNYRKMtRWRA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "ScVxciUXcgqM8tM4TBwqvA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -590,34 +726,34 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:06 GMT etag: - - '"0x8D7597292E32FE3"' + - '"0x8DA4816073C1E4A"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - Y6xSS72MhPQ8b77ziW2GepUu+1AU+9EbDtIvc/NBEahzAQPeDQ+bmjTCQgfaZbC9ioZqZYLkTImr - u78qGKglGzy7YHo5dtINmCdSk8JEgqXvTtaXMJcKnGT1nQV+xd76kKTOnrG96+sr0PbOv7iAgRx5 - nlMoyqbA4R1b3TXWN+8i1oAmz1dsDEG3vw5PjkaLM6E+kUJ09K6tO9QkLBIbQr57LPSOozzphPoO - v2OnkRXPhQxMjxUaKDPFodYbs3Nh3NiCqtEdl7CpmcZ7nrFYYUnaUWvIBeUPaG+PfIV/PqsRZxi0 - 3f/0OkQAyn80rEy56NmFHR+89C/FqKcY2j8xv5lGSF3efZ3PVmcAt9AGGppeD0TeoakyAIlyos3L - 0ERxiSk4SNe5gFP3on5R2kzDXQZ8rUSASHlt8Q/ykntZziBsOLTVD9CJkJDWA4xy2hwBLV8OYDp7 - SVjKWsSU9HK1ANrGwB4L5wAp1LM3/NtgSWNBqpzWXK6cGE6u9BZzKm7R8RBNGoC5mSpKm1rRGuPt - IMuCdQa52HZUgsIxNk0GaGZVwi/zmNbzLxHflpd6lzF4bv4J0+6QQuiTGTTUJxuH2kggnSKDa7uv - K+aMolwGHR7ChwiwUtDN4h8nxKEI/fPDnYaR3EZauABWZbT5MN8oG1RzaofOLgCbxkQBR8jDFyY= + J6dF+S/53+Q4UwXEfJd2p2ZmDBPNPON34KdwlzvyokMA2Vb8vGO8n0odZomOpxnDAvJY9wQ7+PcZ + KfQw2VfC4/t/nZmuxgM2H8RUmLwwbynyL0F2MOYy828dqJHsdIzxiJAKl6G4Vuc779/3NsSn2krZ + f5Rg5cOUxictYKvLiF4lG0ue6MLsfOZijUwrv1SEYxUwrvUC4G2ndYhfUIExAC5Ty1rKv/3VqxJt + FqO/QJNyjCxAkJUgvd9aK51Y06qklzv1bJhVtfyGJMunqt+7RBlWDXtg/pK8VkNlWXnVix5+DfLV + sCbKLVghtevITpznKuURHSwYLYuODpu9wH8jZk1kK/zIubQC/2WgZCQnzFRSVyCEi0zo9QHjClzI + H4QtNRYj7ITuIHTfd6E7JZbqHzOcDouWt71kQutvIrvh7yxcdwFS4/RSlHV9Ei7daHvLGow/Bkxq + T+Q1l5fU7XG0Mici3rHQvUqp/qdM0uaDV0NQCko4qUSt8w2UoZcC451tw3rbiUyy/2iZU6xE8+Mp + NOa8IP9Ppfp6FC2QAeRM0kup1kVxVeirIn3kfGG0g6ddBWHcMab2jRN1PZqrQ3Mct+0+IuW94371 + 3cLgEPEeol2rZgHUREI9wKekNtAHH5KzjC4vWRXSX1hFErOm584axiqVV8NHO9zrFgPrcIshjzk= headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -627,17 +763,22 @@ interactions: Content-Type: - application/octet-stream If-Match: - - '"0x8D7597292E32FE3"' + - '"0x8DA4816073C1E4A"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "MFqrsC433+y9YLbQiWBCvVXllUBVsrLuWT7z+KYN8VSRoxxCf5NzhQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "ScVxciUXcgqM8tM4TBwqvA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=page response: @@ -647,21 +788,21 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT etag: - - '"0x8D7597292EB95D5"' + - '"0x8DA481607485181"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: - '0' x-ms-content-crc64: - - fEYdB4FWArg= + - jiWWejPQVdw= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -675,27 +816,86 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '512' + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:07 GMT + etag: + - '"0x8DA481607485181"' + last-modified: + - Mon, 06 Jun 2022 23:41:07 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:07 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "MFqrsC433+y9YLbQiWBCvVXllUBVsrLuWT7z+KYN8VSRoxxCf5NzhQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "ScVxciUXcgqM8tM4TBwqvA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: body: string: !!binary | - Y6xSS72MhPQ8b77ziW2GepUu+1AU+9EbDtIvc/NBEahzAQPeDQ+bmjTCQgfaZbC9ioZqZYLkTImr - u78qGKglGzy7YHo5dtINmCdSk8JEgqXvTtaXMJcKnGT1nQV+xd76kKTOnrG96+sr0PbOv7iAgRx5 - nlMoyqbA4R1b3TXWN+8i1oAmz1dsDEG3vw5PjkaLM6E+kUJ09K6tO9QkLBIbQr57LPSOozzphPoO - v2OnkRXPhQxMjxUaKDPFodYbs3Nh3NiCqtEdl7CpmcZ7nrFYYUnaUWvIBeUPaG+PfIV/PqsRZxi0 - 3f/0OkQAyn80rEy56NmFHR+89C/FqKcY2j8xv5lGSF3efZ3PVmcAt9AGGppeD0TeoakyAIlyos3L - 0ERxiSk4SNe5gFP3on5R2kzDXQZ8rUSASHlt8Q/ykntZziBsOLTVD9CJkJDWA4xy2hwBLV8OYDp7 - SVjKWsSU9HK1ANrGwB4L5wAp1LM3/NtgSWNBqpzWXK6cGE6u9BZzKm7R8RBNGoC5mSpKm1rRGuPt - IMuCdQa52HZUgsIxNk0GaGZVwi/zmNbzLxHflpd6lzF4bv4J0+6QQuiTGTTUJxuH2kggnSKDa7uv - K+aMolwGHR7ChwiwUtDN4h8nxKEI/fPDnYaR3EZauABWZbT5MN8oG1RzaofOLgCbxkQBR8jDFyY= + J6dF+S/53+Q4UwXEfJd2p2ZmDBPNPON34KdwlzvyokMA2Vb8vGO8n0odZomOpxnDAvJY9wQ7+PcZ + KfQw2VfC4/t/nZmuxgM2H8RUmLwwbynyL0F2MOYy828dqJHsdIzxiJAKl6G4Vuc779/3NsSn2krZ + f5Rg5cOUxictYKvLiF4lG0ue6MLsfOZijUwrv1SEYxUwrvUC4G2ndYhfUIExAC5Ty1rKv/3VqxJt + FqO/QJNyjCxAkJUgvd9aK51Y06qklzv1bJhVtfyGJMunqt+7RBlWDXtg/pK8VkNlWXnVix5+DfLV + sCbKLVghtevITpznKuURHSwYLYuODpu9wH8jZk1kK/zIubQC/2WgZCQnzFRSVyCEi0zo9QHjClzI + H4QtNRYj7ITuIHTfd6E7JZbqHzOcDouWt71kQutvIrvh7yxcdwFS4/RSlHV9Ei7daHvLGow/Bkxq + T+Q1l5fU7XG0Mici3rHQvUqp/qdM0uaDV0NQCko4qUSt8w2UoZcC451tw3rbiUyy/2iZU6xE8+Mp + NOa8IP9Ppfp6FC2QAeRM0kup1kVxVeirIn3kfGG0g6ddBWHcMab2jRN1PZqrQ3Mct+0+IuW94371 + 3cLgEPEeol2rZgHUREI9wKekNtAHH5KzjC4vWRXSX1hFErOm584axiqVV8NHO9zrFgPrcIshjzk= headers: accept-ranges: - bytes @@ -706,32 +906,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT etag: - - '"0x8D7597292EB95D5"' + - '"0x8DA481607485181"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-sequence-number: - '0' x-ms-blob-type: - PageBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "0Yt83Iu8hwddEldsvJKEHM4cuI/uJ1Qy60PzeQBxDbIFeX7dDT6sgQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "MFqrsC433+y9YLbQiWBCvVXllUBVsrLuWT7z+KYN8VSRoxxCf5NzhQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "U2f4nsmzdQSpNYRKMtRWRA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "ScVxciUXcgqM8tM4TBwqvA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -745,33 +947,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: - application/xml date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT etag: - - '"0x8D7597292EB95D5"' + - '"0x8DA481607485181"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked + vary: + - Origin x-ms-blob-content-length: - '512' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 200 message: OK @@ -779,7 +983,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -787,11 +991,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 23:41:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: DELETE uri: https://storagename.blob.core.windows.net/utcontainer36241550/encryption_page_blob36241550 response: @@ -801,13 +1005,13 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:31 GMT + - Mon, 06 Jun 2022 23:41:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 202 message: Accepted diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_kek.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_kek.yaml index 161a5c38bd30..5e707a9f118d 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_kek.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_kek.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer31d30f8e?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT etag: - - '"0x8D75972932ACD1F"' + - '"0x8DA480DF308675A"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - vS6UEzneUEtQV7rXcNveTw== + HDl+/l6qdsDNWq5WBGttWA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YAPBV+Q46bxsaGnur9ik0acc2WhEWWZcc0ixjDANvCgUHz6Jh4wyvw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "vfLz4YFJUxsF7aBtjNZ9uZePhHPCAoles+GWsz9tDHhHV99zSTpAjw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fTkkdWs8ExlJKKgoz3FyNQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "FvATIyqeeozF0c3D+dZGlA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer31d30f8e/encryption_block_blob31d30f8e response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - 4/dgi6kD1aMJORb1VM8+yQ== + - vpP+Pi7rvWKf5tW6AjtIfw== date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT etag: - - '"0x8D7597293346BCA"' + - '"0x8DA480DF3155AD5"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - ntXBE876VUY= + - sbgR6IDNeFk= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:17 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer31d30f8e/encryption_block_blob31d30f8e + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - vpP+Pi7rvWKf5tW6AjtIfw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:17 GMT + etag: + - '"0x8DA480DF3155AD5"' + last-modified: + - Mon, 06 Jun 2022 22:43:17 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:17 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "vfLz4YFJUxsF7aBtjNZ9uZePhHPCAoles+GWsz9tDHhHV99zSTpAjw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "FvATIyqeeozF0c3D+dZGlA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer31d30f8e/encryption_block_blob31d30f8e response: body: string: !!binary | - vS6UEzneUEtQV7rXcNveTw== + HDl+/l6qdsDNWq5WBGttWA== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT etag: - - '"0x8D7597293346BCA"' + - '"0x8DA480DF3155AD5"' last-modified: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - 4/dgi6kD1aMJORb1VM8+yQ== + - vpP+Pi7rvWKf5tW6AjtIfw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:32 GMT + - Mon, 06 Jun 2022 22:43:17 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YAPBV+Q46bxsaGnur9ik0acc2WhEWWZcc0ixjDANvCgUHz6Jh4wyvw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "vfLz4YFJUxsF7aBtjNZ9uZePhHPCAoles+GWsz9tDHhHV99zSTpAjw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fTkkdWs8ExlJKKgoz3FyNQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "FvATIyqeeozF0c3D+dZGlA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_aligns_on_16_byte_block.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_aligns_on_16_byte_block.yaml index 0299ace4e83f..0d9259628e46 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_aligns_on_16_byte_block.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_aligns_on_16_byte_block.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4ff319bc?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT etag: - - '"0x8D7597293D767DD"' + - '"0x8DA480E46A16A29"' last-modified: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 9nAwiwgGFd1jOdafFOibrD4JgjP5HzIQCGQXIozRNS4OFO9SqSf/P2OqC0S4mJVYuwso6EOpjvKD - Z1ol4QSLHxoMPyGPOq1b3DqpLnUNboY9blBzO2jzoEB3FPBasIdmeIItLCOVkWEVcKogZYMhNZPy - Vwkk1wgi9gMGmVsiqLlrx94Nhrq95hheXmLYZPOW + RyN1kSsj6R//ncdkMLDeUeyj2Z3+LBefjP9d6PJ5kQLKUpKmqsSYHe4nsb1KeaFcXBzaGIkYx7yE + 7SX5PNv+u5mtHFlxiLqojJVyQl55HJKG9ROi0/8rEJP/GfQGTQdV2DWi/ldqWQY0DQeZkxHRTUDx + 57qoCYnpArcVXvtlY44upEjuWDFQ9dy1+Y7B8X97 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:37 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "TnC1yZc6V6o+47IjtMTHAamxXVAon37R4XsBYxlzjOXCf+iIEfxy3w==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "v5nEFwZR7GICMZ/vkaJwzVDFd+Ya2J9y/r2o7/rY/VE6u9PIOagjeQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "2/fXjCFEkz/LPa3YaHaONQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jzEsN8P7P1XSP5QLSef7kQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4ff319bc/encryption_block_blob4ff319bc response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - jBXoup7dV/XW89WZU77yPQ== + - mhFQlJaf3qoMCwcNhOw1wg== date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT etag: - - '"0x8D7597293E11EEC"' + - '"0x8DA480E46ACB423"' last-modified: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - yucJL8OpNuI= + - 0ndLjqPLB4g= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,19 +105,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:37 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4ff319bc/encryption_block_blob4ff319bc + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - mhFQlJaf3qoMCwcNhOw1wg== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:37 GMT + etag: + - '"0x8DA480E46ACB423"' + last-modified: + - Mon, 06 Jun 2022 22:45:37 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:37 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "v5nEFwZR7GICMZ/vkaJwzVDFd+Ya2J9y/r2o7/rY/VE6u9PIOagjeQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "jzEsN8P7P1XSP5QLSef7kQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:37 GMT x-ms-range: - bytes=32-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer4ff319bc/encryption_block_blob4ff319bc response: body: string: !!binary | - DhTvUqkn/z9jqgtEuJiVWLsLKOhDqY7yg2daJeEEix8= + ylKSpqrEmB3uJ7G9SnmhXFwc2hiJGMe8hO0l+Tzb/rs= headers: accept-ranges: - bytes @@ -128,32 +191,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:38 GMT etag: - - '"0x8D7597293E11EEC"' + - '"0x8DA480E46ACB423"' last-modified: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - jBXoup7dV/XW89WZU77yPQ== + - mhFQlJaf3qoMCwcNhOw1wg== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:37 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "TnC1yZc6V6o+47IjtMTHAamxXVAon37R4XsBYxlzjOXCf+iIEfxy3w==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "v5nEFwZR7GICMZ/vkaJwzVDFd+Ya2J9y/r2o7/rY/VE6u9PIOagjeQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "2/fXjCFEkz/LPa3YaHaONQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jzEsN8P7P1XSP5QLSef7kQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_beginning_to_middle.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_beginning_to_middle.yaml index 06262d9d7f26..bf4f4ff0b214 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_beginning_to_middle.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_beginning_to_middle.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:19 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainereecf1880?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:19 GMT etag: - - '"0x8D75972941060BF"' + - '"0x8DA480E3C168071"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - ZBNluhezFCHZ0TP46pex08o86ypFA+X3eVIV10zKXI8LyAZsa3Kcti+XOtYm3N6N9lhJI5Zp/q3w - 2k49HCKugQFFQAz5UU/9l+5Ru2PUPgOyIWvUi6GyRxFqMv1264YI/kpEtK5dRtE5bco15oX0hadr - GuZtZ/AqU1M2V14/GKHT8EWx0knbXjDeG+jTRl+q + dAIUEHQr2FZQY0C6YcopGm4Lz7fE83q30pGgg/SjklbyoD74EGul86F+exxQhyPd1S4bBBqLgTxV + 0UmocUAeLhb6zDXXzh9+c6dIpsoPql+DG/yKUh8BGikN6A97OhPLJ+m4gggBtCOgULsc4l8kSJEd + fUBNLvJqvIB/o1WDphuoIDwqGmyKhrJ/qzeKni40 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "J9Z/HUtzEuXmEY0wZxCP4t9LRqcWqGzybAslkW4Wiln6pJmw7UieVA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "CFKLjpTdlkXg7i9rmeH99HiAMkKkQ0HPYOjZEt/famXk06/nRhXwZA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "nELo8viP8Ujx5kugUNXddQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "y5DM4PF5rmoAN8To3Y1rKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainereecf1880/encryption_block_blobeecf1880 response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - qtSwoYMVlJUQDQj3VZBQ8A== + - HKJZCZUn/j/ts5WaBjuyNQ== date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:19 GMT etag: - - '"0x8D75972941901FF"' + - '"0x8DA480E3C258F47"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - xHb98sXHDjY= + - Tkfn6M5Ay48= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,20 +105,83 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:20 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainereecf1880/encryption_block_blobeecf1880 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - HKJZCZUn/j/ts5WaBjuyNQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:19 GMT + etag: + - '"0x8DA480E3C258F47"' + last-modified: + - Mon, 06 Jun 2022 22:45:20 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:20 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "CFKLjpTdlkXg7i9rmeH99HiAMkKkQ0HPYOjZEt/famXk06/nRhXwZA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "y5DM4PF5rmoAN8To3Y1rKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT x-ms-range: - bytes=0-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainereecf1880/encryption_block_blobeecf1880 response: body: string: !!binary | - ZBNluhezFCHZ0TP46pex08o86ypFA+X3eVIV10zKXI8LyAZsa3Kcti+XOtYm3N6N9lhJI5Zp/q3w - 2k49HCKugQ== + dAIUEHQr2FZQY0C6YcopGm4Lz7fE83q30pGgg/SjklbyoD74EGul86F+exxQhyPd1S4bBBqLgTxV + 0UmocUAeLg== headers: accept-ranges: - bytes @@ -129,32 +192,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:33 GMT + - Mon, 06 Jun 2022 22:45:20 GMT etag: - - '"0x8D75972941901FF"' + - '"0x8DA480E3C258F47"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - qtSwoYMVlJUQDQj3VZBQ8A== + - HKJZCZUn/j/ts5WaBjuyNQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:20 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "J9Z/HUtzEuXmEY0wZxCP4t9LRqcWqGzybAslkW4Wiln6pJmw7UieVA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "CFKLjpTdlkXg7i9rmeH99HiAMkKkQ0HPYOjZEt/famXk06/nRhXwZA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "nELo8viP8Ujx5kugUNXddQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "y5DM4PF5rmoAN8To3Y1rKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_block_align.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_block_align.yaml index 66498288a72e..2ac4857ef57a 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_block_align.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_block_align.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer70d81e2e?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:42 GMT etag: - - '"0x8D759729444DDEE"' + - '"0x8DA480E49FF7639"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - JOANPgnnpyxEsdPWbc+KoprXZLaK2lDYj/jVB+IXwJ5kuLNmJL9GqmFYjHLt0uQWbemtXbpjmKDl - Q1ArwcwsEl348ipUPf7FeUcsFswRGavROq3rgeldeEeohWZ8UXh6Vo9+6xSmKPdR+ga7Ap6jV8Td - vaQUoxBIKCBFUlgO5Cqf4zawC921BzEDmBH/2iZ/ + motxf1iROt9rVRGkmVi6anGN98+nuHZDJff/UliYnb75vxvHC0wyqUS4atV3hdM86Q5FTysOrnaJ + ORYpgPefPOW+C1e/KqyIwvofRbdi2el2j6vvFBzlbCqmnyaNJ48iEZegDBxgzZ12+q/NbXqOmi7s + InsJPtO1gVmsdqLEeZ8O2EKgMtJzMvgGy/t0wOzN headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "QvjyC3HNfOuIBYnv6iQmce+5YnOpTTmgikYPjJ5L3QagdYDPSCLAGQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "EgGRFNL1Pm1KLFTiOhu/0pU5jkwMjDvghczmF2vZZGUiEb3y/DqO0Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "VN0xXtGUTtjWRGcJxm1BVA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jkk2JnfxEckOErHCVKiJ/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer70d81e2e/encryption_block_blob70d81e2e response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - FzROEwF2dxCQHF6KbTdEfg== + - qAvLBBVvaCIjsDysrCl2bA== date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:42 GMT etag: - - '"0x8D75972944E4C7E"' + - '"0x8DA480E4A0A2E04"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - YW5mfDZJkro= + - DFkLYxvxgvs= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,20 +105,83 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:43 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer70d81e2e/encryption_block_blob70d81e2e + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - qAvLBBVvaCIjsDysrCl2bA== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:42 GMT + etag: + - '"0x8DA480E4A0A2E04"' + last-modified: + - Mon, 06 Jun 2022 22:45:43 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:43 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "EgGRFNL1Pm1KLFTiOhu/0pU5jkwMjDvghczmF2vZZGUiEb3y/DqO0Q==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "jkk2JnfxEckOErHCVKiJ/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT x-ms-range: - bytes=0-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer70d81e2e/encryption_block_blob70d81e2e response: body: string: !!binary | - JOANPgnnpyxEsdPWbc+KoprXZLaK2lDYj/jVB+IXwJ5kuLNmJL9GqmFYjHLt0uQWbemtXbpjmKDl - Q1ArwcwsEg== + motxf1iROt9rVRGkmVi6anGN98+nuHZDJff/UliYnb75vxvHC0wyqUS4atV3hdM86Q5FTysOrnaJ + ORYpgPefPA== headers: accept-ranges: - bytes @@ -129,32 +192,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT etag: - - '"0x8D75972944E4C7E"' + - '"0x8DA480E4A0A2E04"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - FzROEwF2dxCQHF6KbTdEfg== + - qAvLBBVvaCIjsDysrCl2bA== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:43 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "QvjyC3HNfOuIBYnv6iQmce+5YnOpTTmgikYPjJ5L3QagdYDPSCLAGQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "EgGRFNL1Pm1KLFTiOhu/0pU5jkwMjDvghczmF2vZZGUiEb3y/DqO0Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "VN0xXtGUTtjWRGcJxm1BVA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jkk2JnfxEckOErHCVKiJ/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_iv.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_iv.yaml index 30aea7de6fad..8601802dbd42 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_iv.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_expanded_to_beginning_iv.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:48 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer6ff01a98?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:48 GMT etag: - - '"0x8D7597294823DD6"' + - '"0x8DA480E4D660CB8"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - wX+1j/6woxk0o/9pydIkWHEyNXkdLAiutEDR7veNYvrk1t5VuTIojr5NiMI1eBsEfZkDfaFWSmUD - +g/LQVipJqS8fVwOsy3VCxlz8trII7fVPAD1a+lYoiM7TMa5qnUCArbWR+zf62sesSewCrxb6HD5 - IyCEP2J7GxGQ/aVtKD6y2VqmVPRVzkOdI6B2Mfzs + 7tFSTeB4V0WEClXCZXROejXwGD2+uX8MlnOb1pjd+jIr/NJNgBry8J1g3m/OeZAvOATszW4ZMnrC + aGxciIJnNiGHHj4TaQPAW4VK8LHeKMe12oJ+oGj0KE7dxJ1B0zR4KxSCPKYpOr3aIGVEa3IcpoED + yNUgpHLw+91GlUlZuluLar5FXoo3MhAczkhVbUON headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:49 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "gEofEA4MBmzHPJCjF5KZfvjExOmAr83wPsPDqmPqgU8TQgwTaLJBMA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "9gEokRXkpjFp9znGSN+YYc0E7I9ijegeMrT/oiaE1qqDL4xqVbQc3w==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "WIg2UeqTVYZ7xbk6oUTAXA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "t+B2e3fcDOJnC5S7j8rEng==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer6ff01a98/encryption_block_blob6ff01a98 response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - KyTU8NUV3ZBTft3dMdo55Q== + - ZbfLmFkOkDmULJXZgeKLVQ== date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:48 GMT etag: - - '"0x8D75972948B1269"' + - '"0x8DA480E4D73DB24"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - v1uS3SCXAfs= + - Nbn8BR2dYks= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,19 +105,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:49 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6ff01a98/encryption_block_blob6ff01a98 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - ZbfLmFkOkDmULJXZgeKLVQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:48 GMT + etag: + - '"0x8DA480E4D73DB24"' + last-modified: + - Mon, 06 Jun 2022 22:45:49 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:49 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "9gEokRXkpjFp9znGSN+YYc0E7I9ijegeMrT/oiaE1qqDL4xqVbQc3w==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "t+B2e3fcDOJnC5S7j8rEng==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:49 GMT x-ms-range: - bytes=0-47 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer6ff01a98/encryption_block_blob6ff01a98 response: body: string: !!binary | - wX+1j/6woxk0o/9pydIkWHEyNXkdLAiutEDR7veNYvrk1t5VuTIojr5NiMI1eBsE + 7tFSTeB4V0WEClXCZXROejXwGD2+uX8MlnOb1pjd+jIr/NJNgBry8J1g3m/OeZAv headers: accept-ranges: - bytes @@ -128,32 +191,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:48 GMT etag: - - '"0x8D75972948B1269"' + - '"0x8DA480E4D73DB24"' last-modified: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - KyTU8NUV3ZBTft3dMdo55Q== + - ZbfLmFkOkDmULJXZgeKLVQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:34 GMT + - Mon, 06 Jun 2022 22:45:49 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "gEofEA4MBmzHPJCjF5KZfvjExOmAr83wPsPDqmPqgU8TQgwTaLJBMA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "9gEokRXkpjFp9znGSN+YYc0E7I9ijegeMrT/oiaE1qqDL4xqVbQc3w==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "WIg2UeqTVYZ7xbk6oUTAXA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "t+B2e3fcDOJnC5S7j8rEng==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_end.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_end.yaml index 3d7ed403ecea..daaba3bcf953 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_end.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_end.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer61c31606?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:24 GMT etag: - - '"0x8D7597294B8BEBF"' + - '"0x8DA480E3F758101"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 9NgVPKcsk7RgTVkF+bBKD3NxVfFdgDeFG4ABecOT5JgF6I1HtZKhVu5jkhS+sQWyCtJHD4wZOT7r - +Ol6LITkNWp3/SNkuN7qV0sVSCImzwVfX50SA15kXk/MLMlM3n7me5Ti5acBOCxTgkJqBKRVaf+n - 081iKlam4M+lWlAqEd73XGv8c04l4R/AvjqZXIwZ + Ggt4zZJD1YA1hlZfynXoPJsrrWAK56QFgMkGBVddUkdQSuhPwiNbSShrh9veVZb5un4bnFjhFQh5 + aShBw7P74NrZYuY1Op/DW3vFoQS+C+DKSgIJUTpapTgpgyCcnB4wdb/vF+ZMZDIta9Wgg94mjsSv + c/DsW/p7TpDF5Za2UTQohoWlTKuerg9rtgyqkrqC headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ahJPF3M+Y9GNGXaYvls4ub3O6eR8aCrjfgN6/jPVl20z4TA9dsRbeQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "C3Jr+awqAatI/iLQRqth8GTbPI5Mb1dSIq6taHEsphq4e3JReeUYRA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "DDiS+a4HILhFdeWOTVv2VA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "xtQyoj7pnimXW0MQaqC87A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer61c31606/encryption_block_blob61c31606 response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - s03ipnRMEWWYdA30BwQEhw== + - wekc875ZAmEHY+1lfOJTSw== date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT etag: - - '"0x8D7597294C1E3B8"' + - '"0x8DA480E3F815BB8"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - Vs+2fimbBEA= + - KUvCxXq+Yus= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,19 +105,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:25 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer61c31606/encryption_block_blob61c31606 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - wekc875ZAmEHY+1lfOJTSw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:25 GMT + etag: + - '"0x8DA480E3F815BB8"' + last-modified: + - Mon, 06 Jun 2022 22:45:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:25 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "C3Jr+awqAatI/iLQRqth8GTbPI5Mb1dSIq6taHEsphq4e3JReeUYRA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "xtQyoj7pnimXW0MQaqC87A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT x-ms-range: - bytes=80-127 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer61c31606/encryption_block_blob61c31606 response: body: string: !!binary | - X1+dEgNeZF5PzCzJTN5+5nuU4uWnATgsU4JCagSkVWn/p9PNYipWpuDPpVpQKhHe + ykoCCVE6WqU4KYMgnJweMHW/7xfmTGQyLWvVoIPeJo7Er3Pw7Fv6e06QxeWWtlE0 headers: accept-ranges: - bytes @@ -128,32 +191,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT etag: - - '"0x8D7597294C1E3B8"' + - '"0x8DA480E3F815BB8"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - s03ipnRMEWWYdA30BwQEhw== + - wekc875ZAmEHY+1lfOJTSw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ahJPF3M+Y9GNGXaYvls4ub3O6eR8aCrjfgN6/jPVl20z4TA9dsRbeQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "C3Jr+awqAatI/iLQRqth8GTbPI5Mb1dSIq6taHEsphq4e3JReeUYRA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "DDiS+a4HILhFdeWOTVv2VA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "xtQyoj7pnimXW0MQaqC87A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -167,20 +232,83 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:26 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer61c31606/encryption_block_blob61c31606 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - wekc875ZAmEHY+1lfOJTSw== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:25 GMT + etag: + - '"0x8DA480E3F815BB8"' + last-modified: + - Mon, 06 Jun 2022 22:45:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:25 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "C3Jr+awqAatI/iLQRqth8GTbPI5Mb1dSIq6taHEsphq4e3JReeUYRA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "xtQyoj7pnimXW0MQaqC87A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:26 GMT x-ms-range: - bytes=80-1123 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer61c31606/encryption_block_blob61c31606 response: body: string: !!binary | - X1+dEgNeZF5PzCzJTN5+5nuU4uWnATgsU4JCagSkVWn/p9PNYipWpuDPpVpQKhHe91xr/HNOJeEf - wL46mVyMGQ== + ykoCCVE6WqU4KYMgnJweMHW/7xfmTGQyLWvVoIPeJo7Er3Pw7Fv6e06QxeWWtlE0KIaFpUyrnq4P + a7YMqpK6gg== headers: accept-ranges: - bytes @@ -191,32 +319,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT etag: - - '"0x8D7597294C1E3B8"' + - '"0x8DA480E3F815BB8"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - s03ipnRMEWWYdA30BwQEhw== + - wekc875ZAmEHY+1lfOJTSw== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:25 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ahJPF3M+Y9GNGXaYvls4ub3O6eR8aCrjfgN6/jPVl20z4TA9dsRbeQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "C3Jr+awqAatI/iLQRqth8GTbPI5Mb1dSIq6taHEsphq4e3JReeUYRA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "DDiS+a4HILhFdeWOTVv2VA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "xtQyoj7pnimXW0MQaqC87A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_middle.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_middle.yaml index 47a31a1be1e5..b2b0ad2803b9 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_middle.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_range_middle_to_middle.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainera655173e?restype=container response: @@ -25,26 +25,26 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT etag: - - '"0x8D7597294F8D989"' + - '"0x8DA480E42D49AD7"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - O7peGKnaqzjkWSghUIB+/C2hw9Qj4ij+2bF9yUXiUj9TO7demoqfD/90W9HvGvzNzntTRxBaTAOO - DwqaITBuoYYFhWaIslKuMP1YqxjWP6AlxFeGyudzYBLfXuRDmNzagw9GDcilyLBlU2d6xJqpqsra - eHWxuazIy7SKeRexhgRAhWSIJX0nL0CvC5jra59O + 1vlEhxGm5YNzdlf7hAfZHqdoOdjl2+yhFKX+drblwcQXjmyE3PzBneTTl/bD7jG/6+MKpj5OnYL4 + kamlxafubPrvreBSbkMASBpKovaZ4bfKWEahrDcbO9dSUL/lUoUuXd5A9yoHLLjJY7r/9HQEox7O + v+NjWtw0ZG0tgrEB+FnI60fgk0Ik/btjDlmQDuo/ headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -56,18 +56,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YhnBPfeAOjyBxyBUU6s7XBUELO6DHpyacPUvRspphVAsvYj9R5ApfA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+pept3KEl3gzf6/V8TOj8erZcBQ7OSMjm/n6SkMiOYc/EGSTyJRqUA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "TYZcm/CT5pIgmudemeK1Yw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "eTcoUXlJoL6rcH0Uieuidg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainera655173e/encryption_block_bloba655173e response: @@ -77,21 +77,21 @@ interactions: content-length: - '0' content-md5: - - X7LYzCzRkPY1yiDFnaRSrA== + - wxt7jB3SIZweYqS58cNxig== date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT etag: - - '"0x8D759729509CF2E"' + - '"0x8DA480E42E00DED"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - V8fGncdBwUo= + - 1xk9uT0NU78= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -105,20 +105,83 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:31 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera655173e/encryption_block_bloba655173e + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '144' + content-md5: + - wxt7jB3SIZweYqS58cNxig== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:31 GMT + etag: + - '"0x8DA480E42E00DED"' + last-modified: + - Mon, 06 Jun 2022 22:45:31 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:31 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+pept3KEl3gzf6/V8TOj8erZcBQ7OSMjm/n6SkMiOYc/EGSTyJRqUA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "eTcoUXlJoL6rcH0Uieuidg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:45:31 GMT x-ms-range: - bytes=0-111 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainera655173e/encryption_block_bloba655173e response: body: string: !!binary | - O7peGKnaqzjkWSghUIB+/C2hw9Qj4ij+2bF9yUXiUj9TO7demoqfD/90W9HvGvzNzntTRxBaTAOO - DwqaITBuoYYFhWaIslKuMP1YqxjWP6AlxFeGyudzYBLfXuRDmNzagw9GDcilyLBlU2d6xJqpqg== + 1vlEhxGm5YNzdlf7hAfZHqdoOdjl2+yhFKX+drblwcQXjmyE3PzBneTTl/bD7jG/6+MKpj5OnYL4 + kamlxafubPrvreBSbkMASBpKovaZ4bfKWEahrDcbO9dSUL/lUoUuXd5A9yoHLLjJY7r/9HQEow== headers: accept-ranges: - bytes @@ -129,32 +192,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT etag: - - '"0x8D759729509CF2E"' + - '"0x8DA480E42E00DED"' last-modified: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - X7LYzCzRkPY1yiDFnaRSrA== + - wxt7jB3SIZweYqS58cNxig== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:45:31 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YhnBPfeAOjyBxyBUU6s7XBUELO6DHpyacPUvRspphVAsvYj9R5ApfA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+pept3KEl3gzf6/V8TOj8erZcBQ7OSMjm/n6SkMiOYc/EGSTyJRqUA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "TYZcm/CT5pIgmudemeK1Yw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "eTcoUXlJoL6rcH0Uieuidg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_resolver.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_resolver.yaml index cbb08dd175ce..b879ba28cd0b 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_resolver.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_resolver.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:22 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer867a11c5?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:43:22 GMT etag: - - '"0x8D759729533EA63"' + - '"0x8DA480DF641BC9F"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - Z6wNiXtDZif9cSzLcK0tqw== + 5BhaTGanzxao+g8r7JJ6CA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:22 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ZHxkOx0mhYRCY9ERAd3utfnxKQYWNzgxvhZGn/9PBUfRG6SdPYrOAQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Ops5gqfaNTAjb+VTT82nr2Ytpo9I5p41DV5GmJOYnQRbFbopbk72KA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "k+i5Zp21PkpRvRs0EUJ1EQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "SH6GfMXQf8JL8wrTCc8SRg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer867a11c5/encryption_block_blob867a11c5 response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - MND9kT/m+Ima0vX3dn+sHw== + - gWb1Q2HEPVP+2e/a05eejQ== date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:43:22 GMT etag: - - '"0x8D759729542006F"' + - '"0x8DA480DF64E892D"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - isMDIoyBpk4= + - GoIJGAIt7uA= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:23 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer867a11c5/encryption_block_blob867a11c5 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - gWb1Q2HEPVP+2e/a05eejQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:22 GMT + etag: + - '"0x8DA480DF64E892D"' + last-modified: + - Mon, 06 Jun 2022 22:43:23 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:23 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Ops5gqfaNTAjb+VTT82nr2Ytpo9I5p41DV5GmJOYnQRbFbopbk72KA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "SH6GfMXQf8JL8wrTCc8SRg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:23 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer867a11c5/encryption_block_blob867a11c5 response: body: string: !!binary | - Z6wNiXtDZif9cSzLcK0tqw== + 5BhaTGanzxao+g8r7JJ6CA== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 22:43:22 GMT etag: - - '"0x8D759729542006F"' + - '"0x8DA480DF64E892D"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - MND9kT/m+Ima0vX3dn+sHw== + - gWb1Q2HEPVP+2e/a05eejQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:43:23 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ZHxkOx0mhYRCY9ERAd3utfnxKQYWNzgxvhZGn/9PBUfRG6SdPYrOAQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Ops5gqfaNTAjb+VTT82nr2Ytpo9I5p41DV5GmJOYnQRbFbopbk72KA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "k+i5Zp21PkpRvRs0EUJ1EQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "SH6GfMXQf8JL8wrTCc8SRg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml index cd29a50a09af..098a8f94df23 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_no_policy.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer9237171b?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:00 GMT etag: - - '"0x8D75972956871F7"' + - '"0x8DA480E54876C79"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - DFYPDSi2uBWW1zeFEn32MA== + shZ2oylrE35g7ghAEUGn9w== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:01 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SXCNwuNv9y0hrpJKLJaU9ORDbNWrfR4afOOq3zEaWssyt0g1Q8HtBA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "55KyNDkJp23dBvkM6wggimvV2cx07BW7CFPzndcNMfUHpoO8Fh4dwQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "MFRySDzLesgT+xHPnGv8Ag==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "tdEdoh8F44Q49b+2F5sp6Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer9237171b/encryption_block_blob9237171b response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - ufHQGhHsu2UymJz7JlzA/A== + - smxFOiWV6ZqnhQfloGk3Bw== date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:00 GMT etag: - - '"0x8D759729572680A"' + - '"0x8DA480E549F338B"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 22:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - cIhoS44UvH8= + - 6XMMpi1urOA= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_unencrypted_blob.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_unencrypted_blob.yaml index 79e4999a8a50..9f52d286c7f1 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_unencrypted_blob.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_strict_mode_unencrypted_blob.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:27 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer403f19fe?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 23:40:27 GMT etag: - - '"0x8D7597295939A30"' + - '"0x8DA4815EFD21552"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:28 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -41,7 +41,7 @@ interactions: body: Foo headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -53,13 +53,13 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:28 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer403f19fe/encryption_block_blob403f19fe response: @@ -71,11 +71,11 @@ interactions: content-md5: - E1bGfXrRY42Ba/uCLdLCXQ== date: - - Fri, 25 Oct 2019 17:41:35 GMT + - Mon, 06 Jun 2022 23:40:27 GMT etag: - - '"0x8D75972959D023B"' + - '"0x8DA4815EFE0DF93"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:28 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -83,7 +83,7 @@ interactions: x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -97,13 +97,71 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:40:28 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer403f19fe/encryption_block_blob403f19fe + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '3' + content-md5: + - E1bGfXrRY42Ba/uCLdLCXQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:40:27 GMT + etag: + - '"0x8DA4815EFE0DF93"' + last-modified: + - Mon, 06 Jun 2022 23:40:28 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:40:28 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:28 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer403f19fe/encryption_block_blob403f19fe response: @@ -119,19 +177,21 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:27 GMT etag: - - '"0x8D75972959D023B"' + - '"0x8DA4815EFE0DF93"' last-modified: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:28 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - E1bGfXrRY42Ba/uCLdLCXQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:40:28 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -139,7 +199,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_to_star.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_to_star.yaml index d7f6adfc9bec..c94ef65f5020 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_to_star.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_get_blob_to_star.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer74a6114f?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:41:14 GMT etag: - - '"0x8D7597295C8F6A1"' + - '"0x8DA48160C4AD6E3"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - iSZMv+uR2VXtDI6FdVI0fw== + YIyG//GeCgFO50o1wNzuWQ== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+JM/QgauidY4SHUHYZ8pzSy+g0tymVNmLICuTKPdVYJP+YRQjNwogQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fz8J4kJiszdcK5FxOjmgyA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - GixqXkd49s/ODOPB72z3TQ== + - CHeV11/C2H7gm2byEksVRQ== date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:41:15 GMT etag: - - '"0x8D7597295D29ADC"' + - '"0x8DA48160C573387"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - mFTduTTk+ts= + - FdIObkDZTR4= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:16 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - CHeV11/C2H7gm2byEksVRQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:15 GMT + etag: + - '"0x8DA48160C573387"' + last-modified: + - Mon, 06 Jun 2022 23:41:15 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:15 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f response: body: string: !!binary | - iSZMv+uR2VXtDI6FdVI0fw== + YIyG//GeCgFO50o1wNzuWQ== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:41:15 GMT etag: - - '"0x8D7597295D29ADC"' + - '"0x8DA48160C573387"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - GixqXkd49s/ODOPB72z3TQ== + - CHeV11/C2H7gm2byEksVRQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+JM/QgauidY4SHUHYZ8pzSy+g0tymVNmLICuTKPdVYJP+YRQjNwogQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fz8J4kJiszdcK5FxOjmgyA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -165,19 +230,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:16 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - CHeV11/C2H7gm2byEksVRQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:15 GMT + etag: + - '"0x8DA48160C573387"' + last-modified: + - Mon, 06 Jun 2022 23:41:15 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:15 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f response: body: string: !!binary | - iSZMv+uR2VXtDI6FdVI0fw== + YIyG//GeCgFO50o1wNzuWQ== headers: accept-ranges: - bytes @@ -188,32 +316,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:36 GMT + - Mon, 06 Jun 2022 23:41:15 GMT etag: - - '"0x8D7597295D29ADC"' + - '"0x8DA48160C573387"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - GixqXkd49s/ODOPB72z3TQ== + - CHeV11/C2H7gm2byEksVRQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+JM/QgauidY4SHUHYZ8pzSy+g0tymVNmLICuTKPdVYJP+YRQjNwogQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fz8J4kJiszdcK5FxOjmgyA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -227,19 +357,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:16 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - CHeV11/C2H7gm2byEksVRQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:15 GMT + etag: + - '"0x8DA48160C573387"' + last-modified: + - Mon, 06 Jun 2022 23:41:15 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:15 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f response: body: string: !!binary | - iSZMv+uR2VXtDI6FdVI0fw== + YIyG//GeCgFO50o1wNzuWQ== headers: accept-ranges: - bytes @@ -250,32 +443,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT etag: - - '"0x8D7597295D29ADC"' + - '"0x8DA48160C573387"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - GixqXkd49s/ODOPB72z3TQ== + - CHeV11/C2H7gm2byEksVRQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+JM/QgauidY4SHUHYZ8pzSy+g0tymVNmLICuTKPdVYJP+YRQjNwogQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fz8J4kJiszdcK5FxOjmgyA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -289,19 +484,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:41:16 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - CHeV11/C2H7gm2byEksVRQ== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 23:41:15 GMT + etag: + - '"0x8DA48160C573387"' + last-modified: + - Mon, 06 Jun 2022 23:41:15 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 23:41:15 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer74a6114f/encryption_block_blob74a6114f response: body: string: !!binary | - iSZMv+uR2VXtDI6FdVI0fw== + YIyG//GeCgFO50o1wNzuWQ== headers: accept-ranges: - bytes @@ -312,32 +570,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT etag: - - '"0x8D7597295D29ADC"' + - '"0x8DA48160C573387"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - GixqXkd49s/ODOPB72z3TQ== + - CHeV11/C2H7gm2byEksVRQ== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:41:15 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+JM/QgauidY4SHUHYZ8pzSy+g0tymVNmLICuTKPdVYJP+YRQjNwogQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3SqOda6G9IsK+xuMxnZLb5WztxMdhmg0W/WNTxvujKrPEavYjj8lnA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "fz8J4kJiszdcK5FxOjmgyA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "RDrLj0nvpNSPnGRBDxTEOw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_append.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_append.yaml index d56c3d080f85..3d25d08f2a04 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_append.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_append.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:40 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer4e6315c2?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:40 GMT etag: - - '"0x8D75972961AB882"' + - '"0x8DA4815F7836C79"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:41 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_block.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_block.yaml index d97173828282..4dacf9f9092e 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_block.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_block.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:35 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer388c1555?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:34 GMT etag: - - '"0x8D75972964089AB"' + - '"0x8DA4815F417C159"' last-modified: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:35 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_page.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_page.yaml index b94ff2c94f5e..ba31f1d5d73f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_page.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_methods_fail_page.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 23:40:46 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer234014e7?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 23:40:46 GMT etag: - - '"0x8D75972966A3E49"' + - '"0x8DA4815FB38E26C"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 23:40:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_value_kek_wrap.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_value_kek_wrap.yaml index 03c5104ba656..2783c78363c6 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_value_kek_wrap.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_invalid_value_kek_wrap.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:04 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere5e113cc?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:37 GMT + - Mon, 06 Jun 2022 22:43:04 GMT etag: - - '"0x8D7597296BE6332"' + - '"0x8DA480DEB50E165"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_unwrap.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_unwrap.yaml index de8daa3e49d5..a3ea539939f0 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_unwrap.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_unwrap.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer684c1679?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:09 GMT etag: - - '"0x8D7597296E3F7BA"' + - '"0x8DA480DEEC3EE30"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - mWN8QqSMci5Ywa7+VOmocw== + fyi/ELf2ea5+qQ22bNOPfQ== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:39 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YRlxuevB8RL4e+2W0jBaNetyIXd7CZr6JT78KDJa1WAXVAhdwIZLOw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "bGTlKI5MsFWgr5h1IfFHKNhYqHn19WFFVGTa4p3SKNNvxcVyM8+a6A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "sciYJTbejhXyTpyMmitRoA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "oTSAZ3TXZDqLEmYgP0LnIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer684c1679/encryption_block_blob684c1679 response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - BG6MY8YNJezhj4azjdixdw== + - pKhQH//5cvx3zovpL8wI4w== date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:09 GMT etag: - - '"0x8D7597296EDB427"' + - '"0x8DA480DEED25D70"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - sCi2QTl6eRg= + - A5z3KGqzTTI= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:10 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer684c1679/encryption_block_blob684c1679 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - pKhQH//5cvx3zovpL8wI4w== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:09 GMT + etag: + - '"0x8DA480DEED25D70"' + last-modified: + - Mon, 06 Jun 2022 22:43:10 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:10 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "bGTlKI5MsFWgr5h1IfFHKNhYqHn19WFFVGTa4p3SKNNvxcVyM8+a6A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "oTSAZ3TXZDqLEmYgP0LnIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:39 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer684c1679/encryption_block_blob684c1679 response: body: string: !!binary | - mWN8QqSMci5Ywa7+VOmocw== + fyi/ELf2ea5+qQ22bNOPfQ== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:09 GMT etag: - - '"0x8D7597296EDB427"' + - '"0x8DA480DEED25D70"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - BG6MY8YNJezhj4azjdixdw== + - pKhQH//5cvx3zovpL8wI4w== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YRlxuevB8RL4e+2W0jBaNetyIXd7CZr6JT78KDJa1WAXVAhdwIZLOw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "bGTlKI5MsFWgr5h1IfFHKNhYqHn19WFFVGTa4p3SKNNvxcVyM8+a6A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "sciYJTbejhXyTpyMmitRoA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "oTSAZ3TXZDqLEmYgP0LnIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -165,19 +230,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:10 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer684c1679/encryption_block_blob684c1679 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - pKhQH//5cvx3zovpL8wI4w== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:09 GMT + etag: + - '"0x8DA480DEED25D70"' + last-modified: + - Mon, 06 Jun 2022 22:43:10 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:10 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "bGTlKI5MsFWgr5h1IfFHKNhYqHn19WFFVGTa4p3SKNNvxcVyM8+a6A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "oTSAZ3TXZDqLEmYgP0LnIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:39 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer684c1679/encryption_block_blob684c1679 response: body: string: !!binary | - mWN8QqSMci5Ywa7+VOmocw== + fyi/ELf2ea5+qQ22bNOPfQ== headers: accept-ranges: - bytes @@ -188,32 +316,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:09 GMT etag: - - '"0x8D7597296EDB427"' + - '"0x8DA480DEED25D70"' last-modified: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - BG6MY8YNJezhj4azjdixdw== + - pKhQH//5cvx3zovpL8wI4w== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:43:10 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "YRlxuevB8RL4e+2W0jBaNetyIXd7CZr6JT78KDJa1WAXVAhdwIZLOw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "bGTlKI5MsFWgr5h1IfFHKNhYqHn19WFFVGTa4p3SKNNvxcVyM8+a6A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "sciYJTbejhXyTpyMmitRoA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "oTSAZ3TXZDqLEmYgP0LnIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_wrap.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_wrap.yaml index d88b80121b2d..7db9dd86264a 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_wrap.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_missing_attribute_kek_wrap.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:39 GMT + - Mon, 06 Jun 2022 22:42:44 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer3bb01596?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:38 GMT + - Mon, 06 Jun 2022 22:42:44 GMT etag: - - '"0x8D75972971D8BEE"' + - '"0x8DA480DDF5D566E"' last-modified: - - Fri, 25 Oct 2019 17:41:39 GMT + - Mon, 06 Jun 2022 22:42:44 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_empty.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_empty.yaml index 79555e415390..7aacff15643b 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_empty.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_empty.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:03 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer53af109b?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:42 GMT + - Mon, 06 Jun 2022 22:45:03 GMT etag: - - '"0x8D7597299A4AEAA"' + - '"0x8DA480E3281B2BC"' last-modified: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - UZ8A+loX7mfF3cF1MfcAPw== + 12eo6uBtflqegWxTsQM+jA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "tlMqUDD+6cTr+/ZGJ+KdC7mNRPC8E06cEvCs7rieQ6EgDCJebF1bQQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "1/2ks6x6UgVkuwRzIIH6QLJsdCnBmv6gRZIFzFpgKYt3yf9/9pA/bA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "GOXtxlS5yFHl8YwJA37QiQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jtFP3aGI3JYQF+P9N8MyQg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer53af109b/encryption_block_blob53af109b response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - ufLI5Cn96+88L60YY8orpQ== + - QW52RCuplJxEeoeK0oWg7w== date: - - Fri, 25 Oct 2019 17:41:42 GMT + - Mon, 06 Jun 2022 22:45:03 GMT etag: - - '"0x8D7597299ADF04A"' + - '"0x8DA480E328E4C97"' last-modified: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - ejVCx7i75Zs= + - oi+p+up6mjc= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:04 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer53af109b/encryption_block_blob53af109b + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - QW52RCuplJxEeoeK0oWg7w== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:03 GMT + etag: + - '"0x8DA480E328E4C97"' + last-modified: + - Mon, 06 Jun 2022 22:45:04 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:04 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "1/2ks6x6UgVkuwRzIIH6QLJsdCnBmv6gRZIFzFpgKYt3yf9/9pA/bA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "jtFP3aGI3JYQF+P9N8MyQg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer53af109b/encryption_block_blob53af109b response: body: string: !!binary | - UZ8A+loX7mfF3cF1MfcAPw== + 12eo6uBtflqegWxTsQM+jA== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:42 GMT + - Mon, 06 Jun 2022 22:45:03 GMT etag: - - '"0x8D7597299ADF04A"' + - '"0x8DA480E328E4C97"' last-modified: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - ufLI5Cn96+88L60YY8orpQ== + - QW52RCuplJxEeoeK0oWg7w== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:45:04 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "tlMqUDD+6cTr+/ZGJ+KdC7mNRPC8E06cEvCs7rieQ6EgDCJebF1bQQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "1/2ks6x6UgVkuwRzIIH6QLJsdCnBmv6gRZIFzFpgKYt3yf9/9pA/bA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "GOXtxlS5yFHl8YwJA37QiQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "jtFP3aGI3JYQF+P9N8MyQg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_invalid_stream_type.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_invalid_stream_type.yaml index 3742f8fd6e77..7b9bf8247b11 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_invalid_stream_type.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_invalid_stream_type.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:31 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer6682165f?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:31 GMT etag: - - '"0x8D7597299D63F01"' + - '"0x8DA480DFB79A752"' last-modified: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_range.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_range.yaml index fa01eef9d9f4..b4152b104bab 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_range.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_range.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:46 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer538c1079?restype=container response: @@ -25,95 +25,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT etag: - - '"0x8D7597299F84D41"' + - '"0x8DA480E04899FC4"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -123,13 +123,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:46 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D response: body: string: '' @@ -137,95 +142,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - Y6RvHeuRr4Q= + - 22+t/HatHmk= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 9LRUQaBljBRTtWJAAsIRMDCrqGYiGaI/14Pd8unv1zg6JYNt6URRklnwfYCgmyoweqNOHQAAcRSB - qJrK9+cJQT9KEypHSkSzHS7WJpIByaevWZ5PgZZJaNGmOKCb4M1oqMBPg19AZhEmEdXbzK7+l82b - dBsXBXxwJKEu0BLG9jLhwpbB3k0c03MdtX6tFpL+gM1hLN2muGFLxPyjwsK96Al5y9eLxOFqram9 - Z+KZ9n1nRiGFGVUepkjudwwWLb37yhMYmil0Vbz+Zdc+FhONN6kUZZDwuabllMwl+f3UX7/rva59 - ZeBaJP2OEIfqrDzfqIRvoU6QVwkwuNQmG1PY0Yb2zGISRqBwG5GClAY/PijZTh/qDYtv6zydTfqh - aZW8v4fMqBOI9oxqcMLehliG6psO7Y9aIy3vXbbYMD4noK1qKpoxMrA8SUe3R/ZAoWeqQsjN83y4 - SvaSmb5l3wIhOTW57v/b7KL0zDwYtdCt01yVcdDggjKuIJotGXB3s5gEquZqPOou7wR/zUPHDSKJ - IkkdXNJJwVyUxG2pPyvoh53NV00DrLPbAgnWQdg+fzDN3SoB3Wfq5Te83h1AgRMhie/1QmrGhfYC - 09k6EufMC9OfGBtSwUY4icCtEL3UUFtRd+Mqh3QVBH9OcA5C/nOermoH1cRH5KP+37K5jSSQLAg9 - izc7jwNO3mxvbWJ9A3doBzrnBToixBlk/kQ4HhfR6hqSUADeTtLeCl7rk/W/gCpAOlA2FjcLgsoY - BX6elBxghpbB1BJ4pQdz5zlblbTeUWoIeT44dYYtp17q1u6HPP6weiTA1/jlLT27dUc4dHdvshn/ - TN87k0GchbpnQdk6hZmAN8dqCMnisH9qQDrLEgggLbsz2Op5K+AqKgOPIW9XkyzpRPu90/Fd7j1I - QJJZ/W/GuXAspDtNTx/xVgF+y3abz7s9SOwNeVPxMFszJihX5b+ke7pYXC8Yv5G4Uvt34QpxIt9w - I1fvQJtiv/cN5ViG9dZOoJjI44OyoA5Uc0c04lc0qK0CLAedxxzu0kTEcJkRpB98P8R+ecLVFtu3 - JsCTTbNFkb9+WMNLPMlq25PiTJqOioZ6rIgVqWF1CiOrFT4oomTD6iu0uX4fgEDBWQ/5w097h8GH - 9TGs522sYXWSdsGzC7abuk7VhaAgPApnCPB8xnBEadQlg71CkMSfe9gWI+w+61RAue2vYEIWmRVq - eW/CfgeA/jTiSip2tPjEG9palfG0Ge6DC/yVIOCDvfAE8TDtfn/lb6GY6gDK/oFrl73fgAK3JjHM - /NcLcKfy/Mml4A9zaxY44kqiR+6EAay3tmb44D121l3b3mA5iQWrJBlKC4rnrguCMngAjn5Nl0OR - Jl0pW8q8dYCAD8JicODcVt0SrivqTqlR6ebNPmGdGP/rdymAv2yIMspqmHTdxzp8JjlX2WZJzaWQ - MyiJgmytz1vzbVbYVuAgliBSZwXK3cGtFvbt+7/BKvxevMY5ykkTJSkyvWNCIHAHIz24wshB0ttT - 3pPo79kh7b/y11oUWxfSwECDElWSZQzXnJXvfLslZQz/XZM6P/pL/fCXvJnLKcIHWVpJhHPZnGSD - 2owfjj+xtQ2h7K8qYXTNKZCZ21687RGqB1R3tCEV/RJRO2tVJxQpy+f2Py/8++aE6BvIAhAlRRfG - 6R6jHbvEcjLjjPipNXjzoqhFcmA/J4WZI+DRpOwJ37iSRWZvxcULV0oG1CkawGGDtIKtpfeZvGfq - 8zKLKrfsTnmItVdJL/7kl8KbusorC1ANXVHbzQgiMeSj18znwWtvmg5R5by+Ho2Ciqj92wwTaPWV - 69kAg/DAMI0u8KgOuBesU1Wa/QFMISIQK3Cb2v522fWrJR87INZvXNwEk2OI1fU26ieqF31RzooD - CCjx7oIBPdhOZIlFYjLx2sAH/EryBOi7rqg9S4xW93I3fnmBxf1mz3ACgMw0LMVwQP0kTMcF9RCy - THPLnQoGloV0W4Pjtt3h6hfQe2CWQoZBU0gCaDtBfPspwXEmN3mN/GFAAbILi1vf7X2taPDRnXJm - rios3kyotGSz9PuUvzN7Qs0pFjSuh7vBdbFY8bNhTzNheyePgA7n5BR1w2LJM2zFtGbCLHaIV5HX - fNvdFh5MaLKWmbg2CsVmrsJWVp2jBFj0/9zzyiELH7431VTclx2foDjexAbTnPszCYbXKVYFdWi3 - SylfUAm5EDXqjeX55SiidvIa4hNGSx95d19IBK0zEFEx3+2crfE2yE5NSKl2J9UU1/wvlI9Q5VKa - sqjeuFJMNcyNsxfIciae1dQXiiDWddn+/3vvHOFSsFGM2s2I7Jo2PGTntTf9FIK1UExN7j6hFbUW - NNXxbuVMJ90H0wmbDFXrgncsW6IbCfEbv+Tupg4PmHFIdEzxIGVlXSIYqblvW0U+r5F9/0Rr4mQU - 3xFrftEEBSoRIFLxKNVy4qlB+LkwUQFwJemA5/Zr+uheB80az6hODFBZ12kD2KvQV+9tHcv/p2qT - uVNb9L0962UY5ozurtEOr0lnjBxggA8w9y3S6v0JXzs4BpoeoPl1mElnwsRX6PbLgeWo/nB4iExt - NFvvCVHYY4VISSPxc4HLXgsOQUxXaG5yMwSnvujC7+4U1IzedB+GJPFv08Zb85hkn5H/zEZcP3pv - YgVSOh9QkacqZwjeP/kviiCiYiqVqZQog93oztPXkJLGSDmKxWqbnz7C799W36QUZdvi3ZvQwBN1 - Rb67dpWJelMqlGZI5xH2XqBku3j0mAxno1KgBBzc1kRO0DwbUCV2SI24BvtMJcAYINFokRcU92nI - NZWrZYecXE3vzj/Rn8OIJsYZ5KEeQwX2rCzoYBIkewceKr+0ZqwU282hVoJCANvhr/IOOZ/0ELXI - TyOXATjHjsQi6qv0OcdFgt5xF6igCGSW3eSaKk0Bys3OVSTZUM7SqsAbjudD2zwaefXjt+/TOVmh - q+0AtTlpZDC08QRgy0oZ/wK0ndSNMJ4jSDMLbNL6VLWOloAZj3PGkXHf78Rk6B2zsbD7hugtzjYw - +VVEdp1yrjPW1zisdvWT/kuhM5CR1LsrIvmFlvF6wclztA2ESnfMZtJDniiLv3BwvXnr/wcqXncW - TtHia9p7YYXgYeUJqr10Q6NvNeugGoatOVRmWJiGJYkAMmY3Fu8aJ8AiGuTnZx+obvz3hDKG4Gvt - sRFVcePFoSdGtNpJP8lwV8eofbl79KBnhU84a8pXI1MgEkfjciNVg6ncEGcIFj/CAPp8vxKQoIsF - 2UKCzSag/1nCeW3s4KOEIq2sEFEot5X6gTw+rqNHTvKPGUkgCwbaR4DNdHdt+0FwPOFFLM8sdFmA - M7xGIZ63d4P1n8dCDB2bQH4nqSD2z4a/d3Pjvn7EO3KhqWpF6WtVDFi8ChKCtrPiSsU5IcVHezj2 - dGstkiaiDx9b90rwmmpHCeiUJ6aA/Wk80U+2sYnDx5jgy+ANTMLeIDrYkpdnQi1TfkRIRuwsQYvL - vmFkvqkaB6zxgA8THOo8T5VBZixU8HLCDoVWnSwiVScnfnfPCIp/BtdEYW5Z1aM4tsWeI+fGh4P9 - BZZqEFN0vWznZT9Ug/2jLO6P4OH+VJcPlRihfLiafk8Vq0gMeEOXkPZGn6aLC3e+Pa1rFBLNsxNH - ibtHVwBI0MABGJ+4WZSqY83vls76YUhlQe3ZC5gS8P5Oog7x65xeulF3laci7hqnaJ+p55MfOJkA - 2gMr03RUaEw1cmGf4DXukz42zD+M6yn2FC0Yhhmr2vQOjRMFdqlqOWRFc91FnMkyNf/w6pG+ylRx - Wf9rfRNl4cNQtjJdNKmtmpayq2yR7cbf4lLCS6kzHrRpmF0y5kIysGCF649kucNwZY9drkptjXhT - 4L7abOpYLi1M3tj2VzU7789b0L+P15LpPNCHEUf65139E4uYI/9EUN0GhnX2QwAmamacTwqX+z99 - c2KFsO60KFQFchE4DayavFNLL8tNLXaW4JX1AaIyEpxkLMmTEjYhuBO79TtF7U5JI8KZi8LGJ+Nt - hMm7c/q1e1044h6dqybDs5J39PPLzUIPX/fjneCgNQODqO5F3rNwD/Q8Q2HtPQI67gLfaKi6zM/s - 1JqXbrC2HFQX1DAp42/la7aTiSWPLjCWg0CYBItIFhD+S3lDz+KQYedKniEHB7xnOORywAUGglEu - CDMideOUGU1vogfQ+3vgflHIy4nMkVfwRr1ryO58n1D6nDKTd1WCSiq+ojz+3V/jphbWkBhQlfF0 - SIB9ytzqLOwfhTqNQScwp8awAYVWEJoW3o4MqosandUIrZybK3vILHVqRfHyQEdG8/Vyr3khlPQo - i9YMb5+ujSMBWH1uaD0Km23kTjGMc4ExilrSKgrDyTc8s9f6Q1PF1EvAjnOZxr+I/SGRz/f6fphG - akJdobky80+GEdvLamNXBzGCJ2n/SUvkNMfsRmR04a49N4A/11PchmnNx0quTBFa3uDQDJRbM4CF - /DKQ+6TfABspiC+E12p0ShBR/thkRqFvn5jrvQ7Qjsxiz/nDETl985MamS5AjL994PQ7ASEzbkaD - BAipdg1LKvzCoia+96PwPJuP3uxrOk7tFCYyNaPMAYf69paddijtUo7YJdWfdiCo6zSWQX9xP5ht - wBekQHMajdwZRNpMpVI/KTuiIARMiyYQ5uOVUi6XnEab7/pnGyZmU4NoGrz+IcT1IzzMOy5w6q1m - WPENjbOuLx0JrQGs+t6A+eg0rzUmQ4C86Foo4taQeJdLTVxvYxClmZpQS34Kp/TexyAQLNMrdQqL - XHi+8yxJNY26sDVx1TWq7Yp9Ve3daK/i8b37vPRCNregYFGAq71Ev4+s7/c2nr1dHVVEOb7MrznG - iKN/8EYXgqgxFXdKTxUZGFnQLU9w2tlBT7kVT9fs0+r2nqUVfy//r9Y2Oq9wRdPZB3GqUqqci3KI - 5D3+eAJEyLoyL6U/VIiZ9ssQOsXku4Xr4OVAcL1b173B3SjKpGNYXfyDmuUpnqjfNMsAaxr4FCW9 - 81i82/xNTYT/bqfIf9N1jlsEUpnB+ilGPuroZoyNfT0ChDRhKZEUBGq1tHBCkZeQMVUtrl8LT5sN - 2q7fZ6p2s9fHzvV3PZ/xkLtye5X9FJcN0AhE8jZXmuJPMNXdjWSO1iBta7/1NPdYa08f0HHPZctD - sPBo170e/vEazee8cUbvu1fSlPS5+utovUtZX7dAtzMia2zF3jJIl0lKsexhhxpYrcBBk5SqkLtv - ASnAJqbz6r5qPYD9hpzVcOFRCCfx/wET0PdBYcqIdSG8+nWt5fNuF/PkJiAIiHc1CYfNttYHMfyk - nIIJv2EeVOuNe7oIgB5wMpAKxJMkFPwhrQlvtkvfMEuJmDixL2M1JDXPi1nVzD0kPeDyIYxzxvo+ - 7I+l8T9x2IwyjCLnqB99na7WvAYuNSHSsnlgY3nO+EU7D7zWJLDNROZwHoUyfKSFoA== + zGjvuvnC6ZOXw+Kf6zDDGTxWclgupKPuCqiiyVBV4DRTxLyHN6AqVjhZFO7UFaNWjmgMFgClQ8kj + nZoOye5K3x3wq/WkYTBCFxczdSDijP9+wPohaQgguVsWkj0D5xo0EGjjqO8OiSA3fyEBbiHcD3uT + lFZD7O6LxhURA25DfzBpsacHacNe+bs30880pLq1AbGIZLdoSorAzDcwcrPIGl5D0EbH3brzbi31 + t08E8NgAdVl/5Pe3VjfcAiq5YKLUnyxBf2BOlS2bRsf9y678ZCpFW9afuTEuEvRfAdGOwBlP7jIV + a0Ga50hOZT+ujmjRiM0GzF1rnPRKd3WH1gS3/Tqt/NHDmjee34VAEmssdyDacM3dAS2BCbbGoSce + y7krM24Javz6htQzSdgTFiF9LF/25L/dlkW+n48+Ylrdd92/jCn7kAr9KcueI3WuSEo96Kkzrz3o + cHZbC0VPiPtKOvqVFQE9zniuqdkwSKLZrh7rLHNS49xEUT6+E0CDWczrH4RpTHaIt093bPyn1Opz + n9oHsiRgqI5d32GX7fvScmbbrX/INJ2LvjdgdnVDTIQ/26stC4/fMW17XVcBgOU4Gm0ICubC5uIf + J4ReSzSYMoSGv5QwU+42HOxO6tGCfATRwv+9uFdTc82Fe88P8eGSD2qjUYxBiRd5rda/COrt2TXp + hAA3eTunW9MRKvaPKoy1rKFG1bckAgfy4fyH8dQ8cZOP407z6PQHdvDJUBHpnCEldgfACV3mZRoT + u+GBXek833105Y4aQNQSKTGGB1RsVCzWqTplAY0jBMA11KCGErQHj3AahDzs2kHnmv8Pzieoa3Fh + x/zlStBHSH8r3sTvL3q7jssE6TCnKEatzW3FMikvY05UiqZRgG2H524m6ogeQopJJyCU36WAnV9m + 4sfPNYMgQUu69MlAVaznCRVl+ytJ2Qnh6J4Q4V7PEV9nS6HbK86nS+Lh4T4bFn6BD48WTIA7xnDI + rxWgkXISGagMdHj3XV6mgwiVJ/3Oc9O/Pnccrek2CYrFM71LUncieLfvYjgIt7dBrF2SeO9kVlUL + NXM3iwZXzSAa8nqD0c8wDn2SsbdZ5Pxs6YUl9UFHSdlS/S1b10ULHhd5V2L7ws5EJ3OFKMRIrmmI + YQsGcFRnWc0KyEdlLCFDIDEUFDpc5eBSJJ1zoPgxsnO8aK8i1kfCMubHerl+cFx9whRJVC484y5r + ezg0ZjG3H6IjDq6kpk1BgjOX67IvPm7ZhOa/g9JyZo2Ng0GKtSkvQdcIVknUjKG8bsPIlfDpvuPI + UOJVcDQlu8bpsd6POscB5Fo2QsjCatGQ3WOapMiNS5oK0VGvypF7inJ4XJ6NXzjjR/oF0NhTH1b/ + kdkj8KJGzezRrjNDZl2iDSsizmZOmoOlSnqRZSxyRjV8CicZ46PL4iJYuFqQdNNdz3ZLgETzCx/H + jRNixzuq+GUV4buSI8WsXydCbTnrKSZxiZAZAMZG8p+iDL51w9+JZxvxAY21910WLBw8rpsxd9Gl + d3etaYkCgyB0ZytmI+pWRCg3XDRz5p6elIwHY+8RDb4O+rr9+RzaG/8kf+sUwmkpPA54c6JVxJQA + StmXlq0jR51Io6qTTKhxgE81auYNEbvbwdDphL4hlrxOyZPLLB/08q1WDkUYk+a+Q3kLSDfGzFhc + Yj/KrY6GyMXOCIPK4Rf9HjsWxVMdfdIQ99kxsYW9PEOfI4vZgAToyJjTAg3rVl5YbXoM1UQCi43p + bja6mRgwQR6DOMvCnSPR0srPjy0mr0zGdXi9MMPJXw+bK/AjFpWtS/qpEKBp9GzM2dntdfIrLp/Z + KGUBZRiKZEiMZxumQD1c9Eze3wBtjCbVc5CqSZkSQYex3HUtHeswA05qs8fq8WXBiSHO7UA7C9jv + Fk96xLqsyos8uH5Ulc+xVy+Plj7CBV/q3UC1gX5nOZajvWFxTIJ2tHfGNwiI0z7F4yzvaWYcuDpk + bR3jeXIG+ufe+jJCl86EX7rmSpkmo2q/OTxKIKehzI2EbLBVy8y3KLcBwLTp2M+2fMCRogR3iaMd + KnFplh69Ytz24raHyj3KlASLlQKRN6BtQq/NkwzDuDpG6dGWjt7IUvb4a99nBnzJUkp1tZ15ewtB + gpHckia++jsI5RxR6A5tIJC+sYxwgrj44Q2NO7SFxPZrv+UpMGoSn1IUtLmFnzedWYh1/hEQKkQY + qCSz9BU1vfdkraPnSS2kzimSYUnU2vVdV2Yoe4Xe7S93BiW9oF7BKjencGFJZhmrGPI6f5Cf48EY + 98iUfcmkwVYPOZFc96Zn3Cf/EndiEDjgmCizVteCY1VkK1XpTtp8NpC0X9xa5yuteplxFSzf23jM + RJYc82SZzXHNCLcHfGBhg8s0uHEzsQPI2IIA8us35grAWbGL7YW/GUITml1/t3sy9mlgDujKO8BO + n9wndH/OcSD9zBOJhnGo/5c65hoy1deFTsOlhIvCkxituv0YJe4BPrQNDgR2UW3JzWvKN9zKdg3h + Y2oZC74y4bdk2b7jFUWnpXcQ8jb2rgVnA9DVUQ2AmdaG3a4YC9IZMTvDfZ46Qir15hG9338gV2FR + Ze97/7Q4/IBZaOAMViiygOQzqOQqbWM/Gwgrj1r5JJIbFUK46QRxlRiU4yUxY6B8qs7taAIVJLP0 + 15qaHAlhbFFTnfIa8ONNYJvwuuo4YScw7P/MFlsDu355nR6ckd0h7Eb7EXJT31VQ81rXNNV+6yzC + di91726yz+VjWYg4ntljIhBYXdzZcgyMi3mWYKdHhsuyYFPyUfWs9XJT7EeQs9LgGxJ66ddW26be + nU+LImxY53lPwxFkHQcsKBYqjE3qatIgC7E1YiXqV+vKXxeqoTyWSEnjoObETpsBra4zCfpJve9j + Tn5jS0TmKCrV6CP9YwEW1uw3bOsKwu/8Wp/Xt7D+2gM1E/Eb0xvhyNHZr4n9XHGN7Xn3GF+i3Glj + 44Lmj5EBwXgd8kRFpVtY2LqebkFOhEDD2EEcvI/GjHHG9QPhVAp1EQBeUBsSe8Zv+RbUPG9PZxXO + O1RxdHGNd6hvH/4ZGI7psgT9qOhkuSeVTEAZByzH2IA7Ar0aRCVsOcP8qoq/MMhEPXxymiwn+FPp + sVaWIG9iV0ePO39hXFDJPFO2PEUBFpDvXI/7gpeDR3h+NE1U5QvKfjtKl8TY45yvRqslc8a/pTjX + RpUgfy1e74GZHCd7v3StNmNJ2EBzMLvPGPf+5kfK29Ny5CvtNg08Q395veX9LJ1nMHkgVmsGimjp + sSL4N9EthgD0yvos/LRuxxsLj9iR2eG+XfNB2cw/b3N4+B25dlayIzDOyzATqepfhqAILshOm2+f + 1NRmFDT9izXAJBJ/UdeiWcQnjS7qEqPMtWLj5qlZGQNeSehPbMUxHysOcHTAq0op197JALDzQIIP + JQxL4cfgiGNSYx6q89ovRtDrcuH03vmCv4L32Jyrg/PuyFAoz3G6thzbF/RJS28Ag21eIQoVk2Jw + 7c2mIsRdvhkKSnwSGyrdFgVLB6Sr/KMR60zzEg2NJP1udjWGA56OTHDpY+Euzk84iB/AckdT8QQj + D6Zp4fdLRYvc+a2kD+eWroSr5MQhPFKc+C3znbFZ4saDIbshN1xwxmAXjL2m9tFs8LWITnqFlVuQ + 4CYkQj2H6xk4EDLqZOHzx14RUEdRGZx3m2FLAuCbh/ehqVJTG6CKip6KG5CXZwkFhH42CZG1uoxG + Oq1UMVQrF+4AMRbOn2ClMsyq2SG+ru7Ucl7BpICmoS25X3U48RK+/m4/gc3t8lPTv2whfO+RcbXm + kpCEioToFQ6WsQQDFI/5btJxdleY551qwIDPfQnwI15mEEqcy2WS5Q25r2QxDMzHR40z3zq97vKp + yMHEVeBZp4SuwDVf7mkvbh6z9s0G8ZJhb4CO1S5Qb3VWIsNW22KcAmt9+djl4yo2V53QemaNtRuJ + UMA0IpD1Sc5IV2TGvZmRE7XXcXol4K7qjFdPG4Pxz2LrPMtr/yq9cswV/33E3M/+3/bM++5HVmCz + POLzFPmOVJs+95AT4tr8hPe46pNHKH4+0jWa4fI9EtQfD+hlm/ox5tXxqzIAsKrpPixTA/2oLj6o + 6PeBIhIAz8zR94dEwJlaAWLanB1FBqvWVneE+3953F7pSox2BnuBIH93W3f5D2q/P7d+QCCCr7Y7 + 4ZoocFU5FrepqYFNofRTOEEgHD9Grs6UxTHLgfNElrPQncoQ6fWQOovE13SAL9Jf+xjZJxZCYPRf + aNYIY5wWaDH/t72S6vZXLpMW4BRXxju1W7H2XFT6I3B5dBWRYcFsheVvbiRGVJmXfOnVdXSL79Nz + zCvFspaGeLNM013m/35blrEcJuYAwZwzdFfqKJtshQz1/eD586JZcwKPNBj8U6cPLhibLfyQien/ + DiALEgjvLdgLraZRl+1HAXBoZwswuwtgW0LBK8LQSm/a1Rshp5ro3ICJyxjxyswSHy0uVcF+VWZQ + ckCGj3oV/LOeQmvOP/2U514Qe33gnGVK8q4b3yyxOPUZ5o3J3LsgXs6duPFDNlVRGaq+7o0t6S0n + NVGh1AcPXkhZuW5c2c6/114aD+hQdC7w7NEzNFNJ6oR/ZXAgrCe6tnLkFCspLawBjXxMardBkGcL + bCybyVihhJxTr7qCGus2cFGTpM9bFkc+x6FceK3dVYj5qbeXXDuS8KHFcY6oPHAt5cGOriYT3mHG + F9yQZuDV+FQK0n6OKsNrl3iWCPQVKC7IrsRAYw37SPruhrH6kI/hKrLjQxUy3TVUfdNpKuN5fTqB + xv+U/e4He+VmWD1E1HHuaBx2avdCkDXTKijxTtKzI+Tht7T50Fuc+2TEfZEcPrqg/y3Y2GndpMRR + z9y1dv/iTjkQ+ig6npnQ5rsMmQB0wu28IBHRkUnhdaWGyL/xbVWP0+ZZGH8PVcLMpIJu4DeAWjDG + iQId/F4ayLndw+QYm/UScKbYmeF1IHKJHyY2ia11IlpOg44pxHfzQgftVQahcpuiw1koS+XTeMrK + aUuBLJ7e3jc9auDJQEbR68gTK6fzSkf4XIt/GsxRgKr/i0TrBtUme2iKCilSA5gWh0h7xlvakKBI + 4N2Og48piuKxibK2P7oeTrnEG7aq2G5laVyUZZijA7/uePSNTL1eh2Lttq1BKzDIkzs4CVovPss4 + 6zB9cFOtaUjizhHR4f6zLHg3S/nJRMf93F/qdQHCXnQ8hvUCP6AfKOVS92Yh0O+XGwvXXxZLjESf + sK7A3fh79WvpWsXmrCm+fJE3cUzFGkhZYMiwO+vEDBw332vI0IT+wt5EV2hOUlS+On8v+n8FS9d8 + xcYEuvFvnkEo79vVV3u9Cd35W1P4KzY9d4C/u7PiyEbgGyFaxXisvbKRorWLS5yhp6yhez8NVAnf + LZYNIeMJnBFtpu6xINAtv3eFu5mT6Vr9aKvB0qqR3JqwC/k6hf8P/pnx61qpho1VSg== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -235,13 +240,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D response: body: string: '' @@ -249,95 +259,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - zro3tvN73x8= + - 6Kk67heC7gA= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -347,13 +357,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D response: body: string: '' @@ -361,95 +376,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - cl5OwKDfcV0= + - Jb2zgXqvdJI= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -459,13 +474,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D response: body: string: '' @@ -473,95 +493,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - M/KM6lp0SoY= + - zNUNlFeJauA= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - cl3uNBgC8swsYy88VDNOgbaUP8wEfq5YkatiP9NKztvjM/uRVXw+VoYBHrZFzUVS7e/qlfTcwmxG - 0wZmuOBnFMTMsCZCYMOKZY5GEwFRl/g3BkmsL7YwkcLTpkqdz2fnDoxnLlbAbrf8moJDNOrDYCbv - vXnltsxUWpK0aNttby+sh4/Aybr3LmF/RNJGBnbbHA9ZalHrK//Q0hoW3n0lrhR9I2lK9VOonP/p - qTH/eoL7YYyL3xwkkjqUKknPHtSwc+4gyT44IBWibhpFz9EUKGyZdH4yzgXg02Pd6mvILo6XKMzE - I0oqNVBuMrf3LsxzhkTlRtEb8+rb0HvMJs0lOnbR0InsS9O48Y8udirOoQI0pikQeg5xHtICApMR - m5IvbotMOV2IQBxiusV/RNqDWGGhfN5A5WvlCm3rPkVL5J1tuDHxyY0kK9iwyoKqbNPPlsTr/ovH - 9ZXQ/EQSVbmj7Crz0bSVi3YHFEuDn69Uxt2llRxj1MJcpkRzLmQmoBC2XeqfK8rVM/qPno1vYWkj - /fS7+s2s/84GR427B2xovNtic8RWFKslnQZrvDC0XhoTJrJaPlYdmsnwAXUSn6TFjCo7E+0jNppT - AyeMoyrawS+cohZX+XsI2KG9VygC53zNGnvL1z4mf94TGh3X5lm+F2qhb+LznYrvMKZPbTx0kqh8 - tPVBvDZfS2AKcJgGZnUih1huFvaFIxjKueSKkg1DzGaUcxcEBevIKZG7v2hJc1mGwR740W5628JC - mi4nJg6OLuX4ymeIgY12Ryh6N2Y1v1MTQ3wDMxrWrLEQMXsodhgYR26ZDhVsOjXpd7il0YTZymmK - V79/plhqByDpLZOpYmd9kM3ue9QKrl7ToZ9Mx8ShL+XAnTN9miJ5u3Ku1xSCOXED17HEJ2DmncL6 - iXXLJmEzRGTStB8qbsb3jhzu4iM3F0ZxYyzfRp9n+G/WG7F6VWTe8VLCeNyjtCruywb19oHqOL/e - NWeSfNotS7Xqj1M9TIJYJ4oREznRuC38OZYxrdIdEQocGO0yQdY0HysxitZTkkCN5+1xJ+1WN3ZW - SzzbZkC7RuI9Hs903TOhTGIM9hG4Iv8Jtdy2bZEkqCTfbVc4pqCcoirVB1KIoAeU2AvQQ+P9Dmad - 182bxZti1UXqCZDYe57gnp8i37B0GVBOJ5Dy7PnW2GHAk/JafmAdLXQFl3E9qYnt2fnexdpuarod - Eupe6eXbvFnMpLbc+M2EzkvQubLya10SOcFtAJrUH5oMSFJs3eOhTOpugFFfLc3SkfeVqs0DT7hO - HntaXP0Mts902YqHLX1h9Po44pril+Y9FeBnrW8zIP5hoMFsrnWMJHvI8wpMV/ZPo14Iv7HM84G+ - EM2Izv4kDBvqwUeNnhDoSe8V4wyV8g2AKVaYX+OBQYcKbSV1soGt4bj6jWNU5/8pzWRkvyWJASqo - J9jtkwDnSg83EOFIMcTKR6t2FGGfTS0WRTMNy5lGxh55aC5ftnQCR5+5SuNfTpSuKy3zIwW6pDop - h3fa8ZF6WlxJ38n19iQrsYiG+nWEhCboeTLcttOb3lWDHqRaRULeDDvk9M4yXmBcpofG195T5Esh - 0ujdqX/KCkQy3JVsLyi+96q4I6BvIUD0H7BKhAol4juKfJO8VTuyl04WIFB3FQfP4ux8mhiXJlT3 - xR7spHuf+unIXzSVOeObmUeTJapjr1hcG6vF7BdNF/mWU2qiAD+kXp5NsumCG4FcHSeC4KUOw+zw - jnpZklkE7K2hApqB4e2/V9vL6D6rpNNb/Jk3rf+nyXWl91BGtpLMpCdClCnKUcr1zW6KZWZz7Mfi - 0RkVNnF4uzTXBJAnbVoC6WVAE6Oy0Fx7N5z+rMwFAMvTtBrYmS529MdMpfFarXz+ZZk9IG5PwuGH - k0g+JbtogbAxVeC39+EsqWQDEcUbVDjP6qtjMT/x1obCAGk6/yDEUUf/NK+mFeRPX7jcSEVK0Xuy - MZOh9KaF0G48imDAneLY9wTNSFfiQSbllwJpaiR0gkRZJnPcopIeNWUz8wTFWKQBa/hMoBIbcKNV - 7cSUCSlOUI8KYsC/TtEG3VOZikq4HMAbFXrbuX7YN6LUPOl5VvI7P37zPZr0iMOxFRTB1sOnzsSt - KRpCg5q+5rMB/BfBlZhNjg484G0OvBOnZo1LlYavi6HnEyXha9p/5ifNe14uwEvThLoYpza+yqPR - /t/lwmJ2c3vtBc2IQDIrU3siZmUgOUNe/kwyTN7klVsn63XU+nzJK/TsipD1LJLbtmeslpMmjq7s - +W8S3qSwlHzOeoFeRLk6ynpxjglzq91jbgEH5+fEoW0ghGJSzgVdMmKekHp6DXT7QyJsSJf56Rgw - 2ecEU3DWX2RBQB5HuihHENIly91wMfpz5U8TrfHWtxIAE7G17RL/AZlXzEM7wNJ1sXFjI+fPUS5Y - E1S97jNP5JWYXboz/FzuElKSJEQ1IW+/BvexWVF46nQwx1YL5wt/ev0wI6G92yrP0k3IhE3BhBwj - 4WlIv4/49wOfnEJX9jzWU3blh+pQU+SNfpsaqkk5dK6Oi8/l/pT8uCW/ZIHHdcD9mBw29hdA9H4V - k3dsxT0kLnqRiz5rwVlG2Rm6/MGACjx3Phy9o8IY4Smv9+eDIH73IMcPtBPATJncioOCdFsZd0OM - a2KKpDY8hXGU+RPXsvrWHe1xbIWSPePWHLuukH0xrtq25M+ym/Le+F0h3XSZKs++TAiPxWeUJEvS - RXxZD1xTqxDS/pLetuuX1K5zwAopAFWMudW6nBe16Iap/1/3PeUWcGW8S0O9/I+/yRP6jgdWqkof - 0ea+dWE6Bh9C862VJ6yF4OOd11oX5DDlLaXH316voa0DPbUBPsvdCONcDxC2OfobdxhzsJ/3CZsJ - UqcK3ed1tk1oSzdMXwndw+KP+1T797gaFs7bf2eHM2Niebo4nuZqsiIyUZkVi9oH4zlIcmUODIl/ - rZMCY/RYnXz9kT4gcCmgWm6YBHadvlkOYwyX6iF80evlxZEw75HIzm959LoWbfVU6sMRlJPCcxEk - uR/02f3+X+GYHFEDX/DIAwIos2NX5x8v9aCxnJ2Fjy8R5QvaPe2LoW0AUN7ab8uftQuKBr9Td3Em - cy+uj00q+oVAyNtkzn+Vt0AFLqRODTk6su3jcyPBiuiawi9fX384tZGinmPPYEOxp0mpGpaWa6C+ - dOCLhGu1ieBdnNcGaW+ejqxppoNAmNe2gEg1x842STLKK1QcnN5LReOEX3Du9OiQarQ+lZeuHC2a - 5H6MYiI8iOjQqSsIi3dlnRySYqjrmq1e1QXDCJlUV30UJm/no8EO6QHC+XvOG2LD42v8wdMQAaTS - xd3x32ol5Jjab9QU6AkQDvuyQjZvNp/lRkLgq08Rif0CnB5CviZjHYmLnS6wZclJYJidbQHGQOeG - PhycmsMdBq029AEeqeJF6BJGBKnoI8vK44hSYocE9ofwMPFmdsBuEc0cFZHoSGUL7xekewMZMNfU - rZBMPNlhJrUfFYzdISsLwtqFD9rkY1OAHMaIw1DA5Qbj5H/fkIztVJOwp1XSzqNQ0pwuO4quc5kv - vOQx9G/3lPSQ6I1v+9pLerDZs/FyWtmJoCXI4B8uqPUt2S6HmMwaGYcyL7ODB9Jxp2oYQi6ra9Rc - ZCIhprQgWIEET6AHHjIJzv3y90RIRDAtHtp0bVWJd7M4R958JhcKu6n3MSSQmAVJEFg1G6fd6Eg7 - 26/JjYQ8qpvjdee4lEfuN7pTXO4HEneuMV4pOZN8HmzrsoTOio8xK098XdIuIV2sq0E5YSO5ljsU - TvCwYC1XChYKrZFBj2Qz45yX97ZJ71xqwnbNWBIl9XrgIncy/RKlQubXPUJgXFxCAMvytSoeOGqI - J/eWmwligkajOi4l3l0KbH7H5M9QCtCfxHktPZ+dt6Jje94HVsMSK+r1nk4AOzEFu5kVtBlZL+F0 - ZE7JH3uCdO9DxllOiu7fWGePwrnm6hhSftcpFr0XaRCoAAUuvPxEBvIj8h/1yV5Ybb61wvwOagI0 - krGwa8czZe2FlQ5B0pnkb2Bj6IUssPfri+gsjkTXfqVqMRpxr0Tinistn8snnRifCU9zC5WjI/rc - Tw/5xyWI8jY6PePIU8GaFDrgdHb0vpjCnL0DC5MUKbeZiMj7qcA2LsgP7eSo2JNo0VS5tZ4eOzpa - TJYLMg/xDPZmB7fxvM1nKKkXrHs6P5DulnkUnQhufi7A05YZEsG1LVwmPqwApZIpD8GzIkISThn2 - 4J8Dfnoy7Gdk89P8LU9NHk1tbIuRVia2nqm1JDySGb84AhbfvfLoMXGVwB3+XZ6qZRlZgGP4+vVT - 7MIsewRneWrFRsCjsw/zC8BRxhIdnt4SwY2KF3PApQ8fLmlrjgq3pLZe/TpEvxQAGmZTez9Jjvel - SXX5tmXbPKfnMGqS4Vmhs/6t4UTB0t//FLS4OL96s8Nqc6Wu47xGRzdAbGDcbOAHbgesMjFYkBUC - oOBfVgVbgQVtLHD8ET9bozou8PV+MzjcLn+u1rwEQG4MQ5RyFuG7/LoEdI1de/jbtjf+joIJP8bX - odcJXzUFyDdQA4ath+gXgF1s0zX6S35IojXVmraoa0CU+Cl+7ve7Dl888DFXTJTdwd8nCvJkAGaq - 3mO5crtslaNgfhd2DfssBPnYUzcefjmhO6aFAp4L9JLDS2yx4xc5/20lJ3VsK5sZJK7YHslpCY9/ - HicCeUDf1QfjxiLTsBnIXf7DUywCvzRZtPrgvyZXlZsXIgS/BW8hF6NBY/0/KQpBiKB9rVA32iFm - 953+lGl3Mmhys21f/RZifkbGwrlxVBWNS4eWncPmuewg2WLlp9U8KEm4IN9Ty4d/HGxjB/CslGiX - yPTy5OYpLmEJv5KvIpB9JurPC6OQMBmWT5A6KUf0iIpS3XnfS8Tam/HjwOItcQVzkl+3zpP3gZX1 - 4+Ff+42q9SeiH/pcLBOX6F2HhY1MRilbrHsa5lSrNdGiBKJofuuRiSNUTjfCtixmQBwGS3VTMRvJ - tkC5/V/NYTk2hHW7qfAC5Xs8J0Hg/rdCU+8uvB8upW4IkAEJIEfOH18XMrjpt6I2j3RgeWPA81mD - FPUJcwpiKYQBHUchGpkgnX2bcpkyDrSJbfUVlETDwFcfALsRgKoFOZVQ7jLfMGQHWD/zAC2WNjLU - EPY5Uzqlpoy+BILQIAFN9FJIxvVwcoYNlzu+IwhKI/ltkbPlEwQoX1B8jBZ5vSahqrIlEG0/vGki - qeW55QY2f0Yg56I6omEjfJ0B2RvonezIjuT40Jn7aaZCjnIb5N6sZH5T2GSURmAGC2t5HfRZr9KT - PjWEOvNE9oanQ5JxczmXShYsazS/XF88QwEy6ouv7DnmTfuLVgjvue+b0Qd8YkImci3X5nl+/js/ - PZX7cyvBg/n3Cmd8vlUGr52ydOyRswHa2ou9FB1tdNwmWCP5IR3gWhPTMpLv4En3Pw== + yRFJACA4EFltww/mvMmig32P/jxhKmsvDwu95HwmdiaMifFMrq6h0ZS3ELrYwPdZCtfoiN+Io433 + 6KIr6HY9cwrg3vjlJUYemYBJd17+Atn3Ko4Viul7d5x9jtYV+0xETa87D/VwSxZtawovGqKi8lrN + OMFZRqSyeUY9S8cYCv6SfblStwKWvbpu3pqpVMz5b9gGB5hxaM3o41jYEqi+QJT62BK5M17DpI4I + Fj0IDz3LENgSiFxwaazQTj+LehPrtPUuzJSwZuwO5HHH80z3DGEvGvxfQCx9RWeY3In8uyzHtbe0 + gVN/RKZ0/Sl4zorXGIHJNRp5fTvsgGNgnMmDD20/p89E8VgB8zjL1XTymIl4UQU/qo0Vp5aqLUpL + DEEmTzVbiyNnkNtwAX+wMP/Bv+x8pFmuuk1OBjdAZDBsKIGyGCO1WdfB6h1iddntHJ6xtwFDGUbz + 8e18W3KaeJN0YczCYRTJRZdbQ0tojS3PCice1V+rktYGZ5eJ2q22eHL/lCteAX2QNIQWnn0427SY + H7coZiU/j9hE2uSk7ZpfNZD84K3gm0HRUuygsMO9X7FRtRoUDlrsLz5Aj+Rqgt5xFT21P0BZZ8C/ + m7CJMPpB8JDYu/JSAzNcONGCq1ECIrhlUwZDZ5hKYr0hXwHe94vZAys5xyED8kZ0HLWZOEztyEnL + OE0arnJeFlEehqxfrsLJbAYM6NLjv8L+mmYi9I+1YoA/MFnRZKo05UYzKfNUYyMmaYtT+74qM2nN + mlsiGVz6k62i+DOjuKCgEx0l4j9lBiq8N2zV8ijXKA2M1A9eKTBctvHTxT6hmecnOUXNOIhQe86a + T1//nbdJa0Mr8mPw1WhOc1bw9HEKlD1Lsf6oT3yqKsWLAVStc3quqMBiC19aFaM1ZqRiep/hhcrd + qIBwqRzqMzZizIqrzIeXTO709RMse5tSIiWRYsDtc3NOFjm2stTuAOyMuZRYeEpxxudgaoXk7Y6F + 9kH9w3FlJESXHRSFNsJQSfe1vcQnTKBQt2PVfL38//XlNIyi/eM9qjjKnhh3Zft5h0DPFHchEKiQ + uAZ/WdmI4DEptcQgUqe8MzLQ4SQsci2Ika6FhOOhCmF9Wt4lcODOVyjUNPXOyl2GztIhIUkSnzt+ + EclaqRZovaARHcvrHkkv5X8kD8LdtMMWcAGjQW211EB4TqrQS1j9HKG3H+zJdTic64DYSyAJVPPO + fkvbPX2CXLw6H2t1V3mxmNVUfZNQslUnXif+rkTP9PJOr5fk5TMPZ/cen7MRVWInQBiTtwQ5Qd8y + cfsoCxdBRW+grviR6LNIv8Yl2LGdGl4/vIB9H/C8mwaDNmer8WkoBSaGOnvmILk6xHMsh8oze7aK + dw+f4dLNO0Xqwc752Ss+H1rH2cozyRgmjlRkivBAxf0/Q9LdQlvgrOetOszljl7YniUUhn+0gVQA + hTOcLgy8ygeYvAUSXE6J3NxqqeTNHl63sv02olDDYcPLZKkkq9g8W4Ap7sMge2bhYlNf2xU4HSs6 + zntoVZQ8wa4BcrTveDRkR6n/w9S4fHP/rwg9+n70S5cG6V9A95xAaJF7XpbCgkUTgEnMCSPMJyrL + EWoV+dMAWFhf88bqbE+148qT+dfeUf7Bk3d/czs4f38Z807M/zNQQoUdNDJIh8HHD9iBrPM0dwG6 + QnuNt/N9pcc2tab+TXqfwdI8m/HGpwtklU+srz/ICq1zEaG5uWD7xnvdCRi9R7JGme/1gooMQHdD + pHzfzRbj+HSDq+Ep+ZZrsM+ntH92NbI4enYcLQ2T92v5b7zTCR5EbblZ7ZnRldiIkAfPrg535M7i + 9xsLsMWyPghVeuCNAIExAuBlaJdfw63+VwwCNa0vb4sidAPqPZBGcbFgWX4ES0f/q3vb8DuNYW6V + VnegGTuPGVOKB15xm/ezWClSToWmPEbxO+xe0dv7ORosAgLqqh5KOk7xX3EKLCRNMzaVD+1rE/1y + eEgpppi3Dt0NSICDsyPgFdzvFA8RPB4gk+PIqcdt1Ihy7jV7gtFAtPkt3ry23zdKB179ui8gZgu8 + VH4kZwrvC/ijTborNREpMHGoI5PZHdhKq2ARsx3sdN/zj8ayz2YaoR+4+pmazzTB0YRGC61eAX/0 + dvz3Yi6D1fu7KY0/iUotq9GuM7kFfrP/88DP7H0hoPei78JC9BXr+KSleNIo0mmCmOobqq8+6FdP + 6QNtLgle6ZmECThSwakxg0lnXJpGMljhrIB/PFjpsaqJ+ZZ1ZFq9aVEY4Q8Ku7/z60CKZYnPzCUt + XkV+RYnvLYsYjE2wKbbbpHMIEfgFzv0z5/m+s3PpvFjewUyD9xTLQ6kvMjtADlzOpwmMZ/qfXk7Q + 2MUCX57fGnh3tLcEIjBr+mr/Djj8cFaZW3WPsa5mkXE3M598MdUX6p8g/qSV9GwVAKn0Cl8kNAYG + rc2IVjXOHveKOJGYRC+SGyZgBdxj6E326kOvTgFfC58Hs1vCdwDfXYOHudUWEmaRMe3EBNbkAkCr + xapr4Jgs3ixRu+9+G96RgdDM3ls+Ko1d6GCyJ0sldzgHXRFODPSd8508KlbIxoQkhJcclD7Lpe2x + 8AP35qZxteYPFvL4LDv1iOC/I/GVOFY6a+mBNaJ4vf1pJ1xvzTlTxaXcKPU9JYwiiPUatGOKHGds + W8WmxBCapYt98C46oXIXbCinNKh/38qpWwkunm+CwIcPyGSCHIM9/E1ywVnEgs+ieiRR5eXPnN4m + bzCweVX+2JMLn2c9N6d3Zr26E80zZI20xzXqkj3gx/Kki2ZcsTX2p2aRT9wVaRhITpIFr0f2xmH0 + /5ek4z7kgREAIBLL7clxHY2QoQfzh1OYJgWrj26STm3hOpRiggGv5h1sexELKfUlp4+HaLEv0N16 + H/iKbox88Bqm8KCPrPcD+K62hkTc8Nbcpq9IUcddYT+uzdKlX4uSYjyyBZ9etXh/XxwMGyGS4PF+ + gaUzKE4qdYQ1XUM8YNKpH5mJoWgKK+36gjf2ijUM8UYfa184scqTOUTsGr7rdYGHr/ydkayOQXdU + ZO2OKClEZ0TgG/jYQHbQhQWVky7gXo0Q8sPetyOOl8hkzTioON/2w7Up/brzSv/zoaIcX+OTjwIa + LFVf76zhoERWgJIiBy9PM1NNS25FPYEPw3vTz6P0eFz3olTe1yMUeHxpTYOI096+M7VVbAl/YBin + eXm90FhJ+ArWSvQqdPbI0wrXk5JGpu/hjZC1G5J0P5muziCtrl4NNhEbv+beacI76WdpnNtwNMF6 + Ww+AklnPs3C4TnuWu/tVGl4SxX34BvbhNPuy/kxYGVZJD3ebsre+YxaWLGcrSD+UQDvR5uWgM1RP + rocpWHPAERQasgWWaOZ7ZUuR9EidKQG0HokP1FuDLGFK9izpKWqojHi+diY6E/+1xtoRrCk0Dvbh + Po3VwRxpYKodLkJyLUVEOj6fQVti4QxJJTeA+oygqEuiL70PfqGScSiNtk5oNYQJttFOEJVZyiC4 + kLlswTCP7fV1/S8C6CJGcl+UfaARi2LBGFEucjwWO0Fwsld5DiPZZNGcdx/HLcd5CwJJcvP/RfLG + xT/9ZnXQjPLtIx7CJMWbYgLqnDfxrQtgaue2ZZdsOpEtsNGLejjgZO61dNtE0/0ocStMi5mwLCLw + fTRCfE+sdOlZTVf5BTImVEv1CoRiLqPZzbDv2ds9E8wrc9+hWtDn6JlSDZTOkCWeWw5AgE8TGIOA + /oGVO655oKCL3JOpngy4huGpeakX7Ks+FSkP3rY2SwXtAhqTptdlWqN14xq1ou3CQgHMa/6s5+9R + tBEybmCkSQD5lH5vt4rXCbChEQuU4Vjc2k42d4hLK2Z7FTLE2/2pc9ZcjFXfKqKMZaDp5lx4oaJz + vYtMXu8DkaWuLBYZAuk4t/z36E5wb/o3RLtiTAp4tdon42SvlY8tMbEUuzp7bLq+Kuh0gtdgwksT + C9RQ4mWmzWdVe4xjtdoziq/P0D8RKzCwkcQ0KFpk5/fe26tWIqPWVXqgM+Pdrz6FoOj86rVCmQqi + CvFpL8nuL77zY8c2TSVajA8dW2UKlj5oGhFpzZnqbId32+36IXXux8vKjibhca7OtYOCaLjvBp3N + xmNOqshZXuajVUnf8w8qqS+5Iml4ysE5LewPUIZxM1IEeQAhPxu2N1YiD7W/oenvuJEWT4OPcxE8 + WtgKSMDFTgTPjbhdWf/CTlDul5QqFeGcpe0x7o0BWlpBtaYniVpjceCvDbY4dOq2Ezo6bMS+GLLt + OC/4HzpenTk2s+ELVjDrbSYF0wQIPpkfyl+TuS9uWEwO6HH7MV2BUAJTfNbXpxDaMuibWAtyKiOa + MkkgaA9Fh3eJK/f3trakZknepxVq8V8tY2CE3ZcOtenYZ601x61bgx4AxHd8rAKnrvqSG9lIxZd7 + p1cN7KBDJs62BYLuRm1KRgqCXgn8GV5oxr+qrN3Imo7/tZ4Bl7JDf2z5vpDI3UzeU3AhKUhMWTbc + 7hF2wt/+1s4ovvykEFyO6lgIlCqHTfbWqX9z0umiNTu1N9RCGOYJSzsGQCLM0ww3ny6n7JSepw4U + BRX7/wSSCbMQGKu5GyMxQ3OzyTo3imj4O2nQc6OvZnnOoOHY6PRgUdGC0F5H/ybyc6FM2/0Tcasl + j1PnecQmpg/56g5boBcQtaqp+lpigc3YQa5KW69g0FbwMNQNcBKAxRaBIgY86eWVdPdOeK9AGytD + w8jAsCETbw31OVImK/QY3VSdA2KvzsMM4r/RFxcPvK3YK7XMgI/zXd9J93uW2TzqjDT1s0EZnjLX + qNSighLWFR9YkI+NSZzVvDMc5jND05fE1n+NHpynlQgwpzQz1SfZmKjSA16XAHW5Z3zl2Gnq5d6/ + LKeE57YM8Rc3wQnFqBbd5SdGOH1UXiARf/Omll2td27ZV6p86+gCUhgInCwWfGPVmxSJKXhIw8Dc + CNsMHmmNJhi8WNcGi0J6AwMmCjy7F1M/dtPOIu8XjX1fK8ozGez+if+nz45dKr2ahdTjn+baRtIh + 1Bswf68wibCJoktluZcOfkb4L89apIjLAgnOiMq84IwZUxew/VX20U8TY8BJnr6bnZ7G5iInEGsO + Ml5yqlNpR0nAMH5odWDtNDaJhfq/WV55+A63gs8FWK/PRupdogy9ln1x8a2HJ7T05xGUMuMqb0wz + 7stffL9XVkuCD4oKmHWduLMRepwSzhYUrGr0MF550Ym51KidKut/HYPTn1f/Ws529Yrmc9UFdsPD + zKSgh/IkJbXaruj1RcOGCMrg2Swn8n3SIj4DhW8dmXt0/eEOmZeoLFNCz5UwRIaIOBn/tt1c/fLW + qeASFJOvoCzoNTLZN6tEIOrRHX+EbxNMcnQ4XwDL0G8EOW/sqysPdwUSKSr7Uqahl4+hyi2dOZWI + 6fc2kHuMTNTOaQ87ZT7Cz7aqL4PrxRU2Uy7L0hXXZgz5Go/pfyxj2JaY1FTHF6v1zA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -571,13 +591,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D response: body: string: '' @@ -585,95 +610,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - dT/UAs9A1z0= + - C6+5AnWhaNA= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -683,13 +708,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D response: body: string: '' @@ -697,95 +727,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - eJ/XcK7LHRQ= + - Us2ctwZ3A60= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -795,13 +825,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D response: body: string: '' @@ -809,95 +844,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - w2pYcgsJ6gM= + - uMMswQFMcQw= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -907,13 +942,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D response: body: string: '' @@ -921,24 +961,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - BocwBR07eWY= + - DFfjc0D6KzM= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - u0hx9QOSx6yYzpQ1yTnFsQ== + aiJ4mNJf+sbSm/E/HskhOQ== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -948,13 +988,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D response: body: string: '' @@ -962,15 +1007,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - fEhrmH4E8gE= + - BN4g2qzWkXo= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -980,7 +1025,7 @@ interactions: TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==' headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -988,20 +1033,20 @@ interactions: Content-Length: - '791' Content-Type: - - application/xml; charset=utf-8 + - application/xml If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079?comp=blocklist response: @@ -1011,11 +1056,11 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:46 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -1023,7 +1068,7 @@ interactions: x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -1037,36 +1082,97 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '32784' + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:46 GMT + etag: + - '"0x8DA480E04FCEA19"' + last-modified: + - Mon, 06 Jun 2022 22:43:47 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - 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 headers: accept-ranges: - bytes @@ -1077,30 +1183,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1114,39 +1222,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-range: - bytes=1008-2047 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - wsyyczYXG5NIq7Zn9MiTbM/EfNwjAIMeZvFrkqBrGwYjwF5gnyPTomSotYeyw9e8tzdY/U3VIuNn - 6Ub3laCZDVlmi6v+Iq8vnuS8NavTM3ZLe3bUU2kscS/mLwH3nFsAwyWc/clmYWMy5lvM9dyZi+rn - zAfOWRs2GrUO2YTj19OoOhwoaAqvPzd58imz9FTEmc7lBnwsynII8xZinhbqgSX+B4Nsgc6COSoT - tO4C5qTXITR2fwh1JCXlNkF4oUsGux9bf8fZJeJJ6stCmHmmFOgEQ5Xs6Gx24PL6PCAX+VdQr9I4 - tATFGO6nrIYe83PnFae2+/hdFQky1RaPS7uAQO+Bsft73PjSWu7GI7UkknQRAB2YCV8L/fOzkzgT - p2N6WHH5drRpVBlqIlQguzOJLy/f34qgrZ5dGPmpDjD8QYdqYii2OkZZcSOizyh6es6h8P0wSDa4 - 0VXMAVXj2GWSk8iO9DLNsSacMicd7EhAADA+em3rKuJi1E4msKGyfFDZO6nHWE05WpQ5Vq679qaa - WMDyswiDtiMeqy+k2uQRDA/pfu45bijhY9WbXmE0EA756nb68rv6WYt8zE79WuCU+c6w85g9m13g - SF8i724hdD8gTOeeTpwbe73zXGgH77meHp6TQwaU3J1hYcsWGsZFvutytTSU2f/cbZmE5p+CCX8V - iX4US7GN2uHQvxYpg8aUohLuShxz7fDl9LR71AQ0CwRfmeba+hqY8CcGON2u/mqqE8JUnx6qw7q8 - XIqpdp3osNZ/tfhNIysRCJjdG8Ly0Y85y565O0Vc9m15xxPvGOSXf+VhEBVlrYW2xy6nWxcsyFi0 - kMRKr5CfPIiS2e6ZntgOBsPuWDY3YQllGAZY2gmGJCXnIAWyXbv7Yark8Uuk0KspT6PSWoii54+G - qlYXlJrKCDmXObaUU726AAjvIAfX1vPj7NB318Df9eVlEvWhzKMi4CZXVGZyPWny3C9F157R1NH3 - agTtI/IldKsp1WJHGGfyzxmhPdwMAanGoav6dZXdr5wFMNUFZ5qt5PacIog9yo9cFRSiAnWG+vry - e1H2FSIGWLr3csZiQhj4p5ga+dn+FcpWLfL3PsMtmy9ZlYcQ+HkLgjW2wTXH5VmBahWax3qNWQf/ - 2oCdm/ac7/LPjvN0mx1N8QpKk79pf4Yb5EXKzCzuUm7xSJX2hOiADiEj+DPWQaQb5YDi2BhZNUig - 6/B3bxfjTk1gaT66EzPUBadbVscsSSEniq5xTxA1GaANaTtvizXyu8rEnsN5M3RaDXG9DB/iPa35 - AmcuutHXmvIPGHvv3zz6bjaqWMnK1hyqK0vxOYc4YGyxQLJ1yNayOx8j+BRenuKikjFsxzLIg33j - MUOPT9dMtxE4M0y/E+M= + 6/OQCM5B1PpgEGjMPkNAX1dIl/38pXvDEwXhSlJLQnOOx1rwcVVKJr8eGt0H2BTs+smrH1cbOdas + FrTDNNVRiybEwWvFs57WfrA0usb99pat0DsV0Fbop485CInWFRhVQ2RVRS8ynmf2aLc2pB6oJG4x + iIQSIAiRhuFH155Z60xqdEYMRcfE5Nmvkp2K9fn+gaJPYNTKpLrTOSl6LjIEW6VeWM0rEVC9Fnzd + 12zH2fg93L8vxPJw4DGTGoxV3DpMr2DyXueCV5YGwR5xRZT+SNhHI+ZEB+OpzwFdlmyfoZZ6Zw4u + xDx9cHsPOR4Ldpsgc57d/lxf2GBLZB41UA5miJ5aMmNO8ef8TNFYOfgAmBgGesB1OWrktUJjRze1 + 2JTQRpObspCyMHjUTYmJ/36FXiJy9zcyARpsRkHM4sEfiGpyDnAO6tqynV92SoDMKmv7wczQSORY + puoa7aEXOubXSTVoXZ0/ZsGb5Km2C+rkkTlRLMbC26lvt1L9xxFX8o8nMIIEAXkmmwbDpKS6XTQ6 + boU7XNzZE55n8mY5j8Hyy+mLTe7qwcUWxj2AuxcTkuBQ7iYMCemXSghxtv2C6xgL+s4amTzzhbsl + UY09z+IgTNzqm2uWj4X7Q3Nj4PTPqz6wgq95RMK+TS1FTDRn+B8rUN0tWLY9z8QwHCMeoUbFpQMO + KlWIqA32QFi/tfPmZjI3cRA5v/yh0sTbke6yiH1ryRFhI0UBJmWat+Efem5E5cvpvl5PRQs2fee7 + t6Sqwr1BdTwU5WcBQWggYpAbl6iE0BIYhzF0nF9ZYjkoziVnGZ6jvln37vRq60NYCzNnqfaiYkPv + sKeAfMzKSBXxfOeO3ZYkAN+BZLsRIdMme1VRbpv2TaUqbnErEWo54lrhxKXFSjYe+NO9i8Wah6Oj + xOOqHmtkgyaCte56IEHKJGGlWNlLoXaIsa7d+gZ4NUb8G7yDCtdMkV7Ei4QLGcadkr0L80I7GUc4 + dO4YqqbMrlSJkv0+EncbLtBpPbpS+oa3dKicPvqbyj8pnUfHFXZayDgj269UgTxFNK9fzwPzquun + gmj8MsPoGCrQJr79TH6lMqvyOwRSb/7I6+LgAfTOG4sHuLkq7oFW+Pomjw/pwf6x9a6cp+lHUkt7 + cQ1Pcu2wr3hpeigHjhko5C8oXmarF9354ka4jl6AeDGUZnIuS8hIcRicFWucBjMId0kCRlKadQMu + 6oAZ4ggnpmK9BaX4LfVn3KQfIWdT99WLLQ2jxXYV+TR/OldEDDH8VXOyBKzvxNySQRDcfmUnkMl3 + F3JH4nHa1oCCuIRSwkSnRmc6czWvAH1lbgCDmaZ/qjev+3qc6jdtpyDQong+kyTwNztxrWR/a/Dz + WAUKyohsE5fkQRdMiYk= headers: accept-ranges: - bytes @@ -1157,30 +1265,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1194,39 +1304,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-range: - bytes=2032-3071 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - feMxQ49P10y3ETgzTL8T46v6zkZjaO39gTaMPrjn1vREFiBMbL2JjMMN4LxiHBQ5L1bWTfjTWFQQ - Z2U/CIhLi1LfvBepzIg2J6wl867lTwPX9J9twqI2h/h9Nzin5j/YcoSVop44txZtE4AhdgIjGI3j - StxoGSYoFIfNH0Fm3ORTCiCLz1BPyZkgv0LbLxjHatc6qYq5NzKre5+M9bFCH/YrFDCntwf46nK6 - GYoz67jahwogoZcUNpUhsZUGs0Vy6cypCaEHSa24pBMvn2bSdTjg/Tdple2wFBPSl/CUUBvptWKD - VE/rYCHlzATCEWqpfli+PZ0TC11kdYH/gmGdjYUMjKKHg7XZCg3XpUskkKFBhV/tT9wFh8meyYbH - RJ+xRtfMDbCEVmXAM/NI5nBLOuQkDPGM0OVkhFYLxkccACN+7wuQBHd4juwuKr66nMND04QRH020 - SkuVacoLqlZfLmpe8ZY9bqf3cHVakZPtnZTNBdxlwLJZisxWM2ZRoeSjPifj6T4GZq3Sr9Ddpayv - Py+xW0Q7c05c/jW1tV65wz7h+3oayZHBvzB4vmW2QB/hHif+5SUTw/g8n6W3OO1wXUM+Kq1PsPQi - TLRKZyUmH4k1N9pknuedy8Lm5S67FxikyTNBtwx9WPkyIkrAdJQmJoWHyi3+l0LghMg2QaWCcHie - eMaYat0pGlbtQ/BvsSUgSTZtgblvNhcP3g6WR4fXoVV2mCRQAAqtLVVcv+nwfw7yFc2XPqNDkt/w - unE+nLZVKiEdVhW2BL9BZd44cxJNnxU+pXsTYbsYBEAqf8a/dgqbSoOsWg5GSmOgq2NLwxI0SZMA - hV0WlfuBn4pwWqxGBSt0W5JjqttYCUdpq8BjKhbFJr/QZFKf6LDf74RAYkKMc1hgLzqS57z7iy0o - 56f6Zffh2Ls1GHZLTLIDft6w0KktgvIgtsdpYqJl9zXRnZg0fiP+l9Nb3MumWTvZT5xg3fXjRr2m - nDS9w1UVUHTBgW38rtfVspmxqE00dIovQjJZYbIpzPVzYU/4ksc16ejbGDbT+dQlxq4J16DUL6t8 - CcNtj3nceaktMo3mHJOMxWdaqFQ5v7Ib6yqryUypg7anEp51X0Q1jIYobN/QFefZMvB9xWMP1sNR - tOQ7K954t0cgCbk0L/KxzcgeHgxbx2jZxMDWSBVJFWFtx75KDiBOPKe5UA5025/Hipi0vs3o3ID4 - GO0qpX6b/8a+PoYRojGXwXff8IxoPgvyEhbkDiuC0FmJhQiUO6I3BwVLR4K0iu7yKVRMCIfBF5sR - ECBGoUHEBfalLsYhRTrUpNNmgA0ankSgXzXIYN5iLt+lGXL7Iar0SyGaXd70v0vG9r+nccZWzpui - RyvKA4ICodeZXCNCe5g= + 8PNYBQrKiGwTl+RBF0yJiTIrr7QnQdoVqaHkhsjhMXAsdvpazp0RupZ/u/dMBtztwi+iXRtFcwDP + 5bL2ZBr0wBUHLLhDIHkCxEdOPC98v9cwKqwC/dLu2Y6G1NhowY5wIIVrXA6JRGLX8X/kpN4TWo/l + tACj0q7q3g6fkJpYZiPzMvDRPyGC7KEXbAtmPuNy5Hmb61eR4FPosi8Q/ZzNP5IfAhiyey0vFkTu + wrbYzwzpdHH3EVGiEKhnZVk6LXM2Holzv7IGO3OUNoxXZv0tVZlxwV09+Q2QmI1MH8nkwmXv3QxF + KNglPb0efXo3N6JVReILmoW2gtFST9P/+F7SOt2QGq5YvhPhPhYldRqJpXWhdZ0suZB+Xm/YVK/E + vcXoaFDuqwrfXz306VObnvRQdU85FRzc9qqJ7tqho+VBB+M+pOdmaKZhas+2rttDqjkkCB2CL2GH + bqrYM3601R0NZgmG3na3XxW1mT4GfU1AuGHvwAQV03wkokvAbb5Cln40LLofXYI1d2SYGCOFkFGe + lyCOBs172NCTmQF4Us5EMdDpdGMHizZziGt0YZUYUUZYuOWxNflU5303hzN/+BwGH8HEUjOLlurQ + dVTAgCwFKTBqg8A27dyqQpQ9y191E3xCzYF7TFsCLqxpE/9Z8eeFh0ttTXina43bkSQVfHrXcA60 + J3OheMrJaCGGPYQrQUNRI/hNiWGdx1aKxw7lCnp2NTOTJskQ8I18/9/jJLVTSuTP3q5aqT3E0qQi + k3/VB05EpdwMTudz6rUv/QwESn5GcSbEwunOfTngFLuqUk93Cbdfq/TWthlUMW1i0Tg2IIyzAi7g + WWnda6SITPz2lf7e9D1aAwigPw/ImqurWiu0LTa1Zi7xVfKP4jO2ypAGPm3Cv+lv1dT2494YiiEw + wcC6Ri0tFbjirSRJWY/79laTpkmqNmdxxtrQD0dIASmWYJ8daD19Oh1f++okVOQIwafVfVYMvlnl + yoDpBWFPTffe/kWpZcQXKC8UHAK4nWgmvuihe7ROHcvgdQ1uRGYD0DKn61Wkz29tS4R0oEwbsa9I + WLxlqY+qoaqzDJqZPuLeRjz3NQFwgeDwsYYHhmmhB0a9LEjcClmROzkZqSPADNYb5U/5bUqNkH01 + OCskq2rxdz5AyYgT7G05riZDdUbphtAVopF8yWyMfo3QzYWOnQ/cnsTxeCucKgFcdz7gzGbHVX6y + xtN8JgONpxg1WAsQeYHJmEyHl9+03KG3R/I4AAasz2/deZ7f3WMT36OTziOpX2fNQLbaVWqG5NZC + FcfmcQigDSz+7TkZWfHI4eSL+3bkwjSTr1RSerGkxJy3alDNPqsyai8FFixdhA1K/Ri8QCpQu+tK + RzT/jg9qDcDTkrRfyTs= headers: accept-ranges: - bytes @@ -1237,30 +1347,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1274,39 +1386,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-range: - bytes=3056-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - m6JHK8oDggKh15lcI0J7mDLABtJSCmV7PgtCyraP+S6VVjcpZiMqLt7HWF99lXwPKCbkAh/1whAq - yO5FHQYywEJHae4QaV0Cd+/F6EehsI1p+xUdvsehc5UOCND03aSc+6SulkgKRPThDTl3uB2YhW03 - A6oQjaExKTc3zyrOrOz9iSa3NHvrqqhxUCQ8Jnw+6Pc4+aMTaInrOkY9Ha5Hi12C/Bx7rMgv96Zx - Ndtaah4k/YFtzGxrO3d7A6fnm1gGHdkRJu9TJHxDYRqAJvKi8l+G89ZYxJOTZ8pDpq6YRiNoQYna - qFBWnY3He3sa6BURQcCNFB5pUu7pYgTf10i3m2enypYTsDAB1wWtMoq/nuORzN6BXRFuynUZMQJh - 4yxem13j10Oz3Sdfd/Bu8yhurN/yLwG4ZIwnnPIUC7r+JJ0fT4++6304GXZfjSAhR+ghY1PzRnS6 - 2m7PXKMtIfSobTxcUPMb43rqUARNTFWSM21N9UUaDVd/059FD9Oj4P9XBucax3V1t4ffnsWej3EB - SosT0jcL4JcwWAMcMHRuhLYUgDP6imzY7yDSgZP/lP59WrBw8fcORFWm8vvQDTYj9p+NAWvwTwtP - Ij6uvUZZN7h2DxloozRoIZCTHrjHsHgy9edT+pYnkDrIzk3PfJbA8AMEnRwwIILLTJ1JMKiRdyxf - p+e5+ERRXafzyMa7+1CFgsJ6QA3LnhznNBF8wksgoG4Pc4Nf8Dsun3R4FkKEbvHmE73pJyt71kT4 - QpK5iCoQZgb939QPI9V9oOoOIhc1nxb/c9Wt5KPboyzmQ3LTpeWLl4H1AuRuEVlCJ3RjkGyF3LJt - 1tgvjuPtzkuBGFKTr3gD9pW+4vaDSiuG19Pa9TCfn63lZs9zJXeUyAhGQRymtGNl3Kin237cZSy8 - lNjfgwcqWFRqPpLZ8hwAvL1GZ9qIXsecTe81zKnKhKNZj7oFBd6TCpxWobTzBlmQ79elIsaHgxnQ - e9d4+jogpwfi89h+0SHVByfyQarab5AKavnmT/apYCgF/raEo2MrN6HVXg/mvST73YP0+r2+evz4 - vAmF47MMX6cGH2mRX2nyJ6ANuAHZh/IZH3558QXoCHICEFFMJeT1s6RtaJuCgQD+9svHaaoJKu/V - TWA1HCI2dg7rwuxnqNN4/XLYwxV2qivb7iWz4bHz0mpxADsJH6nvAfKQCAAWTMghkhbFGNHa2Dzc - HN6atQUBaeQBMV4l07FX6uAtJOUTMIMGhiECxq1sv8E6IxDliY/qwLnOQ/BeTdqhHDrue9fhuh56 - 4f5rJpcougsCErXQEJ+hfoA2q0DkYgEjO+q/0JFQeCpfvqV5Rl7heGaFJHIGubI/Ak+gYFEWMcmG - EBLwz8yp+G0jXpgm9KI= + 60pHNP+OD2oNwNOStF/JOy0nFpGdmZvmTuxzJCItqfYZTJKMl5a03gAdVxBPJlyMRpdCUmCRCEc+ + zR8Ryw/cxnuoRcw1fbo3d2ovptPeRGmnxFLgTo7iSRN3o41voNDMcFTScEsqKzx0K3oppWkQJyCU + gDSFms1ZGh2d8fP/Bp2y29XIf1keoPYp20g/AOX1VnUVuuJRlRwYEB8FovM5czGFOY7Xe2Ek/VP1 + YiIpA/2JSoIO3RaDOiRBOFiV4xuStORmo/rn8tN77abnAg7uYaXBEbGgW9OROQ9GeqwaKpHEnb5n + JOmcfsJDdP6bHMAu3au1mMqIg8FodhHV7o6ordvnOz6gZGWfaznrWX6tjZETKIcn9k5OEi+GD/te + VR9MJkj+04yux8LclReMaB8zG360UeEk3V3gifymWzhQ437v9nl8TmsxEZAoZUqdTk1VyV7czjKn + ICau1DcCTBGUHhidRJd0iMiEd+ddIcEoOkf3GiXdDj1U3rPvCtmKXotY6xgVmETM1uR4mGBKvLX1 + bErrFsNW6UkaVI8p9zNVGncCNcIkf690IC3oOx20NMtvPygQogMSwDZcfk7LFGJfUpZQbDPHFKO9 + mJPZHWIGDG23KKNz57jOGR65SsdLHI7LXGcLX5hE4mxYJjdNqq+xQ+AiOodY5Ms7g+yEGELkkF9T + EvErJWoIBvbNjuk/o1mWrYa/ksS2LMUu/wGA1Ev2J2N66Vc3rstpeFmIi86y+lJ5hx56bHkZO4t0 + +/SkDhbTAT9zRlPWwy7JEfvT2gPAce8QYGuZjN+sHEH51mhQme0lkNtzUzb5pHBBTNcvQKRcAppA + pq7jKFeNT7GK4anmmIJ6AI+KiVb6F506IMZai6Hoa+uaq1Tg7RMYFORb+L0jMQUcmgPlXHDo2KAa + Juu+fzT4Jjdgib9epQeqEh1Kd/AXdtPKs2FypDIQqTmz9e8P4rzFBLjG2tfsTx/ohOMmiQP83NYh + 57wY9OUAjqL57kRF2IO5J8E0WFSQDykesBry+KL4Z4SOFCLwTN5fH1pExx2mdH/4y83ymU2WQMr8 + brttcvJhmTGfp3mk5YgpNU6mB3LRQw1rmTOOQMi5t51fWUgjqIIVRwtwPQR7D/X0i8M//09YZlyK + aD58XyLrxbjpgdsDaUbSqiJ14xBx7o6rIFk+NwzjRuSlaTpRdumo+UcYThdroQtDda4Rexdz9zfy + ZuOGVSqt41CAkxAEzFx4UuI11ivKQ8V57o9Y0eb4Oyig1lSVYnhLq53si1MKLB3lmgO0H03+4JPI + w59LLn1Pp/pONXscBcB26tSTM47q9pPnZm3C6zq2gvX6Zfim4Ne2G/u9ZFxbihqI0c6Ozxm8tplY + Sd1d5omITXQDYpHqeIs= headers: accept-ranges: - bytes @@ -1317,30 +1429,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1354,39 +1468,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=4080-5119 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - yYYQEvDPzKn4bSNemCb0ovS0VEGgZYwUU7ViQALCETAwq6hmIhmiP9eD3fLp79c4OiWDbelEUZJZ - 8H2AoJsqMHqjTh0AAHEUgaiayvfnCUE/ShMqR0pEsx0u1iaSAcmnr1meT4GWSWjRpjigm+DNaKjA - T4NfQGYRJhHV28yu/pfNm3QbFwV8cCShLtASxvYy4cKWwd5NHNNzHbV+rRaS/oDNYSzdprhhS8T8 - o8LCvegJecvXi8Thaq2pvWfimfZ9Z0YhhRlVHqZI7ncMFi29+8oTGJopdFW8/mXXPhYTjTepFGWQ - 8Lmm5ZTMJfn91F+/672ufWXgWiT9jhCH6qw836iEb6FOkFcJMLjUJhtT2NGG9sxiEkagcBuRgpQG - Pz4o2U4f6g2Lb+s8nU36oWmVvL+HzKgTiPaManDC3oZYhuqbDu2PWiMt71222DA+J6CtaiqaMTKw - PElHt0f2QKFnqkLIzfN8uEr2kpm+Zd8CITk1ue7/2+yi9Mw8GLXQrdNclXHQ4IIyriCaLRlwd7OY - BKrmajzqLu8Ef81Dxw0iiSJJHVzSScFclMRtqT8r6IedzVdNA6yz2wIJ1kHYPn8wzd0qAd1n6uU3 - vN4dQIETIYnv9UJqxoX2AtPZOhLnzAvTnxgbUsFGOInArRC91FBbUXfjKod0FQR/TnAOQv5znq5q - B9XER+Sj/t+yuY0kkCwIPYs3O48DTt5sb21ifQN3aAc65wU6IsQZZP5EOB4X0eoaklAA3k7S3gpe - 65P1v4AqQDpQNhY3C4LKGAV+npQcYIaWwdQSeKUHc+c5W5W03lFqCHk+OHWGLade6tbuhzz+sHok - wNf45S09u3VHOHR3b7IZ/0zfO5NBnIW6Z0HZOoWZgDfHagjJ4rB/akA6yxIIIC27M9jqeSvgKioD - jyFvV5Ms6UT7vdPxXe49SECSWf1vxrlwLKQ7TU8f8VYBfst2m8+7PUjsDXlT8TBbMyYoV+W/pHu6 - WFwvGL+RuFL7d+EKcSLfcCNX70CbYr/3DeVYhvXWTqCYyOODsqAOVHNHNOJXNKitAiwHnccc7tJE - xHCZEaQffD/EfnnC1RbbtybAk02zRZG/fljDSzzJatuT4kyajoqGeqyIFalhdQojqxU+KKJkw+or - tLl+H4BAwVkP+cNPe4fBh/UxrOdtrGF1knbBswu2m7pO1YWgIDwKZwjwfMZwRGnUJYO9QpDEn3vY - FiPsPutUQLntr2BCFpkVanlvwn4HgP404koqdrT4xBvaWpXxtBnugwv8lSDgg73wBPEw7X5/5W+h - mOoAyv6Ba5e934ACtyYxzPzXC3Cn8vzJpeAPc2sWOOJKokfuhAGst7Zm+OA9dtZd295gOYkFqyQZ - SguK564LgjJ4AI5+TZc= + mVhJ3V3miYhNdANikep4i8xo77r5wumTl8Pin+swwxk8VnJYLqSj7gqooslQVeA0U8S8hzegKlY4 + WRTu1BWjVo5oDBYApUPJI52aDsnuSt8d8Kv1pGEwQhcXM3Ug4oz/fsD6IWkIILlbFpI9A+caNBBo + 46jvDokgN38hAW4h3A97k5RWQ+zui8YVEQNuQ38wabGnB2nDXvm7N9PPNKS6tQGxiGS3aEqKwMw3 + MHKzyBpeQ9BGx926824t9bdPBPDYAHVZf+T3t1Y33AIquWCi1J8sQX9gTpUtm0bH/cuu/GQqRVvW + n7kxLhL0XwHRjsAZT+4yFWtBmudITmU/ro5o0YjNBsxda5z0Snd1h9YEt/06rfzRw5o3nt+FQBJr + LHcg2nDN3QEtgQm2xqEnHsu5KzNuCWr8+obUM0nYExYhfSxf9uS/3ZZFvp+PPmJa3Xfdv4wp+5AK + /SnLniN1rkhKPeipM6896HB2WwtFT4j7Sjr6lRUBPc54rqnZMEii2a4e6yxzUuPcRFE+vhNAg1nM + 6x+EaUx2iLdPd2z8p9Tqc5/aB7IkYKiOXd9hl+370nJm261/yDSdi743YHZ1Q0yEP9urLQuP3zFt + e11XAYDlOBptCArmwubiHyeEXks0mDKEhr+UMFPuNhzsTurRgnwE0cL/vbhXU3PNhXvPD/Hhkg9q + o1GMQYkXea3Wvwjq7dk16YQAN3k7p1vTESr2jyqMtayhRtW3JAIH8uH8h/HUPHGTj+NO8+j0B3bw + yVAR6ZwhJXYHwAld5mUaE7vhgV3pPN99dOWOGkDUEikxhgdUbFQs1qk6ZQGNIwTANdSghhK0B49w + GoQ87NpB55r/D84nqGtxYcf85UrQR0h/K97E7y96u47LBOkwpyhGrc1txTIpL2NOVIqmUYBth+du + JuqIHkKKSScglN+lgJ1fZuLHzzWDIEFLuvTJQFWs5wkVZfsrSdkJ4eieEOFezxFfZ0uh2yvOp0vi + 4eE+GxZ+gQ+PFkyAO8ZwyK8VoJFyEhmoDHR4911epoMIlSf9znPTvz53HK3pNgmKxTO9S1J3Ini3 + 72I4CLe3QaxdknjvZFZVCzVzN4sGV80gGvJ6g9HPMA59krG3WeT8bOmFJfVBR0nZUv0tW9dFCx4X + eVdi+8LORCdzhSjESK5piGELBnBUZ1nNCshHZSwhQyAxFBQ6XOXgUiSdc6D4MbJzvGivItZHwjLm + x3q5fnBcfcIUSVQuPOMua3s4NGYxtx+iIw6upKZNQYIzl+uyLz5u2YTmv4PScmaNjYNBirUpL0HX + CFZJ1IyhvG7DyJXw6b7jyFDiVXA0JbvG6bHejzrHAeRaNkLIwmrRkN1jmqTIjUuaCtFRr8qRe4py + eFyejV8440f6BdDYUx8= headers: accept-ranges: - bytes @@ -1397,30 +1511,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1434,39 +1550,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=5104-6143 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - JBlKC4rnrguCMngAjn5Nl0ORJl0pW8q8dYCAD8JicODcVt0SrivqTqlR6ebNPmGdGP/rdymAv2yI - MspqmHTdxzp8JjlX2WZJzaWQMyiJgmytz1vzbVbYVuAgliBSZwXK3cGtFvbt+7/BKvxevMY5ykkT - JSkyvWNCIHAHIz24wshB0ttT3pPo79kh7b/y11oUWxfSwECDElWSZQzXnJXvfLslZQz/XZM6P/pL - /fCXvJnLKcIHWVpJhHPZnGSD2owfjj+xtQ2h7K8qYXTNKZCZ21687RGqB1R3tCEV/RJRO2tVJxQp - y+f2Py/8++aE6BvIAhAlRRfG6R6jHbvEcjLjjPipNXjzoqhFcmA/J4WZI+DRpOwJ37iSRWZvxcUL - V0oG1CkawGGDtIKtpfeZvGfq8zKLKrfsTnmItVdJL/7kl8KbusorC1ANXVHbzQgiMeSj18znwWtv - mg5R5by+Ho2Ciqj92wwTaPWV69kAg/DAMI0u8KgOuBesU1Wa/QFMISIQK3Cb2v522fWrJR87INZv - XNwEk2OI1fU26ieqF31RzooDCCjx7oIBPdhOZIlFYjLx2sAH/EryBOi7rqg9S4xW93I3fnmBxf1m - z3ACgMw0LMVwQP0kTMcF9RCyTHPLnQoGloV0W4Pjtt3h6hfQe2CWQoZBU0gCaDtBfPspwXEmN3mN - /GFAAbILi1vf7X2taPDRnXJmrios3kyotGSz9PuUvzN7Qs0pFjSuh7vBdbFY8bNhTzNheyePgA7n - 5BR1w2LJM2zFtGbCLHaIV5HXfNvdFh5MaLKWmbg2CsVmrsJWVp2jBFj0/9zzyiELH7431VTclx2f - oDjexAbTnPszCYbXKVYFdWi3SylfUAm5EDXqjeX55SiidvIa4hNGSx95d19IBK0zEFEx3+2crfE2 - yE5NSKl2J9UU1/wvlI9Q5VKasqjeuFJMNcyNsxfIciae1dQXiiDWddn+/3vvHOFSsFGM2s2I7Jo2 - PGTntTf9FIK1UExN7j6hFbUWNNXxbuVMJ90H0wmbDFXrgncsW6IbCfEbv+Tupg4PmHFIdEzxIGVl - XSIYqblvW0U+r5F9/0Rr4mQU3xFrftEEBSoRIFLxKNVy4qlB+LkwUQFwJemA5/Zr+uheB80az6hO - DFBZ12kD2KvQV+9tHcv/p2qTuVNb9L0962UY5ozurtEOr0lnjBxggA8w9y3S6v0JXzs4BpoeoPl1 - mElnwsRX6PbLgeWo/nB4iExtNFvvCVHYY4VISSPxc4HLXgsOQUxXaG5yMwSnvujC7+4U1IzedB+G - JPFv08Zb85hkn5H/zEZcP3pvYgVSOh9QkacqZwjeP/kviiCiYiqVqZQog93oztPXkJLGSDmKxWqb - nz7C799W36QUZdvi3Zs= + inJ4XJ6NXzjjR/oF0NhTH1b/kdkj8KJGzezRrjNDZl2iDSsizmZOmoOlSnqRZSxyRjV8CicZ46PL + 4iJYuFqQdNNdz3ZLgETzCx/HjRNixzuq+GUV4buSI8WsXydCbTnrKSZxiZAZAMZG8p+iDL51w9+J + ZxvxAY21910WLBw8rpsxd9Gld3etaYkCgyB0ZytmI+pWRCg3XDRz5p6elIwHY+8RDb4O+rr9+Rza + G/8kf+sUwmkpPA54c6JVxJQAStmXlq0jR51Io6qTTKhxgE81auYNEbvbwdDphL4hlrxOyZPLLB/0 + 8q1WDkUYk+a+Q3kLSDfGzFhcYj/KrY6GyMXOCIPK4Rf9HjsWxVMdfdIQ99kxsYW9PEOfI4vZgATo + yJjTAg3rVl5YbXoM1UQCi43pbja6mRgwQR6DOMvCnSPR0srPjy0mr0zGdXi9MMPJXw+bK/AjFpWt + S/qpEKBp9GzM2dntdfIrLp/ZKGUBZRiKZEiMZxumQD1c9Eze3wBtjCbVc5CqSZkSQYex3HUtHesw + A05qs8fq8WXBiSHO7UA7C9jvFk96xLqsyos8uH5Ulc+xVy+Plj7CBV/q3UC1gX5nOZajvWFxTIJ2 + tHfGNwiI0z7F4yzvaWYcuDpkbR3jeXIG+ufe+jJCl86EX7rmSpkmo2q/OTxKIKehzI2EbLBVy8y3 + KLcBwLTp2M+2fMCRogR3iaMdKnFplh69Ytz24raHyj3KlASLlQKRN6BtQq/NkwzDuDpG6dGWjt7I + Uvb4a99nBnzJUkp1tZ15ewtBgpHckia++jsI5RxR6A5tIJC+sYxwgrj44Q2NO7SFxPZrv+UpMGoS + n1IUtLmFnzedWYh1/hEQKkQYqCSz9BU1vfdkraPnSS2kzimSYUnU2vVdV2Yoe4Xe7S93BiW9oF7B + KjencGFJZhmrGPI6f5Cf48EY98iUfcmkwVYPOZFc96Zn3Cf/EndiEDjgmCizVteCY1VkK1XpTtp8 + NpC0X9xa5yuteplxFSzf23jMRJYc82SZzXHNCLcHfGBhg8s0uHEzsQPI2IIA8us35grAWbGL7YW/ + GUITml1/t3sy9mlgDujKO8BOn9wndH/OcSD9zBOJhnGo/5c65hoy1deFTsOlhIvCkxituv0YJe4B + PrQNDgR2UW3JzWvKN9zKdg3hY2oZC74y4bdk2b7jFUWnpXcQ8jb2rgVnA9DVUQ2AmdaG3a4YC9IZ + MTvDfZ46Qir15hG9338gV2FRZe97/7Q4/IBZaOAMViiygOQzqOQqbWM/Gwgrj1r5JJIbFUK46QRx + lRiU4yUxY6B8qs7taAIVJLP015qaHAlhbFFTnfIa8ONNYJvwuuo4YScw7P/MFlsDu355nR6ckd0h + 7Eb7EXJT31VQ81rXNNU= headers: accept-ranges: - bytes @@ -1477,30 +1593,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:43 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1514,39 +1632,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=6128-7167 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - apufPsLv31bfpBRl2+Ldm9DAE3VFvrt2lYl6UyqUZkjnEfZeoGS7ePSYDGejUqAEHNzWRE7QPBtQ - JXZIjbgG+0wlwBgg0WiRFxT3acg1latlh5xcTe/OP9Gfw4gmxhnkoR5DBfasLOhgEiR7Bx4qv7Rm - rBTbzaFWgkIA2+Gv8g45n/QQtchPI5cBOMeOxCLqq/Q5x0WC3nEXqKAIZJbd5JoqTQHKzc5VJNlQ - ztKqwBuO50PbPBp59eO379M5WaGr7QC1OWlkMLTxBGDLShn/ArSd1I0wniNIMwts0vpUtY6WgBmP - c8aRcd/vxGToHbOxsPuG6C3ONjD5VUR2nXKuM9bXOKx29ZP+S6EzkJHUuysi+YWW8XrByXO0DYRK - d8xm0kOeKIu/cHC9eev/BypedxZO0eJr2nthheBh5QmqvXRDo28166Aahq05VGZYmIYliQAyZjcW - 7xonwCIa5OdnH6hu/PeEMobga+2xEVVx48WhJ0a02kk/yXBXx6h9uXv0oGeFTzhrylcjUyASR+Ny - I1WDqdwQZwgWP8IA+ny/EpCgiwXZQoLNJqD/WcJ5bezgo4QirawQUSi3lfqBPD6uo0dO8o8ZSSAL - BtpHgM10d237QXA84UUszyx0WYAzvEYhnrd3g/Wfx0IMHZtAfiepIPbPhr93c+O+fsQ7cqGpakXp - a1UMWLwKEoK2s+JKxTkhxUd7OPZ0ay2SJqIPH1v3SvCaakcJ6JQnpoD9aTzRT7axicPHmODL4A1M - wt4gOtiSl2dCLVN+REhG7CxBi8u+YWS+qRoHrPGADxMc6jxPlUFmLFTwcsIOhVadLCJVJyd+d88I - in8G10RhblnVozi2xZ4j58aHg/0FlmoQU3S9bOdlP1SD/aMs7o/g4f5Ulw+VGKF8uJp+TxWrSAx4 - Q5eQ9kafposLd749rWsUEs2zE0eJu0dXAEjQwAEYn7hZlKpjze+WzvphSGVB7dkLmBLw/k6iDvHr - nF66UXeVpyLuGqdon6nnkx84mQDaAyvTdFRoTDVyYZ/gNe6TPjbMP4zrKfYULRiGGava9A6NEwV2 - qWo5ZEVz3UWcyTI1//Dqkb7KVHFZ/2t9E2Xhw1C2Ml00qa2alrKrbJHtxt/iUsJLqTMetGmYXTLm - QjKwYIXrj2S5w3Blj12uSm2NeFPgvtps6lguLUze2PZXNTvvz1vQv4/Xkuk80IcRR/rnXf0Ti5gj - /0RQ3QaGdfZDACZqZpxPCpf7P31zYoWw7rQoVAVyETgNrJq8U0svy00tdpbglfUBojISnGQsyZMS - NiG4E7v1O0XtTkkjwpmLwsYn422Eybtz+rV7XTjiHp2rJsOzknf088vNQg9f9+Od4KA1A4Oo7kXe - s3AP9DxDYe09AjruAt8= + 3SHsRvsRclPfVVDzWtc01X7rLMJ2L3XvbrLP5WNZiDie2WMiEFhd3NlyDIyLeZZgp0eGy7JgU/JR + 9az1clPsR5Cz0uAbEnrp11bbpt6dT4sibFjneU/DEWQdBywoFiqMTepq0iALsTViJepX68pfF6qh + PJZISeOg5sROmwGtrjMJ+km972NOfmNLROYoKtXoI/1jARbW7Dds6wrC7/xan9e3sP7aAzUT8RvT + G+HI0dmvif1ccY3tefcYX6LcaWPjguaPkQHBeB3yREWlW1jYup5uQU6EQMPYQRy8j8aMccb1A+FU + CnURAF5QGxJ7xm/5FtQ8b09nFc47VHF0cY13qG8f/hkYjumyBP2o6GS5J5VMQBkHLMfYgDsCvRpE + JWw5w/yqir8wyEQ9fHKaLCf4U+mxVpYgb2JXR487f2FcUMk8U7Y8RQEWkO9cj/uCl4NHeH40TVTl + C8p+O0qXxNjjnK9GqyVzxr+lONdGlSB/LV7vgZkcJ3u/dK02Y0nYQHMwu88Y9/7mR8rb03LkK+02 + DTxDf3m95f0snWcweSBWawaKaOmxIvg30S2GAPTK+iz8tG7HGwuP2JHZ4b5d80HZzD9vc3j4Hbl2 + VrIjMM7LMBOp6l+GoAguyE6bb5/U1GYUNP2LNcAkEn9R16JZxCeNLuoSo8y1YuPmqVkZA15J6E9s + xTEfKw5wdMCrSinX3skAsPNAgg8lDEvhx+CIY1JjHqrz2i9G0Oty4fTe+YK/gvfYnKuD8+7IUCjP + cbq2HNsX9ElLbwCDbV4hChWTYnDtzaYixF2+GQpKfBIbKt0WBUsHpKv8oxHrTPMSDY0k/W52NYYD + no5McOlj4S7OTziIH8ByR1PxBCMPpmnh90tFi9z5raQP55auhKvkxCE8Upz4LfOdsVnixoMhuyE3 + XHDGYBeMvab20WzwtYhOeoWVW5DgJiRCPYfrGTgQMupk4fPHXhFQR1EZnHebYUsC4JuH96GpUlMb + oIqKnoobkJdnCQWEfjYJkbW6jEY6rVQxVCsX7gAxFs6fYKUyzKrZIb6u7tRyXsGkgKahLblfdTjx + Er7+bj+Bze3yU9O/bCF875FxteaSkISKhOgVDpaxBAMUj/lu0nF2V5jnnWrAgM99CfAjXmYQSpzL + ZZLlDbmvZDEMzMdHjTPfOr3u8qnIwcRV4FmnhK7ANV/uaS9uHrP2zQbxkmFvgI7VLlBvdVYiw1bb + YpwCa3352OXjKjZXndB6Zo21G4lQwDQikPVJzkhXZMa9mZETtddxeiXgruqMV08bg/HPYus8y2v/ + Kr1yzBX/fcTcz/7f9sz77kdWYLM84vMU+Y5Umz73kBPi2vyE97jqk0cofj7SNZrh8j0S1B8P6GWb + +jHm1fGrMgCwquk+LFM= headers: accept-ranges: - bytes @@ -1557,30 +1675,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1594,39 +1714,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=7152-8191 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - Rd6zcA/0PENh7T0COu4C32iouszP7NSal26wthxUF9QwKeNv5Wu2k4kljy4wloNAmASLSBYQ/kt5 - Q8/ikGHnSp4hBwe8ZzjkcsAFBoJRLggzInXjlBlNb6IH0Pt74H5RyMuJzJFX8Ea9a8jufJ9Q+pwy - k3dVgkoqvqI8/t1f46YW1pAYUJXxdEiAfcrc6izsH4U6jUEnMKfGsAGFVhCaFt6ODKqLGp3VCK2c - myt7yCx1akXx8kBHRvP1cq95IZT0KIvWDG+fro0jAVh9bmg9Cptt5E4xjHOBMYpa0ioKw8k3PLPX - +kNTxdRLwI5zmca/iP0hkc/3+n6YRmpCXaG5MvNPhhHby2pjVwcxgidp/0lL5DTH7EZkdOGuPTeA - P9dT3IZpzcdKrkwRWt7g0AyUWzOAhfwykPuk3wAbKYgvhNdqdEoQUf7YZEahb5+Y670O0I7MYs/5 - wxE5ffOTGpkuQIy/feD0OwEhM25GgwQIqXYNSyr8wqImvvej8Dybj97sazpO7RQmMjWjzAGH+vaW - nXYo7VKO2CXVn3YgqOs0lkF/cT+YbcAXpEBzGo3cGUTaTKVSPyk7oiAETIsmEObjlVIul5xGm+/6 - ZxsmZlODaBq8/iHE9SM8zDsucOqtZljxDY2zri8dCa0BrPregPnoNK81JkOAvOhaKOLWkHiXS01c - b2MQpZmaUEt+Cqf03scgECzTK3UKi1x4vvMsSTWNurA1cdU1qu2KfVXt3Wiv4vG9+7z0Qja3oGBR - gKu9RL+PrO/3Np69XR1VRDm+zK85xoijf/BGF4KoMRV3Sk8VGRhZ0C1PcNrZQU+5FU/X7NPq9p6l - FX8v/6/WNjqvcEXT2QdxqlKqnItyiOQ9/ngCRMi6Mi+lP1SImfbLEDrF5LuF6+DlQHC9W9e9wd0o - yqRjWF38g5rlKZ6o3zTLAGsa+BQlvfNYvNv8TU2E/26nyH/TdY5bBFKZwfopRj7q6GaMjX09AoQ0 - YSmRFARqtbRwQpGXkDFVLa5fC0+bDdqu32eqdrPXx871dz2f8ZC7cnuV/RSXDdAIRPI2V5riTzDV - 3Y1kjtYgbWu/9TT3WGtPH9Bxz2XLQ7DwaNe9Hv7xGs3nvHFG77tX0pT0ufrraL1LWV+3QLczImts - xd4ySJdJSrHsYYcaWK3AQZOUqpC7bwEpwCam8+q+aj2A/Yac1XDhUQgn8f8BE9D3QWHKiHUhvPp1 - reXzbhfz5CYgCIh3NQmHzbbWBzH8pJyCCb9hHlTrjXu6CIAecDKQCsSTJBT8Ia0Jb7ZL3zBLiZg4 - sS9jNSQ1z4tZ1cw9JD3g8iGMc8b6PuyPpfE/cdiMMowi56gffZ2u1rwGLjUh0rJ5YGN5zvhFOw+8 - 1iSwzUTmcB6FMnykhaA= + ZZv6MebV8asyALCq6T4sUwP9qC4+qOj3gSISAM/M0feHRMCZWgFi2pwdRQar1lZ3hPt/edxe6UqM + dgZ7gSB/d1t3+Q9qvz+3fkAggq+2O+GaKHBVORa3qamBTaH0UzhBIBw/Rq7OlMUxy4HzRJaz0J3K + EOn1kDqLxNd0gC/SX/sY2ScWQmD0X2jWCGOcFmgx/7e9kur2Vy6TFuAUV8Y7tVux9lxU+iNweXQV + kWHBbIXlb24kRlSZl3zp1XV0i+/Tc8wrxbKWhnizTNNd5v9+W5axHCbmAMGcM3RX6iibbIUM9f3g + +fOiWXMCjzQY/FOnDy4Ymy38kInp/w4gCxII7y3YC62mUZftRwFwaGcLMLsLYFtCwSvC0Epv2tUb + Iaea6NyAicsY8crMEh8tLlXBflVmUHJAho96FfyznkJrzj/9lOdeEHt94JxlSvKuG98ssTj1GeaN + ydy7IF7OnbjxQzZVURmqvu6NLektJzVRodQHD15IWbluXNnOv9deGg/oUHQu8OzRMzRTSeqEf2Vw + IKwnurZy5BQrKS2sAY18TGq3QZBnC2wsm8lYoYScU6+6ghrrNnBRk6TPWxZHPsehXHit3VWI+am3 + l1w7kvChxXGOqDxwLeXBjq4mE95hxhfckGbg1fhUCtJ+jirDa5d4lgj0FSguyK7EQGMN+0j67oax + +pCP4Sqy40MVMt01VH3TaSrjeX06gcb/lP3uB3vlZlg9RNRx7mgcdmr3QpA10yoo8U7SsyPk4be0 + +dBbnPtkxH2RHD66oP8t2Nhp3aTEUc/ctXb/4k45EPooOp6Z0Oa7DJkAdMLtvCAR0ZFJ4XWlhsi/ + 8W1Vj9PmWRh/D1XCzKSCbuA3gFowxokCHfxeGsi53cPkGJv1EnCm2JnhdSByiR8mNomtdSJaToOO + KcR380IH7VUGoXKbosNZKEvl03jKymlLgSye3t43PWrgyUBG0evIEyun80pH+FyLfxrMUYCq/4tE + 6wbVJntoigopUgOYFodIe8Zb2pCgSODdjoOPKYrisYmytj+6Hk65xBu2qthuZWlclGWYowO/7nj0 + jUy9Xodi7batQSswyJM7OAlaLz7LOOswfXBTrWlI4s4R0eH+syx4N0v5yUTH/dxf6nUBwl50PIb1 + Aj+gHyjlUvdmIdDvlxsL118WS4xEn7CuwN34e/Vr6VrF5qwpvnyRN3FMxRpIWWDIsDvrxAwcN99r + yNCE/sLeRFdoTlJUvjp/L/p/BUvXfMXGBLrxb55BKO/b1Vd7vQnd+VtT+Cs2PXeAv7uz4shG4Bsh + WsV4rL2ykaK1i0ucoaesoXs/DVQJ3y2WDSHjCZwRbabusSDQLb93hbuZk+la/WirwdKqkdyasAv5 + OoX/D/6Z8etaqYaNVUo= headers: accept-ranges: - bytes @@ -1637,30 +1757,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1674,39 +1796,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=8176-9215 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - D7zWJLDNROZwHoUyfKSFoHvW35nifuiALK7n/nC7ieAmX2smiO5emtalbOIKVWvBQgi3GzIPMdq4 - bFLNCD0cIlxLtKD8SeXY672jKg8g338nsOgrbS3Lrne8McfT+As+mdUrdFFy7aWkuULclZXhRmiU - I0Oj95VYeAcbmkFdW0G+m5MbAlPN8zlCe5UXkntrk0KRu80xjIcadKR1Y1kotghUHBEv5jPd+vjw - viHcM2dSsXDZ0Rws+H77hcZPcHyYPPeIW0rSxthxkPCj/aMB4Aaod1+XYj/rm8VtAPO6gLFgkcPF - S5XPvPnd06N1ECQRJO99GUKr4WGiM80Vj1yc05BQHocT5lZzKe2mMSqecWEDwHbZNIeU0EzrDMz8 - DaRDBu8GBLPiCE7cEyf6zGoog3nnVxd+ju/6+ziSxTRI1dTsRsX3kNoXQDHsV9yGRdexzPkAqIFH - n1bl7ulMvf/yKBxevtoBDEryqGOZ07s5iYHgSE35DiEL76+05lNLpslkJYcCmwq8qxHIC+aviMk8 - 35SsIsjqcWMVIE9fhJd+wQCYRfn1k9kTzHA/dNUNZtydKNhfTc4bNbXgDl8ZrCqAr5/8ttapurHO - +pO1w5N0mKmswryOgAY3OyHJ1eCqB3TbxfMlaSyny3PTIXPRJPLdVjFaXKQH3MCBdGoPeQkWxV/w - mR8BbF6lA+9VkcstPAWrARjMXBQ2ink1yDtcSRv3dSUXOss3nFRTPjLsOtwQBmLdwEp8QDBlv1pn - zBxWVNl2M5BO1vDQWEQOK5KBDCyfr2DQhlYRh6qFihI/pDMPiP34renhtiB/3agQcMxEl0zgAsr1 - P0wmpC2IiuHTN51iA7vafOF5V7vJtXmOi+SMu3VTW7H6ui9R1/OHNL/J34Bmdyinv0o1pBteKtGs - tJ+2LgiSuxAPb5cG4rC7mSSLkK2utkjFZZb0gRkkJfBCyE1l6u5P59L/vfNuGdl/NXmgJeGGp5kv - eY3g+G3Z+eMjMa/HaJzbcKBuh9Yh6ZN4iqX1eOPKMa7TqxnoZIZZKLyZm5Ny3h7Kp4QM81WLuCIY - gWSHbKE5IImAMW2+kjciQfis8beRM+MJi516nWs8XzcqbEoYOXuC4afrzgvVjIf+HMCdoiGV/Lvl - eZ0C5RG/J4gKkduZNm35BIagCab4dgMF4JSH1HY7n3rxPNYUvKzos4VVGwq2eAoQC3bkA1ban7XI - 2OlGC28Zciyg5C8wiNoKG7GOD7TGAui5wpfmJRm6wVrlfdc4Yo7+1UE1ln7eiE13o3pTFK2t5wEg - IzbSyQwzLrQIcWjOPlGcpY6oOfdd7giXaaR9cV0MRoINfmm+zkNlKN3Cef3Dir5b8F2uYdZMqqOL - WgAIe2aMG//ajMBOjbo= + C/k6hf8P/pnx61qpho1VSpf2jH0nje+EOyaIFp4SIxJ8TJ6OvYPCGKSLLfbhvoDqlhN/Sg8vaZsC + 9WuyH/kcPuloYQbMgzi4hmrYeihOTij7fBvRESwPHnqW4vTkl/mN7QFhXK6EMpn1wKrYpjkaFw7p + vUKeX5CJgt4M3ynupOTI+uUZoOUiSLfp+8TBkGXPXSTID/H/ciVI9mhDW7bXzRrORWV6PtJT+t1K + +Qf4cgVWtrkPRzGPp9yPk2CnH6NoOR18E8S63WMNzsFeuYY9FF4Nl9kEbl5Q+PeyOB/COP1DDqZp + lruvunJCGGSBG7HEbjFC7PJHqlsHjS97XwOE3FJPM/bq80hc/r+TjloHF380aJX1uRO0lh5WppG8 + x0fqYSQJ504UnP1AI2GuYaptK/ddUtws8mukmlGXFk6V5+JyLRLpYHd8ayFltN400IDlISEMJ7bb + uSvj6cd61pP6ZjQPiKOFAkoHiY6x+mQorEoyUpCVZ8yDCt565aMe9ukLjPtvvqgJl40+6uJhgqg/ + MVyQ5YvIvC3wubXv0GSOzH9S5Ojmsb5Bf+nc03xxs394iu4Td7R1All5ShS3OnkI9zy5pWlY35gJ + jW1EU8/mEfFXFzOPr01Xn5ukSNKhtas8+BqRz0pO9M+KUjzWAMNttAD9y+cVjtBWy9WQtxmtz1f4 + sDrgQGZcUi/WATap1los9EOou/rdd1uRLmHyTPMQdb1rQTDzKw5ZP9ba5Lce6lEsAiTJbxHmS9L0 + ZsTlSHN/wmCbFzmYQ6iQNaZDbSgohGXAAi8oO9R6qzVW5ydVK3gsx7AuFAMrhlnycjcSAJss8elJ + Y82RHlLFR7aJpK+bgJjHw8p+l/CUXIwAwbqxXe20i9iMRHHH2+KTdyeNX4uB8rWbFSByqVkqwrEE + /GtzJnxVBtm81DF4xvWWg9gyDLu1JzRHurX4lA813j72Y2DLXuTx5hoYqTvE9hvuZbUqwd/hKHBc + TD8Ndzlz6Bop+7xmR3Z9yEPdtgrr9LLRJnmU0W2j2NfEse6AIsiXEMC/KYfW7eQHwhT4EzITsqJ/ + HHSkXjPGrXNIzFgSzEms84fFSKuCQD8gwztpLuADBSI/N5Ig1YggngeVFpZCfDvzUJ+ecK1L74of + PBSyiLSuiqKHDFQ62GO38Fq+5VAcm9jfl1kabyUupUOv+Tw6Ktxo8fML82rIVM6ZWceyF87QVmHM + lToJw86wvsoJKLUO9gmYcqQjpoeqvhqZLYBXSSDNBs4YgpGpYgLpWdBrrt7kv7X+tJfgINMZw5CW + w/sYST0vfQ+xd0j+MGMsvtZlHbhGSjAjb5PGmngH7/LyJQczzRNNTQFzdN/l0zcbbgbXWPeI+5hd + 45H9wtseQAYw+mAzcpc= headers: accept-ranges: - bytes @@ -1717,30 +1839,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1754,39 +1878,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=9200-10239 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - o4taAAh7Zowb/9qMwE6NusmEebonmk/MRzG2J4qrJQIU4IIaKUPTbNhyDrBAzAzUyD1x9W3pBuUZ - BlOOpho+Ye9y4/4pAUm7N3u0E/hGMSlMTMLaOtCSzBG3PKaR3aSczddayXV9lzwv1urXsW7Sl8N+ - WAJJamoiVRj61jVtpd4FEA2zZDedwJxMWqTa3ytV3DwxMx7P+xjeJ51Fwz8HpwdUxT04xvGP769E - AS5OGHey8EKcnzlnVPM7brxDiHhiaQYwOncZVKtXkqRTyOXMd0g1zcfF7xL7A/WPqdgpVhSjDNf9 - 7f2HXyVkQx4VWrQ4UZEoeq3AH1785nspF752lZU2YpaJU6IR9tTQWZADOmRoUSIXjSMky0U3vEyf - Rcvi3426ZZ6soeAZ2et+7wTl/a2iO1vPVMWcJAJY27nZw6vUtCC0ox3GQxQ2fAdO4smhIDCu72GH - vL53x3tPztM7RBVg4NJPYU7Ak7J2Kt6W2740P5B0w2M6V2rYiU349llrQRMVbD0cVi8lhLfwFE3m - JcP62eR0slcpaGenZtRwLQ57HTIQmD8SV2skW4XLmPU4+qCRPKxJUKPxd1RlYlYQrIWVSRAhiOx9 - tSWLKPmhYBWs7xzBCMj4aau4XIw5q54ijjAK/YWi9Vrk07etKPvisPmbAvp8eOPQQpz7h6WT4uwQ - eaVHel9ERE4nZCRiOrTTPRkEOdUnVb5XynHKWhOGf59R/sAP4WJLRJpXrIzmphHpKWBStdSlfH9E - 0u7KDjsiDVrVpEU17Y2mEn56b9piETuvkKHmzNgTe3na3riJ7x9s3vDJUUvco5v8ufeVUTOOb1R8 - JSWKAN5zmLxemVpP87qjOXhFT7wkbcpyzUYQ8G6DwEdgrEAWZpy+T+iqEfbz83Sh+vZDAJ8+k8dk - DzUALEhWoLuAd4RWZkBFBUFubnCHlgfQKWyXJjpURCBPfYBiXPTgZJ7rhaGExtHWj0Bj+cM/4Mwz - QhtUEmpxinkWPK4750ManbDE3WZ/brsazhvO9KQM9SN1qE9IMaxWOdkRLsiJuRpp09S/frAL5d8F - 67qzEIF4dGhYKWQiLOM6E4P3a7E73yXe7n6SZ3qzjzjfUYTFVH6DxgqKnz3+vUsmJJCwyWWKXcC5 - YsPzPjoY0py2TBFWOOu2bcSI5vbyseq69LiZCs9AYJQwuQBx71VlB9AGkD06xuaR7Qm8CxZz/m0M - V484W3ghq/oPzjzWAFuTdY9AadzTSyHK1+FAbhnQxSeLbjWaQwU2saCg8D5lvKMzAlckOB5yM0RY - QV0UprkAvum4zxcy3KRPQPYC1w5WkEv8TmUfX68CgRJbx42i3A8ROHJfFhv+qNqLlC7hgvVrgMTp - b/fRSooVQ/VMEcDit94= + mF3jkf3C2x5ABjD6YDNyl9MQPYcjh6dnAQqg0cqsckxxEOnR9UlDRt4t+eEuqLhtBbdc3qkfo80O + azbCRm/7VWycuCq1iGtEJ3lQpPnzv0tnxJQwjMocrnz4IdVY2Ift+blxc2UUhbM4g/olI+VErbrJ + 9cUxLuyAlT2J6M7OwxLW5mgReRKDHy6a17ZlH7YiYDKZspJvk3QKT8SOtgow+WjOe6spJSnI7xvs + g97OhUel+oGaNOYi7if+YQyhcwC/f3o1J5ktiI3bKksye6hhgc75DCDxRRemv5xA7o6a9KKEGz7Z + Hs4n8vQdznE8fEqKWaeHBKY/U936YXtvfEWlkUNhtdBXONpCCAx2nwt1gOjcMM7jd3U/ZoMcWEcT + mdlCKqkL+69lMJFLpWU+RdpmnRwz2ceuqFzfkIBoV12LkR7TqyTpfs3b3zY9Ybx79GYYx1jyhWQr + gFb9k2mBf6n9aQ/HVYDjF+3fwDe7ntnLYWRfDujUhvJXj0Jw2PWWwax03l3t+PoAn2QK+zDYOwt+ + f2GZWRHdPJwqZ/cdzVMmKvLq5RuCQtXndxYRwml8gI9niIhNxgqLzoTQdB3X7Cx0e+qVzk8N3z3u + SvV6Zwakx0sEz9Tlzvd9QKBjaVJK/jxvNcjB8uaACTFuZimzfIHU16cAvLT20/E4QEqO4NNegZ7A + Cpu8fZdppyVmkW7B+cmedOuclh8krV8GSQ1JF9w63pDq83hQko5k1xSsi9K1YazV589AGWznotAB + m5UCir1jvLjU1/XdhghpE8wabnqIoO6WNsk0kcubkwLm0Lrkje0Wrzn2lCqEj/0GlbURMw0QH8FN + YEcqQPRn6LUaBSmdry2r1dkWA7X6c2ENgPdvfBB3Cq4GG4aB3V6G9MQvjWjT0+dIQwplHPKHFbtn + fSUPS8VQuPmk0qcRN/nCyhc4kp6+CCBj42dhkHJMtoVAIH3nfDlIJZNghyfTGiRd454QE11ewJSt + XoEc2X4n/bRDoEby2+AWsvWdvag1Y1KwfX0qxS2yoxOUuXgh+ZR0/wCHx1jBlSh/1WLYY6yNIbXm + qU1uHFa2e/4JqYwszSz7akMKeK2MQzCZmwM0fX0mqx7ZX00DjtBKk9+yxobo0uWCsIpYbkgWYcsG + m1RIFKprUg8eP99QraCQ7wYhSnY6ySBIlrUYCe9ZMJTvkMYrLSOQITMFgT8d5MOS/VrzlvKfmrSt + V6hSE1FvZ/C6Vgn5PeZceNttnDu+M9yCda08XYSpkh4qbKIs6JEJ3n590ArdFqfx1aiaTojhviye + mZQXhXRcIEW/S1KtWjWzDTcBxuKVj/CeRO77GtXmpKptbbUo0NCkztC2k8aToyiPWOtj4Hi7ZCE4 + +1c0XR6vD/i/Tdb8tKg= headers: accept-ranges: - bytes @@ -1797,30 +1921,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1834,39 +1960,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=10224-11263 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - xOlv99FKihVD9UwRwOK33vAyL+5+EZiuCRNXm/uIx5fOCdmRhZH5zhAa1ayl9UG+N1HWuKIgwJxB - h9MB0UspZH9ypAt3hYhe6Xe3/B2bguj1fP9lUziHCnVr6i3H5w+7A1Gn9x17pcwh9YBs662lgHHD - b/C4fiM68RfKJZilL/Ujwu+MnkDe2VcbTxrV5n59NpNEZJUYDzaM2vpgaysma4+RCkBgWRhSZc7M - YXIMHSi6sHL7vazLx5NbSKGQ+wSyXdBAxgJuMhyBXWoYIvcpdKFYXF94RZ3EbIPPspn5nPh5pDAL - xXr8h0Sq3I2p1GWtN4l5Y8EcMX67RyqIY7X/I9as+GndDJxpiritM9o+UWEvZLKOwsN4dVK/TFy9 - 7Q294J/awrV6Wq6CVmYTVmrpzacTvwfmC9PO/8DJuG8xgzhbbOHl4vuusEL3XmDssf0KBHsFJC4o - flJkDEcsxLP9av8GIPpxJNZnqZyl7j9MQ08M0s7R+FGxes7ILdzv259fmne2QErAQ5RVyqaKsv/+ - WUjAK89LpMjj/b5VrKsgcwbwWvUg7rW612c0hrQnKZtGEQZZKTNrUDPxqPZHOFucKVPD1IZUPnxi - LT3Ca4kw2fjGYtXb+CWvILz9u3oaZ569s8J0OYbO0eY1TprBAA/fQhZBXSSHzTzPH6X3kOqAZpvb - jz4dIxSsSmxSyE5HSk7jWYsT0ehEq78828c8xcRpZ8bwWHBEA/mLj4DVw2NauX8x08uTJlWkPAGb - M6p7V5AJmArY2a5MFaDr8ecDUoJpevizlCeUmTz7XJn1KSDxJ1waHIkPK38or4jPqahQnnP+HA0T - Pl16uPnOUkVCoYM7lFtABrfy4OrVPKB2ZlXOOqz7Qoq65KOWly0zAoPgGEDk3e9meoAumM/uUgRv - p71x1kbEV06fYKGg4u33hpK2zdOrjfZKfk4sNyxzyJFltCMoR6obmdX5p121737mNU1GcwzI58j6 - E+9Klw9B5pQx/MxZG7ZthWn7XRLeI2J/hMRG14hoZx5t0Twv1OtRLPiZUzvi8JEfYFGYRLYkLpaO - m88ozJjKlVfi+45ZyI7mbB/Wz4B7LdMakWn1u/8XDr9FBEpsXcc1YLfoWh0mZX9V381Z5t2AMjx+ - 49FyEhqxBWc7Uk46cXTSV6iSjpGmu/D/LkBgBA5gjRgFFDcyKK9eMwWnSyt6ZW3jm6GtwbuT5Pj+ - UT5LZ4VUWN990SgpcaHfAQoytfAKzD1JiRH6lmMuC53tFLmKrAqpMMZsmfbxx3vO0m9LkDg/aHGC - BRCvqc5RgcgsierAGedYsKvBoCV1UuP93jufnMslrtjjD7SKr2japbH1eUGLA1NyJw5opQyZLpqn - Y2j6oiu64wewfnqF1R8= + ITj7VzRdHq8P+L9N1vy0qPL8OpughF077tgapki8X333cQIoNSMS57yKGcrkdA03cYCoDWEYxCCR + znCpwuq3vxIbeHM1i3AjhZvrioAiOLsv1ishmhTyWSnJFrD/9nol4pX7LEp+/4pywzL5dBA5FCRN + 8qXpsQN60T2GhVtO/dGZRN/M11D/Ba7YnSSQRsqfyRtKzW6i+qreUHqQ+rGSiu0V0JqIsbdJHvkU + EYMfGlHz5e886H8r7cWfV7loXP0d32sPMhnMdCdmgTKv5KXJQmLPo3EgMuP9onFL/YwjFlDuLX3W + mBb1Vf7vh4QYV/qVvKERMxR3x1pvwYNV9t6aB83iacEAMr/9YSyY7a79STR7hsXo0vZdPv65H8Kt + EN8PTkQ5wmHjGJtksvVTh6qb3eeYPOu5TQ0McR7WgrpxvT54GmSv9vJnEit2s6WDwtOYm4BdQ5ZK + w2BQ1XaeH4hvh5skIneCjoULyfrWKabI7zbSvfW3T4o132MgQRSpI5yqMovhSEfDo9evBbkU+CSI + Eas2zQ/rodQsOskXEYnyVLkTcOBirKzL2mYzJQZoBS9uGgpBzRODECtS76Qof6Zsuahf3QiNkOrR + dYlcPDkfuRGlr8Q03jVBahICgW3oHgY8XKYGPUajb4H7CPUBCZp/EMKr3dUPz5X0cqznsxLhlZ/z + d6asp7J2Nrpcu+2sWHS2mTzFQp0oEzMPqFYMdC5LGESsVYQKNLVTDMvzftpg98D2SCl7Skp3wOxl + z+8W+Rnbpcf5+gAacD7b6MVGfmmpsGPM4Tb7LgdsFzHe/KH8c7oAMy5BUvHRWZzPRBYKQhKfrNqY + gVkdAahs1TM42aikRbXw4nVvxtPGrpBZF5aFDBnFcAIGd6weHCj/tRxJ+glS6TxRHlANXEhf0S9f + PG3mVUqI340010eJ1mz9oDLPEoLF2LoMzK2YGGjyAsOOAM6HyIO03IIcIxMWV5MSjQMZEt9H2/EC + cHlsq0ZUe+XDlUm/KOXLzC3iX+xPB1/tMlM2vkgd8FqyTye26niiOJe9q0mKllRb8RRMkM35iXy1 + fX1ZjBle3R/hq1SFoF0Hy5h2rzFmdHay3QK7kaiV2PtatLHWoB8MBCnRWUhkYvBrsNthjv2WJPfo + OwAH1xLiQuCy3F6OWLEUHkZpk4JF71TjIKHehgvzJwxP0yFvVdM6bnfVBGnbOW+Zr7odKtAGaCCe + M/TwKrgLqKprNjadmFe9H2Ol6JtRojuavo2oo4DEQlsfvlUiR9i2RBBtUDfiN0c8AlTLzJS+kiDM + mMJMB407MWLIl91T4HN42dR7h2q2jEF61FjcmIul77i8GGORhEyDWVcHclcnksEhMaaKT1cJect5 + sQJc7J13ShnUs/wvXDI= headers: accept-ranges: - bytes @@ -1877,30 +2003,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1914,39 +2042,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=11248-12287 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - mqdjaPqiK7rjB7B+eoXVH/ymXBHjfPjfIwvY4akMcKJJmCNcFbpYy/7QZpm/210U9YEYausAFTye - 3wj/+hD3eSyNzwCOBpeWOHxFvj0Fw/5NMvMqRhPzRhMlY/AqpPm0iny4fubsHIVUM77gz/fYI3nY - kzX2JQi695/fGSvu1DVKUxWuHFXDAV8c2ytIzKoSERm4YEh8o3hvdvUkxJuJmiSHmbJpvKqVLYYC - hKZCT1A0mdjzOpl8kjOYRvgfS5vy66HYUBQwEByADNqD41k2LAsB5sbInHTZKZcBQjqqWuR3rGR5 - x8gkHWbzxkjO+Nm6lwGcO1WZJ0AWEpiVvAvp4MBfZ+opjnY9nbh8sVozDotZKT0MZ6fsiNqVeuNf - CyR50rJvPTa6EcEWbuJOwOZItPEurxcvfTYKNmu3DvX7CRE5T85mwsSfjTbJZ/hncJdG1a3qDdM8 - IC3LZx/ApeGf43uxrCpUODscC/Iacx0NM7l+rbRiqn9W4paJmcMpwZJBCJ83nQqcl6i0FGlVmEk3 - 3Ir+M3sc9cbPL4RCWsnM51rTTFfErZzQ/ESwRjIRG5pQqCGIGlKv2UGVbQcw9T+0Nm077cfoJLw3 - 5jf+5sEb5Dgj+IacoLyrSrx/1WBn42OA5xOhVFbRAzSPmt4OHuh0kfn//c9opArMAPu/lJveGm8J - 3iJ/Z15wX2lXEej31aUfArHgpNUN9cPED29STl1BhodQiIqpnlXqsb18RyCH6DIvU26W1sYv6SYC - qLfVXw6xq+sWNuUMX4/nNhry/QnYlsvg9O3YKrmna6dC9ZY6v+ymsNFv7RKYI5H/wnokGw2bCqsh - x8/jYzmk/Dhn8pLc9Iwb5UpX1RSTb/kf8MZOPKWVjWeCZ6Z1Mrbk21IK4zh9Obn+8PIYkfFTgOwU - JkBAMF0p6yY2VjNCnHXBu1MBwIIBj1hqlCRGWispMFQzC03nXzE56IT5MR7xtCKekyuJsk6VM9Wd - c9s+aNqld5f7BuK9pm6VUZJRtY/2xsi/cO2eftpedcEstUyOxDtkqVsQi2bamiWCtNz6x8g1eHoB - nY1v80O+q5YdQn0LptxE2OObGgXr639sDKKl8ENJRQyHYYVf0LWwvciDvBNmcHfyXi7KJaC/L/M2 - 7VLEEV0btijKSxt4UOQIN83XZSD/CZ+txkds4IHvkiyhd0B3JFtxnwGiOcguD9R2+C/CjwhmJEDd - cFShXsCUXLC+kEEz/J2qiab8tepyCiDHP/SUTQYSpeBLySFDOKi6uPPFQ/9jVY8uNTG68czwv70i - zg2yGSTYR+YxsSFswbeuLQhsmk+zsw0mR5x15mlZhifx47KkICd6JX0A9ayPAMTzU5/cWAS5hPdT - g27mjEfGXToCdugRZFc= + y3mxAlzsnXdKGdSz/C9cMhgEGjZzOe06WJU9GjhcsIOnPFCqrYypCRi/S9wW+OgPnbBTm2Nsivcc + A751QPQQOSy4sGddpLpr5/7EqHmreMHOws4hBv/42N91fBxQL0eWSNn4n+OyVYJo2lla03dMDRlB + u9Agu5QRV19BO1LkDYHey37zyYx4pf9mOCBP9puq0wn3P1stLDDRIBZXqSX5wfaSTP1U4p5G0B/p + BFG9EBFJ+TRd6wauOyzuLXEEcIPsT5mDVPlQuiY81jbyoZGxewqj0cceFhh9FMxo0gXv/oTrQaPE + uVRMigwUrrLwZITjviAJ1pBQ7+WjlZ9WEP2TKbux+o1SR+nLzdFbgXaOU2U6oDgFdsR55I0JastT + LckBer4UF+hiIga5AOesl0sYrxrbnomT6lGbPh5I8KdRwz4SWyQNLfa5SocjxvomMRZIEki7lY5H + DKvkEps/WMq8A+gY5BpQBqRu+Js8/Qkg4xyyaOYNT4H11Zp3k4++CyNEL09B1iCvLEbwotP8hCdi + C5J7KLBvKG9ep+d84f6LRNPHGIjlayyx5J2ifGBVcFAcFF9ZbV+UfQX30/j9oa4GkBDdkwH6P58D + wNZZNbSkEOEHHGikvzsvCpyA2q/rtD/iTakKVGneJ4O10XDAEd+e9TaoBReMbxLVebzuFgd9WscP + 0yoKys5QGjwhz6Um5NttYvsr0qjRMr9SlORx5wt73cdYlbDa+pXsyd6Ex66MJjhkN0aB/jxGFYQj + DejX1GDB/Uo+sCSqgMbrCIQhmFvk9D+oD7J+sl8BrLuV/DCBEZfz+O84eVtSuqVlCBTfQU9fex92 + RdxLiPMvmX8CIa48dvBz3f2FZjFVSwqi5kr7WARGfIVK1S/0zTqOcSYaU3L5oRVXimu4jf6PDz9S + AS3UoDhC5eiq/d4SyHhBfdUwC3lcR0NQTkul5Oxw7XV0PvXQs/rNXLPZnt+ynfmX7DSb7Y36Ug6n + kW6R5h6A6Y4hGVXIv5yijeDr8toVYRrCH+8655e0+KQDT+wwB6FsR/j/uAJRLAQpxfDpEKUkEPlG + AExxhYwtf7BuKW1SYtdwZdIfFt33mJwfgO/ftMqwG+g/ZkCQg1WHMDGQVwbiVGP16jcJdErBnWxJ + eIhot6bV96a6bG3meFj3L0+Lb11syxbxba3Lw2AnthrrvM3sN5AwI4DhMx9fqJdjQ04/N0uRYA7v + +6JMaBpUAQ7bq/HyOS848t6JxC5Zxix4Xw1vS5QRjB/0xPN/xLUupbWY1uKUpE6hj0U/0eVaydVI + XAJz/ExgtGsXo375PtwWfax+kRhJb0RyXbnmX+GsAZDl6MRyd+RVoJmvLTUB7SI8gqtYbDWfJ8Cj + VpgvuAIXcNzQv12ltWU= headers: accept-ranges: - bytes @@ -1957,30 +2085,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1994,39 +2124,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=12272-13311 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - 91ODbuaMR8ZdOgJ26BFkV+z//4bvm1UBRbWgOGW9xFhnun+oqS/EqJOV1MHK8LP0cf1ReRpqcT/Y - Kio4yedK8y3nuMzIL6pStlFRvoxFhFkZqjYdp44I4XhS07im0K/ktz9EeJkG7JCnJmMFluU+mUbT - 7T/cdx+KFpTuivqC+WnmdEMxBLp+15efFiWK6ZSeal7ZCJv9Uj6BhNJ3WO/Eb9Mtwgkl5qNLPrzz - 0WpVWxPpRC3Lh+7UtlCiAtnb2+YFcmt45W4x/gK3HoMXcwAyPEmSqaraCcTsPB9Edlo+reYzhI8U - nuVmJKQMA9Uoga3GFqrVZnkIc4K8q+F5033CdOri5DbD+r9LCJM/BOvIiqqUPowpD3wbR27lvw57 - CNe1sKJVvgBstqH508OazXcEdMQc4DJKsICFpf2vALXTc0IEFfcoQcOLwxx6VyTTZ4KYSw4NfBOC - 1Dhsp3w+aEBSkSmqowMKamzGiajnjEgXc2RQwhRgpjJJE4LWEKbYe6NHScR2iwDWUiJqzmec1/xU - LNWgh59Uz8iU4Xz1oAsnSmr+9zkcZwPLixH++p+XUTlY9a0MLGtGZPo4+BZhxrxwwXSJ5tmyVol9 - Bcy2rIBMrkXo6pHhfIh8sAcSixcV78EJ2TCSQU543UmlYcBKhwJd3TzfKljZq7v4uca4+hJvKChI - ALLHCDjzM5n4cTxfpOuOihHn00JUOY0qycj2i/RnGJd2wKHrFhYW7GwKvBjyuHgbH9loVXk1+4kH - lAZNG2DAZQHc+40036IDf7mhRRTZFasQbxTQoscsJyr7KL386UedQzjsOJ6hl84AB3OK7FaeWIko - psDgOBsXcztvb0KsHIZ0uPlZ5nAHWWPp9t8kPXa/FkkG+suB/NMPde3UmyGfO5Dd4IH3+UgOiCMZ - y4dguVQ6G4fpAW8nbpPCklWUG7Y/kqwVcw7DA/x7tinjLnGRS5TMfpoGkLHmGQlot4ZIXlyJUU2E - dyctym4hAj+vLj6S8fRjJcNUudowP8XZ/sE/dB1qCur8j3Es3Udhy0ckOVUvzxUAzEdSchKDTHj6 - 9tknvP3MSd93sCyEj+9TDFaul7PGgRLDij18Twp59B8Hz0RnpCnk8GqMKASQzqpEb3PPP7KAx/86 - spiYSuE543ufAdMQezBeQqTVpUjg67rSiXkXA8E4L97b8mXumMwNU1ea75pUWXRN09hPNnbxTy+a - WeEU5ZFXBILrXueyihttjsJPto8rXt+lcKwCx4DxrUml8BXvXABa5goMCapBVJ8zOOrCPvZ6lhnZ - GS2l283ZxodL01OP/3oqls/BgDc1FjQwViSh6UyPpAELyDdh9TIZ4G+8aB4sXyUPAxWNSvtKGT7M - inB8JkeZhXMho+salK4= + wKNWmC+4Ahdw3NC/XaW1ZfUgU4DD+xzEw8e9tmgearMMfga8KIrojdgxA95wPmpQLMMkRW/O+4Md + HfG5iUEsoyNLkApZiGCTUND6CS6BS1TsYVm45PlZq5pLvfNq4CUzqTEk277AhkwC+DwWNAqa3q4n + mAeH2xYtDNWj4BId1PRPwqpHfRQw1pEDAjsO3tIisdIhAxA4s20j5H8xcb5qio/Wv8Tc6Pg0Rs5X + A1dq3fS0g+IQ/n7zmlp1ghvVR95uPB3+9xHhbluVGDhJFjyd7amQ6hHpeWE6XNgV+xjCPlimGj8q + nNYE6cTVtxCchuLPjyhhVqnW3GIDGsNBFiXgvDnjuAHUAvib1MVL1PrQUywXvJzxFLfozoL0AY4Q + w/f2vEpaJMhp383YOoJ9s/u2f65DBA/0XbyG7mTIFRNhWtNH/fPkgkyIfQoNDPfFh6ijv3Ed4cHD + 9nxZQznJep6Qe7QwpABppmdeHRue81KOnBRQx53w23iXOB8yEbUrPLcFbTQ5tpvE6OpE4tOt8urr + 7SWVRpeoNYhAssKKZwq1JYohYDM0CG9Wk5r6xutaZbVD+mBvd35/GTXbXJljZL4Q7llzyZSHX3dY + l6ivjHWTHFPpK6rJvtffFRdx9GN9JDi3YWAcnHwaiFovsywbs2Im4iINNfxZftaJ+IEUY13GEgWC + 62W2yXaWouwMLmDhBWQlCBZb+EunLfGH0CZboQMUPV1sEfZKIl5BRkPoqQgx9pJsFCWz+DZvF/6f + HTsy8gEwmnwbUeBl+8UlW4zeyOeASMufZININSHw3rb4i4r0MzvU66QtePNW2Ov7U189pdQ+CRp+ + fMe2MavgoA/uKHhMuzlapqc+dbrRfZJPFjVgXMLEFyTXYKOSk782arUoTHmGqwcL2J0pfCU92LOP + o87P1dhDQXq0aQrlHxdF9X1qFlkObby5u1nQ4FWh/FmM9wx/7D8yS6jr4eYpeLA9ELHPT8F8lcYx + +o5ehIEavDb01rRmGVVA9Zn+qXg1iQvRjerybA8hdK4EG+v7Koevjwv7CaGkgNrrDZ6QOY+p3WzF + iCV1WHFxDNay9U9yAJL9XZRrTOX7T/MjMF80OdHjNIFgAjdPM1C6voUKIDvAnKDQCFuWHk9oZHot + MgAYrhTcnekjthWol2eAYg0/bx05ccgJLQrN5ULzLjjNZzlBprfio2fJxGHIUof516nb27zSES77 + rJlckI4BEJepq67wJ0mbCX5yL14E/LlOCyuiv6bb0ybuZG8PhyxqqlQDyW9yaUrol7JTpLwCMtc2 + NfXg6mXbkdKJLVRiUkGRJ5GXuNf4b3j1sIifcsby7GYG27NPOLzvdvjF0a2SEYLXAcyJO0RGJ/4f + ouJyLjFEL2GktTWsEZc= headers: accept-ranges: - bytes @@ -2037,30 +2167,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2074,39 +2206,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=13296-14335 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - PsyKcHwmR5mFcyGj6xqUrmlWDMH8t+5V2EyS4HnK0C+U+valpSwodUk7hLPU8qPxSBD27tXxHChG - goH+nLSBnfx5RKwJECHkMmet+Ng7sdYz84RRR3gPNSY9hTRSwJWIIEVqS2lWVWchGkOR+EQP5xZG - LoAvC7LD9VnnmAaSxkiRG47Pqutlv0m0abyNrzFkdPIgSJphmkzwF8T1e6VHHxnGLTUYgBFPawS/ - WSNrmbytHLlDUE4tTpqZYhDmqW0xB/TwtjmCeEH9qXuWPrN7YEuokJdUbn0xZAtj0WmsLVD0ETnZ - iS6j8vlfyEdO5sVUuyhaPAMSnoWKaKWy2i1AaA84Zs2cnCnX/MUhia8g7iOsYEq2cp9XVpU+a1kp - oHESps+0K0lf3mQBn+cjdgFRN1v+XKD6ICXTJOKeN6sMMnMa4TYV9ouO5acKpzN/dL9mrSq4EkO2 - f5gdhkLD4iR9jGj2TZE7VJih8bzUmmSFq7YT+LZkPwussVF5Blg/XBEdsU0Rm4cu7aWSj2/EhqQi - XRNoAbRkaWWK61w1+BafDT9T7x8C8qJHx6q8TnlsRaDRosTuN4UfGxxuvOYtkAw4edJGIrim3aMv - FqQe9PvHsnH/eYJnnwmo3Mhb/8e/vlHeLTTjeJ8n52zsPGwUrScUbCP8TuYa92YAgwhIGxNLuN6J - MBvj2hlTk7oOhA8Ktxld2UBgq7LQron/mVk8ewhvsMrc3VFRMywpO5ZD+RE3uD7YJtandgNtFcQ0 - EUq9anWxHbBhWb49E8V34iZuBUNFVMHuXrVW7wVTn4XhUuRf1jEQNjI2sWt1JEGyAW62Ye1DnIky - iF5isgKHpKqoWIVed6TE3I0iQbZjf8Yti2O4OpyrSqJgOWfgzsm8JPpkUbsQUEiYiOG8zBZjVB4R - UHRtGpKQ7Azl0PqzRxrYrQpb/Yoa0I7e3VUrhzCP0y1ZDOwVrQCv7J24HZzSjnpiABwvJsXXHO1R - Hmau0QZxN30OgCPFzsF4FcqN5rhernEF1MbLhOENhZAqGgBKA6MDQjRVFS10r+KXkyym0oljSoNC - rm4qzEe5EjVLTav/m4lNC3LkUIcgFGMvZ45m021fYTxUw3WqYGh9gaRt3811oZRQAGZP8VHDBGIa - 8Wb1wZv7sFpdRgwHU4KVaBfs6KBhTXfDYEkkuMdZkdPyUGEx8oPJK92YTb/dhZJzaAWXRIiMZwHt - 2fjFEveFeEoNxSyP9YPC/2WYgzDJ6geWzk9GvtD+fPsa5GxCIzdVvI0Q8QuHUp404PnJq/L63t8b - t696ZI1H4bKViDYtZ0CD39dOVIJhnEQHti42EUGDzGSomQqCNdxcPjNUfrfNaJ7MU4249+L6RHBL - oQdgmtJ6qEStKMLdBlI= + /h+i4nIuMUQvYaS1NawRlx/PkWa1JjTw/UfdQraDNInfPsVQ1GEQzL9tALpxuHxJ/GcQZjOjdQf0 + pKzpmre4LbnIvmLqfMynM6d7CwAt6dxeAq4p/mfIdjtvoluNY1o88mPtK7JoamSuVL7ElckFxjCI + aXDwIVi7a5mFYwjszyvcvl0CZyEAXwntY9Ym3hQN149fwgtZMarv6aF6t3vjWw54Q92Ol0rfAm8Y + EWS0yKTAXMemcwtY74lnZPNtTkGxvnVRzcXPLbGOojUm7v0G3L3xCrh+/qCc9wDvPPJ7okIZVbCz + +ZF8+PJVcOK5pRGVclRLSaKkoay/YBKluMIGepfz5/dwXai+VMhRVc871XXNOZGAtzMXT/1rggOZ + Vy3bhdC9booE0yzXBCboVNta8qaCkSFVrn8hcNbAMj2vP7bwlLBiQGhzTOs6rWic3n4esFsZIdeC + czWPdIMGFc92Tz0C70GU7IgPepP43bm0Wf8UwL71IToOD8GQwyRbIY1Fnhq8aY9YP2F+TLpKGbAc + gqAhEjDLXAbGNWHAt9ObJLDgonFjAPsqoZEtUkPzvdyC83ImaIvCgvqfNXBZ/5R4i+Muwt2uwLKj + Lwk1MI0jqzsojsaAwIm8H6EZydnjl82psAFxwER38LwOF5rGueOYn51JPtc08eG5+qXjni5ymBsY + LdUs4FYZC1PP1lvsm/i9OmMEcPTmUkE0splMODUHZFwVWYx4KvgdW7s3ZOC+aWhuvdPdjMkwvu7v + VBZRnvzAToRIRNaZ7LBtwbyqzzN0oFaMdgOny1ZCcZXjQDXqJgnnNFUTX8OQpH2lcvs6h9nIHY9b + unfZBAKV+KKMilzRPfoJ0c5JC/iI9BepQp/TvJkF+9FUHmUqYL6uDSLE38X/UkGyGHd4tDMdcH40 + /S5V1WnmFtOlhZ8dCf3YCjIl4UacrfeQxP+BVkgCd1P+N5+OSMJm/14dCQZbuSCmizQpi/1bHrFh + XkXUi81N6Br1z9ChfEPhohGsaWGsSUXlBT4Et7VagBFMn5cjb/kXuBsq49CW1KYrz6YSvVzx+LER + mDwsSFCLjdvo/IDj21MiWCM/RUXbay227K99O/hGLlkc80irU3Iva3thBohAEktxpDS4ZJg10nV8 + 2c4dbUbl7uuMhm9Tr+L3L/HYGw7jlkfO07EYuL9gpqgnhCkwlKATeGPF8yVMNlxkRa6hNmGJrlWz + YtW17Dpg0PuNiB7x1ZcjtUWPnu1Edo/OdgA6j40/Wmto55U/T8Fy639eVMV308ZN5XWrZfAelRJM + BqKgxoZGaB/AXZGkN+/abzfaSGu9L0u+BpmluKiY050y0KDUbRnOUbmuh5Lubk9rVsStGQETZ4kT + 47W8R+GB3rA36xGZ2vA= headers: accept-ranges: - bytes @@ -2117,30 +2249,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2154,39 +2288,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:48 GMT x-ms-range: - bytes=14320-15359 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - cEuhB2Ca0nqoRK0owt0GUuZn/agKXlf6OsfHDPxtJ+6B748thDbGP0NXMOc63reC34ZnOvw48kko - B5wkNnvQMxJnWExJvuXDeol59UDhpbFqQQy6VcEyvtLpN9EqxqL0gZ2TkFoFAp4doHHY43+V1JVE - 7UAftZ6ek83TFTqD43iRWvD1q/+UiBuC0OvM4YhNBM9PENoRll56v+UJjIHGiQHRHO6t10OyLuHI - ZWJwCPRncWCOh7rQbJPIGmm+3qk6UWqrTPaVjvZtG5+BBKIArnf5nSDBIUz7rnFh7nPzlSVPuo+p - I+lJyYM/lJ2s3zWZBxeTr1bROm8mxwIz2ilM4/BznklnbuenD0vV0OuVEfO8RQ3y6wQo8eicUvHw - j/fhRH2q1gTx//C3GdKkjTxmQEntTyQiqz1dxwCvqOZojubERYp+B35aNFBC3iTPzHAmrvDXNZPd - ugcHvo+m4HyLOYFmaHkhethfQYjGSv4EqKLt6ig9aPSyhDLV7VMhV+zItDe2zLSUUm8wk3FkL6Dj - ZB0Tgf9RmaP+dnd2+0OhaqBqoed+b6WEZUbQ4btXyWGi8ahT4UhCKBnOAt6GKZaTfhroJsCIjFox - LjUvEQYEUeiio3vMF4RrDkqJJv0Lxo35uz0xRqoJAyXJgPuZAddOi/P+nn9LIGCbYxVPOOQBzHVl - 9c7Sl3wUrpYEWcE25araw7Rh37uc5Jslkv8qdooDw/rNxW/y6pjgdKlFtudt/YTCAuH130XWt9oH - QSJ3cixWu64uF9bA3AH/T2KGgXYYlhViv56YyTu0UhVlNvVU+oGzUVllhbTzcIT+kjauft+rZ1OO - RKY/moWP97iCk4tzW+pQqKLFzvlTnCZ3CsRZuD6i/lTqzlfi8vxVojlFgETktj9G4Dy5T+V4GuMq - E5rIThHVhlA5Qq6M+u2mGwIATWeUkQbXjSeGem0gFsv4DTHmDSHS7Vp9ktvp7F8yz4J0rMhpVhZ2 - 9zPxOZKIggPXP+iS+AeHL5A/Og9ME0i8IV3x5bnEELdc6Xg16kYvCorZ87RrPgUk+mfXdZvalaGz - otKX7oJ5/B5WxmRSJAgc9NQLe5xBXbRWDOu8/lrokffo0R0TbETCX8ei3a7bvAwISyzKY34XS1Dj - QuWmaTKPiDZflWoS41k0HYBLUwuPav5J1bmPxdTxHxeqb7Bt8HUPaQMAG56Duxcf3tB4pPjcPyar - Ojikk7tGMVmIZuwkmInkaSEd9b18qXNKsuaiV1jCH32YB6Q3z/WQu/48qtiP+umL8xeyFCZGkT9e - ZyTHuwBSZpM+d+V18ILplouRzr0zdIV++1ecx90YZ00I405/Zz+StOGsmoPsGvHnlajY3hOe63I1 - hBUJEGXH5AsYcePF5jk= + iRPjtbxH4YHesDfrEZna8EuTALzj2LD50k3Q3kT+XqqcTVWP1tW86NMHc6dzzx8xCJS8A+y/Ropg + IGMg4qzkZUCpGj9S4QqUyHwJNx2TQf34jQ6dNgA04AfloTdSKhbrl7tliXtYYAkAirrA/RjI5ic7 + VaggjWRfaXGDXW7ccF+Yf5MIhFTjlcB23Q8EFZPC6u5W70xFiPWNHcoLc/6KBA6PFMrs/uPOwULp + JAh0bIpMm81AEE7LCIGVpYD1v5lQpaMp1KJC0MEFvCdgMSf4i3jlgMo0WfqntTAk9g9eIJ7ncxI/ + 1BtJoLos6xzO6AjGbonNVEV0qLsAt721LTgKSfn6lIDVZlxwR1IEV8zwJEhVNCQUXHEkcFXRjscp + XR6MAR351TV5gyNN7WIDNcwpcRwRPSgErEOFjcwhBy9bsUmBXPoDkHY/3tj5Re7f5/J1gKy5NjXZ + gXH7Y4tT4V9bFyww68vhNC5YAg+Z5cbUejFRPRpf9YtmDAyrPTgMxrz9iO3uIkmIQL+p2H8PjXCh + yW9Zu2nW7ebMUBjK7JETG0C1kVYHmXuhlrdyaTzp/IYtE6Njn6klElsP3s27g9HBCaIZe8gHKTq3 + 6rz0TbQ8X8jsM5TL3qa6cxlpJRxm6FWyhyYeyeOzpkNJCSP3FB94ZfS8YTsrJt4VHrbQ1tg03NY8 + CtxliWc+zWUDvb0xhwzHTLcr94/Ocoz0c5KXJY8EnTqyp/ssuRoaUlXvUgQDI5vUBnx6/ebiuV+g + 0aqDgwcUYaYouJlKQ2OmUlu4uoDTSr25w/0Q/UUDSXwJX9iPRuXuvsdc3pwAV++AqJMC8I0FtYF4 + ZsjCZ+GoDyWjejzdSIQjrpq+GhMOwE9h4yTu8m0iQC2EEqN8PWcUoUbboaoNOX6/9DquBdn2IWUH + HR5BxM3I5y5Aj8JY78C7BVLQzAZ7ILlQ25Ea2P2bQo4h7FujkKresfy1u7VEmEj3PrC0ksofk+wV + qbYMLN9nqM6YgaSxBSNqJdlAotgzqmTiFBHuiUC80rLfoMPQsO3nnrdJAsacZrDJ4VCWDSPbtmS9 + YS2j4xCNCRnSc94eIl5D+c7cireQmrtQGLzXkXCcJKIHmNgOn1X7Nf/MQksX4qiSsWMAcQpKyebP + uF6seg0fnP/npTkTYomfkfPIbDVaD4GXTcBh6PbU4anbpExStUnrt/xr2/QNhE+z79do+ugLMoAN + c3ngzKrUAj6M2pxgA1kFRP9vNT+xrbic4f1xfEo9B22qwOzzTDDfXn9C3U5GlTYIcnCDn/ufJpdn + /I+OszTQ9YdjQVl67adXmEJglEMGka5kFtQMkK+QBJWUHGwkWuYuBP/y084K6HqIA7uRgdpR+2s4 + 23UeqNenYqRJpxKbmt8= headers: accept-ranges: - bytes @@ -2197,30 +2331,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2234,39 +2370,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=15344-16383 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - cjWEFQkQZcfkCxhx48XmOcNqJ7eZD4x4SsJB1eX+EPzc4ARyD6tI6wy9lf7EmOoUl4hxpjZgysb+ - Mmx6EVp5j7Vgt60Wgj1eMT3oex6vTc7xjWCZ3Q0dNc7fbOOUjt126k5p8gEo6bRAXNTID8KxAi2L - hxWDFRWLv6ZaKLdv0NKpdK+oqktAbwq9oGO0GUtEv5TaiCJpipv6jzAwLfaHXMYpYjBSU0mHlUit - s4nLVtSjG+AzlGaJg4RsVg7tVbyO6iy0bsrkvFmqhuop4vROl2XsqCkfJxVtDoYr/x9CP4448rSs - LIs/FSW31zj/zaB2PT+wBk8k+mY+Z3fr5CwpMQLVZSIv3m9T581J4sDem8W63SxYv2izDjALucf7 - YNSpQ/D0F88Cu/Fga3vhpLkHnopiOQ2jEWFFg0yWSMCmiUfqSeVEbS5v8lHifrnNiz7M3LagL9dR - xmYUwF477E1RDz1EBpnW1rD0anQZJtgU1GW2cXzDC0T0dgn8J2mlv4gNI4xA1J9Pgzv3kNmtqsjV - s6ksw5xkXHbWT5hDZG2gnAfsombi4mhGL4sC3zyxyy+f/rlU0G7qsamjPV5NdgQH2L6v5lHtLtJH - /D5CyF44baIw41FwMw0Cl7mimaTzkp9cgDK/3J5lj5knll/bKh1CxPkjxTGZbyGzaRG9Uwe3UpED - +yjw1kVW6JFLJHFfLqz5NyzJZgxHjc8fikMnsehiqyimAlJ4wkG+dkPWr0MxCDKQ0lSSGTLFF9x5 - LuxS5jn1Co0eaF04s6XBSZERBWVwE0Xi5qclW1ZH2qGR/hdHihRPBXVEZZAMWh0x2S9kjPPTHmvh - DUrVRS2jPHAbuoGubznQ2s+7342Z0sUEffDMEzKymbmSA39CSF0UDuoLpPH2c53/XgcfxIJ5vhsr - +y07S1IOAfH77cCYmZBQO/mYHOaAjooUfyJBBK/Y1nFcfTsNQq+EbFG2pC59CVNch2rEes0T+iDs - X2dCIWQPkNhCsB8kQ9khrfzhqcljWhN96t2dTESiVn8sA9B1oo3BTr0abrxi4ZyWUCWBKe+iWIFZ - ZpBac26jEn+68pMNbugNoFZYWMo9+vwtBZ8V+uvQ+ThkLfOPth0Wgh4HWqONwNBYkKyFoGAZqjZx - zpAnmLj/IWFhEwQgZd4GaCYJnNWAcnRq2rakAKK74xQpOcalnniboo8uTZ9KUOC9f/c91L7vkuDW - AudJJNfFLjRN2TvKoRnpc7LVyXNYwDkOc2reSneGGMsZfEQ2YcQPERsb1T7jyozDNzrFPNzaFrU8 - hMUmh9B/OmJg2nELDhqra0WJVDLZ9niUcYz8JD6Z+qH9yKdIyFfcR+x0wrYaAYwm5liBEGqEJyCB - 4cQlHVRvxMpKpwmIo6M= + azjbdR6o16dipEmnEpua3yUlbCOQP6KpCFVX985uz6lZcyapZHe2OhrjUp7n87bfA3dtZpgcAOsO + s1ksAB/NOwM6/hONHlLKD92uhGC+euhbvqDwiJunzL3bdWX0leZG977nCuVSDkigf1a48f/Wau2k + 7FRgwTqCEnNB89b3HSL0FI23cQKNepVwwsHTP5NPmkcPiXBgxSwy1Q3wxRmH0TPaJ5/WFuO7+h7l + OOYo7/r96Q2q6VVlLXHSpMSmYGuZVpBV98uMUN60lBb0qun4zNHKMZAZoOgZ2w3fNRamRnJpoUeP + 4NVKDn6zkXeF2Yi2OnGYzPHAXW0VXkvFKF+ttq93uwJSVCsFr9PnQjWpkN57r0fLrpBOOcSYh3Rk + O6FEsaMyXYBFYR25SjkVSXouEkFGRUICpeiEaXgvDAw4yEQdTfgLWzUix+D5ehdnc1rOELiFN6Jx + QQerEFWiNCfFbSOvEQ5z/Kk7rEtlaGZ3EXyNcN2kOAzveUc1qdF9v0e4QGWjykYg85RBCCrfYMrp + iAPB7c+eExgcDliifDIqfsDsqqFAMm1XX5vcprA+gsM8HLPASMM1nVCo3Sd0NGWVCfO9lsuIczZ/ + mbwwuui3zuXLfLd2hGE77dg1e1uLJeYpG/NgClKZppv2MdwhZK31dpBo4LwqkEBwEfa5N4ROAcH0 + /FuQmuFQn8kRUJinxstTkJ9SZtNQl4kj7wtNhUkU+bPOtlI6iA3cD4W0Y2keoav/gZeen5UKaVt9 + eyK68mDm5QfflchrqQYWZO+KhVe1LVgL5dKwBbc0FL6IuLyF526Fr9tmB5epdnSG93ddIKJiQBRy + D69ZYEUbiG3ZaYfMYYBnLl1cMIMcPREBFzTZBgx4EugnjQsLOxensXLjDcp1KzrOqw5yyWgw0zuK + oyfPNKMzrG4mJBnwiSPUvFmL4WrLMVsKoBK/3fsvH1W6CbFZn0E6aFtw8LXj6lnAE5dD3GNEtf+F + oddXojWc+qzh4zWyO5q44Lm2wgchDWXni6hNLzJ3M42E6xXNRE997kqQIXliap1N7ie6FyJeUJ8A + FnHuVvfUp1ansKxqzWH3cx31HVL/556i5cgayT8PPpEVk9yULkxDKIWHwKUvPCwSjmPFst0//qeX + lfP30yIGejGclCbwtJLHQZ0HNmtURvJ7WAzCXQWLPnY/Ko95pnArQMnz9rcH/SIwjCLRiVjEH/6Y + GRQZGZIWFzzpxUXHYcCVN46H+ljmCK3ccQf7/Aw+DIBBpEJmQ9aEAp0elVb2qZcM99gHk5bl7nBl + DBfMXvX8I19jvdM9kF5j7kLBV+s2NJrGfSXodr9Mti7OpQorB5fQc7izN06BQJGyBR9Wp1uWjh9d + O+msVrxBodPzJnV7CZg= headers: accept-ranges: - bytes @@ -2277,30 +2413,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2314,39 +2452,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=16368-17407 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - IIHhxCUdVG/EykqnCYijo3Jd7jQYAvLMLGMvPFQzToG2lD/MBH6uWJGrYj/TSs7b4zP7kVV8PlaG - AR62Rc1FUu3v6pX03MJsRtMGZrjgZxTEzLAmQmDDimWORhMBUZf4NwZJrC+2MJHC06ZKnc9n5w6M - Zy5WwG63/JqCQzTqw2Am77155bbMVFqStGjbbW8vrIePwMm69y5hf0TSRgZ22xwPWWpR6yv/0NIa - Ft59Ja4UfSNpSvVTqJz/6akx/3qC+2GMi98cJJI6lCpJzx7UsHPuIMk+OCAVom4aRc/RFChsmXR+ - Ms4F4NNj3epryC6OlyjMxCNKKjVQbjK39y7Mc4ZE5UbRG/Pq29B7zCbNJTp20dCJ7EvTuPGPLnYq - zqECNKYpEHoOcR7SAgKTEZuSL26LTDldiEAcYrrFf0Tag1hhoXzeQOVr5Qpt6z5FS+Sdbbgx8cmN - JCvYsMqCqmzTz5bE6/6Lx/WV0PxEElW5o+wq89G0lYt2BxRLg5+vVMbdpZUcY9TCXKZEcy5kJqAQ - tl3qnyvK1TP6j56Nb2FpI/30u/rNrP/OBkeNuwdsaLzbYnPEVhSrJZ0Ga7wwtF4aEyayWj5WHZrJ - 8AF1Ep+kxYwqOxPtIzaaUwMnjKMq2sEvnKIWV/l7CNihvVcoAud8zRp7y9c+Jn/eExod1+ZZvhdq - oW/i852K7zCmT208dJKofLT1Qbw2X0tgCnCYBmZ1IodYbhb2hSMYyrnkipINQ8xmlHMXBAXryCmR - u79oSXNZhsEe+NFuetvCQpouJyYOji7l+MpniIGNdkcoejdmNb9TE0N8AzMa1qyxEDF7KHYYGEdu - mQ4VbDo16Xe4pdGE2cppile/f6ZYagcg6S2TqWJnfZDN7nvUCq5e06GfTMfEoS/lwJ0zfZoiebty - rtcUgjlxA9exxCdg5p3C+ol1yyZhM0Rk0rQfKm7G944c7uIjNxdGcWMs30afZ/hv1huxelVk3vFS - wnjco7Qq7ssG9faB6ji/3jVnknzaLUu16o9TPUyCWCeKERM50bgt/DmWMa3SHREKHBjtMkHWNB8r - MYrWU5JAjeftcSftVjd2Vks822ZAu0biPR7PdN0zoUxiDPYRuCL/CbXctm2RJKgk321XOKagnKIq - 1QdSiKAHlNgL0EPj/Q5mndfNm8WbYtVF6gmQ2Hue4J6fIt+wdBlQTieQ8uz51thhwJPyWn5gHS10 - BZdxPamJ7dn53sXabmq6HRLqXunl27xZzKS23PjNhM5L0Lmy8mtdEjnBbQCa1B+aDEhSbN3joUzq - boBRXy3N0pH3larNA0+4Th57Wlz9DLbPdNmKhy19YfT6OOKa4pfmPRXgZ61vMyD+YaDBbK51jCR7 - yPMKTFf2T6NeCL+xzPM= + H1076axWvEGh0/MmdXsJmMkRSQAgOBBZbcMP5rzJooN9j/48YSprLw8LveR8JnYmjInxTK6uodGU + txC62MD3WQrX6IjfiKON9+iiK+h2PXMK4N745SVGHpmASXde/gLZ9yqOFYrpe3ecfY7WFftMRE2v + Ow/1cEsWbWsKLxqiovJazTjBWUaksnlGPUvHGAr+kn25UrcClr26bt6aqVTM+W/YBgeYcWjN6ONY + 2BKovkCU+tgSuTNew6SOCBY9CA89yxDYEohccGms0E4/i3oT67T1LsyUsGbsDuRxx/NM9wxhLxr8 + X0AsfUVnmNyJ/Lssx7W3tIFTf0SmdP0peM6K1xiByTUaeX077IBjYJzJgw9tP6fPRPFYAfM4y9V0 + 8piJeFEFP6qNFaeWqi1KSwxBJk81W4sjZ5DbcAF/sDD/wb/sfKRZrrpNTgY3QGQwbCiBshgjtVnX + weodYnXZ7RyesbcBQxlG8/HtfFtymniTdGHMwmEUyUWXW0NLaI0tzwonHtVfq5LWBmeXidqttnhy + /5QrXgF9kDSEFp59ONu0mB+3KGYlP4/YRNrkpO2aXzWQ/OCt4JtB0VLsoLDDvV+xUbUaFA5a7C8+ + QI/kaoLecRU9tT9AWWfAv5uwiTD6QfCQ2LvyUgMzXDjRgqtRAiK4ZVMGQ2eYSmK9IV8B3veL2QMr + OcchA/JGdBy1mThM7chJyzhNGq5yXhZRHoasX67CyWwGDOjS47/C/ppmIvSPtWKAPzBZ0WSqNOVG + MynzVGMjJmmLU/u+KjNpzZpbIhlc+pOtovgzo7igoBMdJeI/ZQYqvDds1fIo1ygNjNQPXikwXLbx + 08U+oZnnJzlFzTiIUHvOmk9f/523SWtDK/Jj8NVoTnNW8PRxCpQ9S7H+qE98qirFiwFUrXN6rqjA + YgtfWhWjNWakYnqf4YXK3aiAcKkc6jM2YsyKq8yHl0zu9PUTLHubUiIlkWLA7XNzThY5trLU7gDs + jLmUWHhKccbnYGqF5O2OhfZB/cNxZSRElx0UhTbCUEn3tb3EJ0ygULdj1Xy9/P/15TSMov3jPao4 + yp4Yd2X7eYdAzxR3IRCokLgGf1nZiOAxKbXEIFKnvDMy0OEkLHItiJGuhYTjoQphfVreJXDgzlco + 1DT1zspdhs7SISFJEp87fhHJWqkWaL2gER3L6x5JL+V/JA/C3bTDFnABo0FttdRAeE6q0EtY/Ryh + tx/syXU4nOuA2EsgCVTzzn5L2z19gly8Oh9rdVd5sZjVVH2TULJVJ14n/q5Ez/TyTq+X5OUzD2f3 + Hp+zEVViJ0AYk7cEOUHfMnH7KAsXQUVvoK74keizSL/GJdixnRpeP7yAfR/wvJsGgzZnq/FpKAUm + hjp75iC5OsRzLIfKM3s= headers: accept-ranges: - bytes @@ -2357,30 +2495,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2394,39 +2534,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=17392-18431 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - JHvI8wpMV/ZPo14Iv7HM84G+EM2Izv4kDBvqwUeNnhDoSe8V4wyV8g2AKVaYX+OBQYcKbSV1soGt - 4bj6jWNU5/8pzWRkvyWJASqoJ9jtkwDnSg83EOFIMcTKR6t2FGGfTS0WRTMNy5lGxh55aC5ftnQC - R5+5SuNfTpSuKy3zIwW6pDoph3fa8ZF6WlxJ38n19iQrsYiG+nWEhCboeTLcttOb3lWDHqRaRULe - DDvk9M4yXmBcpofG195T5Esh0ujdqX/KCkQy3JVsLyi+96q4I6BvIUD0H7BKhAol4juKfJO8VTuy - l04WIFB3FQfP4ux8mhiXJlT3xR7spHuf+unIXzSVOeObmUeTJapjr1hcG6vF7BdNF/mWU2qiAD+k - Xp5NsumCG4FcHSeC4KUOw+zwjnpZklkE7K2hApqB4e2/V9vL6D6rpNNb/Jk3rf+nyXWl91BGtpLM - pCdClCnKUcr1zW6KZWZz7Mfi0RkVNnF4uzTXBJAnbVoC6WVAE6Oy0Fx7N5z+rMwFAMvTtBrYmS52 - 9MdMpfFarXz+ZZk9IG5PwuGHk0g+JbtogbAxVeC39+EsqWQDEcUbVDjP6qtjMT/x1obCAGk6/yDE - UUf/NK+mFeRPX7jcSEVK0XuyMZOh9KaF0G48imDAneLY9wTNSFfiQSbllwJpaiR0gkRZJnPcopIe - NWUz8wTFWKQBa/hMoBIbcKNV7cSUCSlOUI8KYsC/TtEG3VOZikq4HMAbFXrbuX7YN6LUPOl5VvI7 - P37zPZr0iMOxFRTB1sOnzsStKRpCg5q+5rMB/BfBlZhNjg484G0OvBOnZo1LlYavi6HnEyXha9p/ - 5ifNe14uwEvThLoYpza+yqPR/t/lwmJ2c3vtBc2IQDIrU3siZmUgOUNe/kwyTN7klVsn63XU+nzJ - K/TsipD1LJLbtmeslpMmjq7s+W8S3qSwlHzOeoFeRLk6ynpxjglzq91jbgEH5+fEoW0ghGJSzgVd - MmKekHp6DXT7QyJsSJf56Rgw2ecEU3DWX2RBQB5HuihHENIly91wMfpz5U8TrfHWtxIAE7G17RL/ - AZlXzEM7wNJ1sXFjI+fPUS5YE1S97jNP5JWYXboz/FzuElKSJEQ1IW+/BvexWVF46nQwx1YL5wt/ - ev0wI6G92yrP0k3IhE3BhBwj4WlIv4/49wOfnEJX9jzWU3blh+pQU+SNfpsaqkk5dK6Oi8/l/pT8 - uCW/ZIHHdcD9mBw29hdA9H4Vk3dsxT0kLnqRiz5rwVlG2Rm6/MGACjx3Phy9o8IY4Smv9+eDIH73 - IMcPtBPATJncioOCdFsZd0OMa2KKpDY8hXGU+RPXsvrWHe1xbIWSPePWHLuukH0xrtq25M+ym/Le - +F0h3XSZKs++TAiPxWc= + BSaGOnvmILk6xHMsh8oze7aKdw+f4dLNO0Xqwc752Ss+H1rH2cozyRgmjlRkivBAxf0/Q9LdQlvg + rOetOszljl7YniUUhn+0gVQAhTOcLgy8ygeYvAUSXE6J3NxqqeTNHl63sv02olDDYcPLZKkkq9g8 + W4Ap7sMge2bhYlNf2xU4HSs6zntoVZQ8wa4BcrTveDRkR6n/w9S4fHP/rwg9+n70S5cG6V9A95xA + aJF7XpbCgkUTgEnMCSPMJyrLEWoV+dMAWFhf88bqbE+148qT+dfeUf7Bk3d/czs4f38Z807M/zNQ + QoUdNDJIh8HHD9iBrPM0dwG6QnuNt/N9pcc2tab+TXqfwdI8m/HGpwtklU+srz/ICq1zEaG5uWD7 + xnvdCRi9R7JGme/1gooMQHdDpHzfzRbj+HSDq+Ep+ZZrsM+ntH92NbI4enYcLQ2T92v5b7zTCR5E + bblZ7ZnRldiIkAfPrg535M7i9xsLsMWyPghVeuCNAIExAuBlaJdfw63+VwwCNa0vb4sidAPqPZBG + cbFgWX4ES0f/q3vb8DuNYW6VVnegGTuPGVOKB15xm/ezWClSToWmPEbxO+xe0dv7ORosAgLqqh5K + Ok7xX3EKLCRNMzaVD+1rE/1yeEgpppi3Dt0NSICDsyPgFdzvFA8RPB4gk+PIqcdt1Ihy7jV7gtFA + tPkt3ry23zdKB179ui8gZgu8VH4kZwrvC/ijTborNREpMHGoI5PZHdhKq2ARsx3sdN/zj8ayz2Ya + oR+4+pmazzTB0YRGC61eAX/0dvz3Yi6D1fu7KY0/iUotq9GuM7kFfrP/88DP7H0hoPei78JC9BXr + +KSleNIo0mmCmOobqq8+6FdP6QNtLgle6ZmECThSwakxg0lnXJpGMljhrIB/PFjpsaqJ+ZZ1ZFq9 + aVEY4Q8Ku7/z60CKZYnPzCUtXkV+RYnvLYsYjE2wKbbbpHMIEfgFzv0z5/m+s3PpvFjewUyD9xTL + Q6kvMjtADlzOpwmMZ/qfXk7Q2MUCX57fGnh3tLcEIjBr+mr/Djj8cFaZW3WPsa5mkXE3M598MdUX + 6p8g/qSV9GwVAKn0Cl8kNAYGrc2IVjXOHveKOJGYRC+SGyZgBdxj6E326kOvTgFfC58Hs1vCdwDf + XYOHudUWEmaRMe3EBNbkAkCrxapr4Jgs3ixRu+9+G96RgdDM3ls+Ko1d6GCyJ0sldzgHXRFODPSd + 8508KlbIxoQkhJcclD7Lpe2x8AP35qZxteYPFvL4LDv1iOC/I/GVOFY6a+mBNaJ4vf1pJ1xvzTlT + xaXcKPU9JYwiiPUatGOKHGdsW8WmxBCapYt98C46oXIXbCinNKh/38qpWwkunm+CwIcPyGSCHIM9 + /E1ywVnEgs+ieiRR5eU= headers: accept-ranges: - bytes @@ -2437,30 +2577,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2474,39 +2616,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=18416-19455 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - 8t74XSHddJkqz75MCI/FZ5QkS9JFfFkPXFOrENL+kt6265fUrnPACikAVYy51bqcF7Xohqn/X/c9 - 5RZwZbxLQ738j7/JE/qOB1aqSh/R5r51YToGH0LzrZUnrIXg453XWhfkMOUtpcffXq+hrQM9tQE+ - y90I41wPELY5+ht3GHOwn/cJmwlSpwrd53W2TWhLN0xfCd3D4o/7VPv3uBoWztt/Z4czY2J5ujie - 5mqyIjJRmRWL2gfjOUhyZQ4MiX+tkwJj9FidfP2RPiBwKaBabpgEdp2+WQ5jDJfqIXzR6+XFkTDv - kcjOb3n0uhZt9VTqwxGUk8JzESS5H/TZ/f5f4ZgcUQNf8MgDAiizY1fnHy/1oLGcnYWPLxHlC9o9 - 7YuhbQBQ3tpvy5+1C4oGv1N3cSZzL66PTSr6hUDI22TOf5W3QAUupE4NOTqy7eNzI8GK6JrCL19f - fzi1kaKeY89gQ7GnSakalpZroL504IuEa7WJ4F2c1wZpb56OrGmmg0CY17aASDXHzjZJMsorVByc - 3ktF44RfcO706JBqtD6Vl64cLZrkfoxiIjyI6NCpKwiLd2WdHJJiqOuarV7VBcMImVRXfRQmb+ej - wQ7pAcL5e84bYsPja/zB0xABpNLF3fHfaiXkmNpv1BToCRAO+7JCNm82n+VGQuCrTxGJ/QKcHkK+ - JmMdiYudLrBlyUlgmJ1tAcZA54Y+HJyawx0GrTb0AR6p4kXoEkYEqegjy8rjiFJihwT2h/Aw8WZ2 - wG4RzRwVkehIZQvvF6R7Axkw19StkEw82WEmtR8VjN0hKwvC2oUP2uRjU4AcxojDUMDlBuPkf9+Q - jO1Uk7CnVdLOo1DSnC47iq5zmS+85DH0b/eU9JDojW/72kt6sNmz8XJa2YmgJcjgHy6o9S3ZLoeY - zBoZhzIvs4MH0nGnahhCLqtr1FxkIiGmtCBYgQRPoAceMgnO/fL3REhEMC0e2nRtVYl3szhH3nwm - Fwq7qfcxJJCYBUkQWDUbp93oSDvbr8mNhDyqm+N157iUR+43ulNc7gcSd64xXik5k3webOuyhM6K - jzErT3xd0i4hXayrQTlhI7mWOxRO8LBgLVcKFgqtkUGPZDPjnJf3tknvXGrCds1YEiX1euAidzL9 - EqVC5tc9QmBcXEIAy/K1Kh44aogn95abCWKCRqM6LiXeXQpsfsfkz1AK0J/EeS09n523omN73gdW - wxIr6vWeTgA7MQW7mRW0GVkv4XRkTskfe4J070PGWU6K7t9YZ4/CuebqGFJ+1ykWvRdpEKgABS68 - /EQG8iPyH/XJXlhtvrXC/A5qAjSSsbBrxzNl7YWVDkHSmeRvYGPohSyw9+uL6CyORNd+pWoxGnGv - ROKeKy2fyyedGJ8JT3M= + gz38TXLBWcSCz6J6JFHl5c+c3iZvMLB5Vf7YkwufZz03p3dmvboTzTNkjbTHNeqSPeDH8qSLZlyx + NfanZpFP3BVpGEhOkgWvR/bGYfT/l6TjPuSBEQAgEsvtyXEdjZChB/OHU5gmBauPbpJObeE6lGKC + Aa/mHWx7EQsp9SWnj4dosS/Q3Xof+IpujHzwGqbwoI+s9wP4rraGRNzw1tymr0hRx11hP67N0qVf + i5JiPLIFn161eH9fHAwbIZLg8X6BpTMoTip1hDVdQzxg0qkfmYmhaAor7fqCN/aKNQzxRh9rXzix + ypM5ROwavut1gYev/J2RrI5Bd1Rk7Y4oKURnROAb+NhAdtCFBZWTLuBejRDyw963I46XyGTNOKg4 + 3/bDtSn9uvNK//Ohohxf45OPAhosVV/vrOGgRFaAkiIHL08zU01LbkU9gQ/De9PPo/R4XPeiVN7X + IxR4fGlNg4jT3r4ztVVsCX9gGKd5eb3QWEn4CtZK9Cp09sjTCteTkkam7+GNkLUbknQ/ma7OIK2u + Xg02ERu/5t5pwjvpZ2mc23A0wXpbD4CSWc+zcLhOe5a7+1UaXhLFffgG9uE0+7L+TFgZVkkPd5uy + t75jFpYsZytIP5RAO9Hm5aAzVE+uhylYc8ARFBqyBZZo5ntlS5H0SJ0pAbQeiQ/UW4MsYUr2LOkp + aqiMeL52JjoT/7XG2hGsKTQO9uE+jdXBHGlgqh0uQnItRUQ6Pp9BW2LhDEklN4D6jKCoS6IvvQ9+ + oZJxKI22Tmg1hAm20U4QlVnKILiQuWzBMI/t9XX9LwLoIkZyX5R9oBGLYsEYUS5yPBY7QXCyV3kO + I9lk0Zx3H8ctx3kLAkly8/9F8sbFP/1mddCM8u0jHsIkxZtiAuqcN/GtC2Bq57Zll2w6kS2w0Yt6 + OOBk7rV020TT/ShxK0yLmbAsIvB9NEJ8T6x06VlNV/kFMiZUS/UKhGIuo9nNsO/Z2z0TzCtz36Fa + 0OfomVINlM6QJZ5bDkCATxMYg4D+gZU7rnmgoIvck6meDLiG4al5qRfsqz4VKQ/etjZLBe0CGpOm + 12Vao3XjGrWi7cJCAcxr/qzn71G0ETJuYKRJAPmUfm+3itcJsKERC5ThWNzaTjZ3iEsrZnsVMsTb + /alz1lyMVd8qooxloOnmXHihonO9i0xe7wORpa4sFhkC6Ti3/PfoTnBv+jdEu2JMCni12ifjZK+V + jy0xsRS7Ontsur4q6HSC12DCSxML1FDiZabNZ1V7jGO12jOKr8/QPxErMLCRxDQoWmTn997bq1Yi + o9ZVeqAz492vPoWg6PzqtUKZCqIK8Wkvye4vvvNjxzZNJVqMDx1bZQqWPmgaEWnNmepsh3fb7foh + de7Hy8qOJuFxrs61g4I= headers: accept-ranges: - bytes @@ -2517,30 +2659,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2554,39 +2698,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=19440-20479 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - ca9E4p4rLZ/LJ50YnwlPcwuVoyP63E8P+ccliPI2Oj3jyFPBmhQ64HR29L6Ywpy9AwuTFCm3mYjI - +6nANi7ID+3kqNiTaNFUubWeHjs6WkyWCzIP8Qz2Zge38bzNZyipF6x7Oj+Q7pZ5FJ0Ibn4uwNOW - GRLBtS1cJj6sAKWSKQ/BsyJCEk4Z9uCfA356MuxnZPPT/C1PTR5NbWyLkVYmtp6ptSQ8khm/OAIW - 373y6DFxlcAd/l2eqmUZWYBj+Pr1U+zCLHsEZ3lqxUbAo7MP8wvAUcYSHZ7eEsGNihdzwKUPHy5p - a44Kt6S2Xv06RL8UABpmU3s/SY73pUl1+bZl2zyn5zBqkuFZobP+reFEwdLf/xS0uDi/erPDanOl - ruO8Rkc3QGxg3GzgB24HrDIxWJAVAqDgX1YFW4EFbSxw/BE/W6M6LvD1fjM43C5/rta8BEBuDEOU - chbhu/y6BHSNXXv427Y3/o6CCT/G16HXCV81Bcg3UAOGrYfoF4BdbNM1+kt+SKI11Zq2qGtAlPgp - fu73uw5fPPAxV0yU3cHfJwryZABmqt5juXK7bJWjYH4Xdg37LAT52FM3Hn45oTumhQKeC/SSw0ts - seMXOf9tJSd1bCubGSSu2B7JaQmPfx4nAnlA39UH48Yi07AZyF3+w1MsAr80WbT64L8mV5WbFyIE - vwVvIRejQWP9PykKQYigfa1QN9ohZved/pRpdzJocrNtX/0WYn5GxsK5cVQVjUuHlp3D5rnsINli - 5afVPChJuCDfU8uHfxxsYwfwrJRol8j08uTmKS5hCb+SryKQfSbqzwujkDAZlk+QOilH9IiKUt15 - 30vE2pvx48DiLXEFc5Jft86T94GV9ePhX/uNqvUnoh/6XCwTl+hdh4WNTEYpW6x7GuZUqzXRogSi - aH7rkYkjVE43wrYsZkAcBkt1UzEbybZAuf1fzWE5NoR1u6nwAuV7PCdB4P63QlPvLrwfLqVuCJAB - CSBHzh9fFzK46beiNo90YHljwPNZgxT1CXMKYimEAR1HIRqZIJ19m3KZMg60iW31FZREw8BXHwC7 - EYCqBTmVUO4y3zBkB1g/8wAtljYy1BD2OVM6paaMvgSC0CABTfRSSMb1cHKGDZc7viMISiP5bZGz - 5RMEKF9QfIwWeb0moaqyJRBtP7xpIqnlueUGNn9GIOeiOqJhI3ydAdkb6J3syI7k+NCZ+2mmQo5y - G+TerGR+U9hklEZgBgtreR30Wa/Skz41hDrzRPaGp0OScXM5l0oWLGs0v1xfPEMBMuqLr+w55k37 - i1YI77nvm9EHfGJCJnIt1+Z5fv47Pz2V+3MrwYP59wpnfL5VBq+dsnTskbMB2tqLvRQdbXTcJlgj - +SEd4FoT0zKS7+BJ9z8= + +iF17sfLyo4m4XGuzrWDgmi47wadzcZjTqrIWV7mo1VJ3/MPKqkvuSJpeMrBOS3sD1CGcTNSBHkA + IT8btjdWIg+1v6Hp77iRFk+Dj3MRPFrYCkjAxU4Ez424XVn/wk5Q7peUKhXhnKXtMe6NAVpaQbWm + J4laY3Hgrw22OHTqthM6OmzEvhiy7Tgv+B86Xp05NrPhC1Yw620mBdMECD6ZH8pfk7kvblhMDuhx + +zFdgVACU3zW16cQ2jLom1gLciojmjJJIGgPRYd3iSv397a2pGZJ3qcVavFfLWNghN2XDrXp2Get + NcetW4MeAMR3fKwCp676khvZSMWXe6dXDeygQybOtgWC7kZtSkYKgl4J/BleaMa/qqzdyJqO/7We + AZeyQ39s+b6QyN1M3lNwISlITFk23O4RdsLf/tbOKL78pBBcjupYCJQqh0321ql/c9LpojU7tTfU + QhjmCUs7BkAizNMMN58up+yUnqcOFAUV+/8EkgmzEBiruRsjMUNzs8k6N4po+Dtp0HOjr2Z5zqDh + 2Oj0YFHRgtBeR/8m8nOhTNv9E3GrJY9T53nEJqYP+eoOW6AXELWqqfpaYoHN2EGuSluvYNBW8DDU + DXASgMUWgSIGPOnllXT3TnivQBsrQ8PIwLAhE28N9TlSJiv0GN1UnQNir87DDOK/0RcXD7yt2Cu1 + zICP813fSfd7ltk86ow09bNBGZ4y16jUooIS1hUfWJCPjUmc1bwzHOYzQ9OXxNZ/jR6cp5UIMKc0 + M9Un2Zio0gNelwB1uWd85dhp6uXevyynhOe2DPEXN8EJxagW3eUnRjh9VF4gEX/zppZdrXdu2Veq + fOvoAlIYCJwsFnxj1ZsUiSl4SMPA3AjbDB5pjSYYvFjXBotCegMDJgo8uxdTP3bTziLvF419XyvK + Mxns/on/p8+OXSq9moXU45/m2kbSIdQbMH+vMImwiaJLZbmXDn5G+C/PWqSIywIJzojKvOCMGVMX + sP1V9tFPE2PASZ6+m52exuYiJxBrDjJecqpTaUdJwDB+aHVg7TQ2iYX6v1leefgOt4LPBVivz0bq + XaIMvZZ9cfGthye09OcRlDLjKm9MM+7LX3y/V1ZLgg+KCph1nbizEXqcEs4WFKxq9DBeedGJudSo + nSrrfx2D059X/1rOdvWK5nPVBXbDw8ykoIfyJCW12q7o9UXDhgjK4NksJ/J90iI+A4VvHZl7dP3h + DpmXqCxTQs+VMESGiDgZ/7bdXP3y1qngEhSTr6As6DUy2TerRCDq0R1/hG8TTHJ0OF8Ay9BvBDlv + 7KsrD3cFEikq+1KmoZePocotnTmViOn3NpB7jEzUzmkPO2U+ws+2qi+D68UVNlMuy9IV12YM+RqP + 6X8sY9iWmNRUxxer9cw= headers: accept-ranges: - bytes @@ -2597,30 +2741,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2634,39 +2780,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=20464-21503 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - WCP5IR3gWhPTMpLv4En3P3EnNMz72j1SoaC5Qem6nqFb6pg5h/4lQe8Fu4MhYUDIj/PrqXsleWo4 - atdgkqyKjjU2LAVGCRpDKFBLjWcAt1arum+uXG33f6V6Y2otQeT3NT7HcI9MMHWv1WQrz5AoXivt - D0P5IpgA9tBXe1a7d6UxrPPAhTrB98983iNFIpVoRRCcktTp+aTfhlsGC5IHDS8ICvBVZLvMv/yv - bzOHaeJXRQxLzfinfSc1TA6m507ZI/9OUMB4PcePPRHtQDaCjC68Yg4tsUD9UQ5j0fbx7MMWDdnN - yvL5EHQOIWyl9prMyqQy7jfRXpUKtwtkLav9elYI8cTcwbE2uknZn6dYX5xTQCs7mghOVRSJYRsK - AalLf+0/++4BVSgW3UTd9jJty/LjvhKdkr4MldkUfQ1m7RZOl0+Ba72T+kRdxnQ7Hb9EywnnkZhk - 8eWgwlq3/R2zN+NmBcBGYxztUpOc6eXIIVKWm01OmezQdBenTyHerPSZYh04ItMNYGvDp8zNjOA5 - mKtBRsDx8skpAKLF/Sq+Wmx19yMuazPsO4GBkf28qrm0kuB1gB2H3lPtXqgrWqGRuuZPlvWzwB91 - Vgs62B/G/FBDkHtj05alG33fYBVytcwRPuIla4Cj7YAfG9+BcAoAynnhe3DqpCBYkynI1KQpSm+T - VO2YT3DL+bRR+yDU615G9+l/6pvd2rCGCJvezc5Ts+8cb6xiWbGkTncIbkQ4cCPtJhGvtL5mXDe4 - jznecE5ReXmcVDbTF7Q2wdaDO07MZX9k5Nt09oC4XoMZLD++oJ0FrlfUvP81XkWlKxTWYwTppc7X - 6jH0KOd/tFnWFMVJQDHMpW+ZNYgx3o9D7S/9wxPI1R8PRlbPcOLqyePZiq38FRqb282DELT4puPH - ILFyKuLzunw7yHKenPc8SprdunaS291eon3gIAKPznWaGOmlNKq156Fk756CDWpPjRNpibLOIERc - 1jpuzx4ROKe6lV4880mGhI340Qzq7qfWzXH8VdAiw8njVEld8yMAWaMBpbt/1mgpWhb4rTxZuPUS - 7sh2y0lByHbGQyPxIoc/iI0FuCdkYK9I9a4H/Z4JeIPLcuqMpZh/1wmVlbiKm3fPNY1x0cB6JfkN - NQ6J29ehsURoZis2eeQKSFHa1gw84ZgnKsGAsze8qsAKiBD/UZ34RXfAwBL6ok3RIdhCiD13zHGR - aFGkEZ34Fw8SENG/3BDQ9gMfLAJeqM+Y3Il3nQXXucHjxaelwsCIu7dfBaOyI6/boOGs/wKlWNYE - 4rdAaJHnbJXrxrJg/VjlnGuG6OpU3uB0Hz1FsxT7J5keKoewst3c3WHEMPmRM3gcBEcE7cn8AEUJ - C4SCv2MMgG2wxkNBjdw= + Go/pfyxj2JaY1FTHF6v1zPLP5bhujdMbWlA/z3ES6cTl8ZakrNncYjzL2h6J6O0lgduRNiBXarJ8 + 04MdLS8gE5i/jl/Z38Jd8pMRSTMasNytqvx9lXAJhYd/15SzZSZvc/hEcQpswGXyNER2NSPbL8dJ + PlU8wzCbrasI9yc7wIWAVLVHNxXS2oOTh0QCx4MTomUMw5Jz+vaobJoBTZBYlPscvZ03IBVCpS2g + dQtu7ysw18MfHi6kQIAksfmgbECusKz5V0D8CWLvJE1lqACRC1JEHHXEixEm9pyz2GiRO+qN4b+R + MDgaJDwOJlLL+D9qodXEl+nIPuwEujE6vVQnN135C01sVmI/1v8AbTeijND7cNK7jbfnFIzLa19N + HcZ2QZ5VN85XQKPZ45pW9ot3QVrHGN3jIxeO3Stwoix5YxQhCZmbGUZOxh2lGm7gDrkWQheRmLqv + BkHXrqbG463gVSRmvQ9jytjsS+GIv+Jc1EWD0TWrP7jSxzsviNvwooZlMXIGlKKdls6jGPhp9QYK + GUGbgOFZS/01iy+rKwKPueKIDNpufaMgGQguaRq46D19HBrV41d7ctxD2rBSBvE3gRKpqV9yJRNd + LUvDj7jn/UkOjd9UXNS5y8XPWDy/ZjU8LW5BUQNCQPtzeeKJrbhkkjDMBtluYNY3Ym42nYgYhnNU + lyghe6/DxEgP2LCSHzm+FQcVEbPhisZv/EDA02OiaQgRgxp+f3ghNKekH6PaOfOycKxXXnN8qo14 + rZgjNAM2WpiaG1CZ4pvNcP2hLNtvgnveP/k7k6NkLgwrnwl0dRUkzsHf+NPXSlXwg2L2/xB41iY3 + zOMtjxtIqcFnP3XxL9IqeQgd/W/yuTwR37Wmx3je/7XCVyUji0nLbnMpvKI0i7tFvW8SNIMqHAS0 + wNRSV+b2AfjymSRXsTNi2NW+WFaCWNucUTD42wvgRXpH4tV6ZV/LcIPcI1mUdI2Ofj6A/7D4v4oT + vy+U3tlfNIjN7vIoWTJ1cGwuB2hHeTckMoPfzOLHgq2dwuYybmqMqCFbX7DP8sgqcqkiF2hPIYyp + k/dmDlIDrkrctLDY6z73QiIeFWUE5tZBde6js/AJ9C/QY+/o02SXPv/ZSxsh1YkX4KjKsmQJVoHT + 7q8O3BT1esEcw23XV06F+LJUKlmkOAbtKpCcKM96rqigBJDiR2yom7QPm2NO56i4qmYOgrOtPgKQ + 4j542fBc14gPupb4P5r2YcpUuI4GuPjnhSiSFaHm1T6nHnFoOxKMJhIo0fY77xlpPI6ow+jexuKB + h/Mu1jYta9MPW0+qNx9ICwL+kToUBJ4JTmmok49DKmUtfPcLPBpwL8qr70HUj5w2O/1BsItojpq8 + YK10zIXuuczqcu/zHy8= headers: accept-ranges: - bytes @@ -2677,30 +2823,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2714,39 +2862,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=21488-22527 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - RQkLhIK/YwyAbbDGQ0GN3JrPRq/fIEibe9CVZbm11VcBylAMtMvoHWqS1OUbjp3+e9iXfD5eJFbV - iR4ujIb5T0X+ftr+VH6aYFchDhpyHPaP5vc0G09RzNlDSyYYqfpLGyslwK/UBwhyMLpIi1yBqKFQ - q0nmzNKCMx9MG68MkNfRYgh1AVsmGyj1SVc1g2WSR1vULK0A2yesfnVdhLoAo9SpNmxS9qa2bLIf - eQrS65Y3Qd1S4VCzIZoAzm6dUgW/Yl2ZEiJkWrx0zx1D0jiTt4sPHrxduqW8737MR0pErm43mymh - DyZe2YGWU10PFbA2STfTpaFYyuTbIsH/SRU3Uw0bEa+P+2IgI/pGWYS5TVfkx1baBbQTjpD1sSIM - JaJBi7XSHvdo58UvUR1C29iXOvLOf2CuFVnNqV0yc2ThSrsYJlP5yr40tN2+NgFuFzmv1KRfB0fQ - rQA085ADmcn9gxNm31tYiStAO99/6yF3X3iTVpLYMX6jLYK66MFrepDfPYEGs7QnPctnEXf0om1Q - 9P2gBiNt8/jGeb4iQeMCJ8NfnzMNg15YJXF8ksE6fqVl/isrDzUMKXnV3myWr7/fj2C1v0rP02Sy - xrEev0BhCdzewzqbq4Ph/CCfSIitrHmXckUKVehOJuH2lDDBglehdJl+2kb6YWF9AUlUNiJbauDH - l3FJgBZKflDLctOSrLp4LX17B4TdsQdK32pEmXCvgoTwcaOdyoTGrP8wJmjy6JaqMcdMuuDYrytZ - 0RB/5B7ZJvOXd0cIDeujCiLJlkEolNb7fqZ+X232M3Et+FNB2RlWjjrHiVtRARgZY17YmZz2Hqqx - tUyYqz4hUeVENqNHFmmI96QerTt96Bq9TAjGOK0mEsFymwZefvWcQ7G98NaAk7pcu4AxZEaOzE2Q - 11R3+AMGvxw47UV2cuF+QHHwjaIvvXNjMIkCGDGoDM56y9Xoqi6rz5XyCqiLk4TFo+eiuz5/G++t - veF8aGZvDnci0QL5Tm8mK9plrZT5xN2rHcRlNNd3W5c/6G/9GxwrdpFJpi59MlWqUcw3l4/uWAoZ - S/D6ovrvtoA6El6gI/U8EXu3WCs44dYfPFTFTK3ZrEABNP7Djul9MvZ7OwJqB8SuHXfBMACSbO4T - NdPt+RXk8ixRm2oxMGzyklgQRKeajQrvoe11ZYsKpRIdvqpoyl9GNu691zWIn9VSiDRPbirmJqc7 - 1shw8011+3YysvyJ7NJCjv6Xh3AWggTOzvW6HxbJT7PFXuN0B3+DFI8sRgYOFrLjpse7w1DW6hnx - E6NPNKwf1xZCi+dz7gUOQIKomuOPpdjFOVHPpxeWOq8niuq4mnlrsin1UrxDwso7SqiDJXB109Oz - TJKeFAPXB3AZ45+Q4ao= + mrxgrXTMhe65zOpy7/MfL00n110glEiI0PXB5+ucl3rXYtmkUmWi6lL9DJVlO/Ac3sCWklu7o4E7 + gaJNKWDf1eFvtXoUfID1U8Y3gG8VlkFYJ3Xje/04xVtlzxyfJmeVGJ6FMibAH0uAKFgYNhTxicP8 + 0n/vNOzSPgYVA3ZUQ0LvRWxnBOc52O8GXbKbcyxGMxqhCzafbdr87oBsfRpppNmS3CSMsAT9ao5B + FaQQlpO/whcBkMQoaah7Zaj+ZDdgcGXb9wdWns4M9z2uJ1mgLDYj2q5WxndSOg8Fa+U1XWuPArka + +jIWjNMB+qZdOB0lw50jf+hqOElF1/Ovzgz7hrIO+RZWik0wtKrNcgraVvvSHtiP1uKOgrnaaoYM + GiIoyQ4EG9Ntj7zDnxTgDyDZPSt8yevRKU/EnZAXzLJjfxGFVFXGBr6r7MVP+2B37XoxVpHqWLgD + szCs4616be6Mk3Fo8m0y81Hd1U+TquVIS2i0k9KhjcaMYjtK2Tbr6Fz3yDLGV8ESgRkeXc4j/qDq + Bmb1i0Rl4Mmv4mdRQX7hjhxU1t9ahn7qhSg3ket5yRRYoiTDdn5vqt0pqcuY7GhhYRE1bWYDUpNN + U/it92DZOUBN3AX2o+hwmUjOf/cGZdMqUQ855/HDkW+vzeGpUH5kBUh2cBY9vjfVPJHrgobz9eIC + EdiFbIw7nSJRoVGg2lGuAT+yfA3t1w6jsrwZ/32bG87UXTqxdrUUg+y0wQkBYwrNJYCWeMJqRfA2 + MmjhvmGsbpGDgInDHX7m3lzPn8Jk3x68UKjo9R6BQOJHhkY0GMwy3e428PIG4bJBeyCUnuD748kP + a1erpDq0IyfnSxkS0DMIsRdvMfsirtsM1Bt5XnrS7lZ8DCNWXidkcuOpX4osar3NQgClooXHezF4 + BzgX58fjZaxh+15ZyUX8qhhHcjdv4FApY0strCfM543SE8eIIcUuZOkfkOVae/nU5HxZvW/JJEEj + eiGawJlrG7S2VI0j83rVzyX3fP61Ex8+CjgAprKkcCsZAqSwYfYqG7AIeSlDUzsmoeivIng6RQzi + GNuNS7RWTU5UaBFvlPqB/eqDdynymfym9CnnngNgosNDeiPCihHINdTN3G0rDjLCu0b6QonS6dSd + WMly49mba6Km++CcRU3Ly03GN5BGOSy3Js/qBIPTsK6jK8hfwavYTAMhf3qk1NSQwVNydPr0pJ1P + Jv44m9M+tFIeck7aoMHM1I1qy2ytShJlNPdmBenRq06/BjK7l/22DlW2QhxLePUupQSTC+V828IE + 8s55PynQPQ0oGJcS91V/ENTeBh9L1r6WlZVklDn1tu4cXO+XFUuNed5dqr3lei9J/4aWqCV38dg3 + 4YH3PnAXnroXG3HczmE= headers: accept-ranges: - bytes @@ -2757,30 +2905,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2794,39 +2944,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=22512-23551 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - 07NMkp4UA9cHcBnjn5DhqlmFxQ5cR6HbjklDbXw/TxEdLOnaRaiZsZLFU3QCdz/9SaSLN+I8s6m2 - hKEoRc3sgcYw1Y345V9JT4+qhMvGEtHZjiI+Sed29O9uIeUSSwxOFqZFqK7RLPf9HGT0Zoar0PZm - pTq3WUbvoiXjqjpeJ8ujyn4ZWskwZDOXOwTVYZIDjVtBkcLq4CEtJRQsKTNgXgOQ6R/Q514pLkB0 - qQ2ORCtcefQqk4mNnkvDdFJgjYULNscMv5IH3NYVxiq4E6f+Lh+8PvDvXjtntBypIEuzjVmf2kN+ - C0Y8A0ZSVTi0qSXHV8rK7QS/7D3Xp+4r8JBpluOouIusO/SgVdDGWXGKx709z6rw1n/GznoIEUtb - 0eF+degZxDjVz8o1BOTwqVc2ttkXkpKI3JEPENLuy+JBwLytl+pif1SDQ/YMGU+OYCn31WJwbYCu - 7tyO0QGN4eKicHT6QkcsLY5P0e5XDY6M5U3pvz4+2ahzC9pu8bs6kvYJMe1WnLmFOaBituJVXhsO - oVBGcC2Zjs/Ea+u2jZKW2WZFAA1Ip8dvdBzT098OgKIVPVL+gAM+k1xQC2ujg+TSPzN56E3p006D - QZJBCDiZ5x0SVkun9ImBfgr90CtdyQ9L+60mS5sXGIdtn18EWOKvZyeF+kYtXnDbZ9QU/F8fQhlk - /nW2Qwrjt5IR4XtVqpp2VX/ugY4GwQjIEvLqaJ3HiaPNzBboLzTa4OoyRRSAVGVzV1NNp0FCmAXq - YBR8oicIud9S0lKbLdhb4BTBV4ElrpfGhyftFfaxcQdOwZllWMvzVVRRdpCnaCHeqfDGln6NB4W0 - +VpDYx0fawQe9UVmjlV2Fv+F6QkVyBZ896x113M0KWhtoem0iCUrBN5fqiu33fw2z39k3mhcwqlN - Go2jY1U+AGNnE7MYV4pu115HUHe1q6OujzLw0AmMFyx7sGuKSENlWFG5weijrJuY/LfmwpEcW9Jo - YIcq6j4cpbH3T4mCyxXElPIq0oC0P3knjAu0iWLuXrqRBTTUE70Uu/UGjKRdxjlciz4fEf4C0Yi5 - jw2SnMMCkqZheTYzv/wEhtz2dYonDWZjyQULIBRlPKudaycR2AhnqRqreIAiWhPatbXGmYoVCuWu - JHw7EnfxZuQN5yc1mAt2eX6kqq04sfTvRVGBtqnJW4qlA488gfXP+37qsW8u755hxY16U6dwpBAh - jHQl26z9dtX6knBvQnKUxnEZ7oF32D79sa+2KDRA+MfAPp7Jybua9QcHwxTAx8dyxXW24iJXgSJ0 - etiAiFT48ab7mRekzCU8DeMFIGm0EUb5ufj5XQjiHYJtAwz/nss9jRPfOMPk/n4qLv2fYaGUGAN+ - rQBPyv/0Z+sQXkeKRLI= + 2Dfhgfc+cBeeuhcbcdzOYdJA+2Vs0cDKvUKw+10KLMhUxiWraDQnTAE2BqNTwNgAygp/NNWQwXcW + li3pl2lDuj3+WOL954Ry4wI1S3NOa2StvXnMYBo3SLnY4QT9tyFl8PWB0aikJq1eiyxXu86GRtKq + qx4/z6oCoEegfFQr00f5P15qK0zt4tIpfwJr2wKmZ9gDn3toHUjcCvxTnCSZDWju1cf22U25qyHe + Iaoz04ScbO0NnK73NLO/EEw+EvMfGjNTAgjpCFk7ei+GS9voWli566V5gWi0IWpllFFScxP2tAA4 + E5srSWCeuJbFElsEVi6vWjKuqrSQHc4ULt63ZtIPgWuXefvW0MzenwWplgCxgXQrwJ/M80dXeQAp + AYUaLiqJz5JnT/is5CXpOapug/QfTm8MarlX/cfxvKUCgWtaeENMex+GT6e84rvTB6jXysvwA1hQ + 7NZIcMFlQrH+7YKJFfweb3LJK75Yr4R1jzzSjyw39Gw5+WzGJjKmZ6O24cLdH4FnsisGVcgYKEzw + N3/8nesglHtMLtowncFCs1dseGofVDvjDuvPYqBBDIxlb223FHpR6nulbPOUAcVQ5JVLvfE4szAq + jXFtLx5aBCur2dqvRZwPeFQL4eDzWfp5wh9XBfCjArCb7UAE+9xaGLLgldWbTXWW6gILTBZP9rGi + j4A6cXsCikJlE5cH68WnP5tx+2W49bfhj2CjfE/8j8CNSmrD2pjuBExbBxibJQ3G6W10gGvHv2me + zY3mZl3cMQIw0VEHcvnSm7pEbnMRmnHUSuNuYHztE18XUjOND7uyacH8En3jtGdtI47EFdnZLHo0 + podFoOPLidfowmqfDi4Knk6Ddb+4xiFcLKkKk4MxzPew2Uepey6Abg7l8kecksk9Bqd0em/besDr + iDUHHwTEikhT/oAwhLNDhX/MW36ZMueexvUtx/vOGjL+s9I/M8pSyui4T0zidUhZJCQqbP73ZDb0 + l/VfCN9yGAzdB0QDO7Tt/9nFRUQmd3KVGRdzqBkbLrHpJOhq7WepXWF7nc+ti3P3QSRm0MGDLP9E + V6Kfw+LaoEo6ZuDawxBlVzx2EgppmEdRMhb3WYJBK1EBTOaLy8qz+M/bvy1kJI+h3ax8bxElN/n0 + bd3Ki/1JUdSvqSD9RFs16yYvX33GbSkLwzm9I49UBChmSaDDY/2XIQOxOYW23uZGDo//9Tmhp7iu + njebOhMvTh1SjenmUuynu/CPHkYQepag+QRJLozP0VG4DKpvLgXc8+IhEMoGAR6hKuRRz+ZioEgZ + G6je1pJtAu2iV7Q43qqDV88Wq5K3CcQNvA8g39m3NbCE+U8GdticQcINFURoe0SaAa1/1G8qLmOB + JV0ehVultwnFtZcY/tU= headers: accept-ranges: - bytes @@ -2837,30 +2987,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2874,39 +3026,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=23536-24575 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - A36tAE/K//Rn6xBeR4pEso49bOCzIYmn2TgReP/DYvj78BOU+HRkHEuj+eqyl55JLSGmgS1ilYcj - TW59Gc4om1G90CRnnm8P7qT2MfEM85U1pUdjeFMToYmeCil10QyBF89947YTjBKDPIqYl8gJyfTY - RSubApr4PtdF/a+RYagwBGza8cuh7g3DBUTglyRXUrP1md9hXDHcT4Ap6ZdS7vU20FqFa18evuzq - i4VUd6rVhzXhvl8jEBjiyy8g1+zPQz2Fmh2BUXlbWSvjVaTDKVffJEwW9t65zk0qv/fhC7iWQSHU - NmNiG2TYirYewHhh8NVpnStd4bBYTclsZluYFGbKCwnduFZKaYabuZdHw4SFoy36RrtccTh0oQvg - WPfLh5a781ttQgh75BRxVJCGzYb20IKa0+qtVjMWyqeODmLZL2h1GXw/qxkbT1o8ZnpHrfIb1O/Y - +gkfz7qqs/sFBHn9kzggwDjJNL/csvRsuE/jRMzRXE0zrUOvW4/bYE/22qELCcFiF/xUDtSHAPA4 - GOVsofnAuVPYYqaMnknXaE/CIDwzizT6AlFc8fhZflwf4Rge2QEP4OJAzt8pRgGlLnfydJk2GzkA - Q2mbNMzFCaBxbdZwUyJtA21HttM1o3OLWF6Afu7186CTEDY2njn+GrRNgsIUQrxaiVPWR5sVj+vZ - 8bjGvfVMOwZ7C227PZ+C2YVFrRBL/u6ndoKaP4cKF+GTN110ZEvrlhhz3WoccJszQH8kTNdE4Y+S - fkN6vxG/nFOADUYdEehtEsprl9zkdM9GzWFtPfV3n21SO92dve3gUk3hxDL/FJ3xuh9u8z0JWhlD - ih+8SoKwhqqJ8HyUHwJJdG0HYR4gqJSOIiLs6I33fRrmy/zU1GZ2QEfavYXFwwj6GYk5QoAcwA/N - 25rNbscuUOcWLSi2tKVXnaeNwn7X/bmYSuxGuxtUyS1vQwWeaKYppYewPzkhgY/swRxSmukAlWMa - J5cXQm8uhH91ZPk1w6sd+x7S40CURXg/IGTKyrJ8XGOYgUrLFrl/u+wHlnJUAnJTU7kpc3C23fZu - D0QSob26qqucjam8lY7AaSojVsIZpZZdZfqGbI1/hSBvuBzMw62mmhF7vPR4H5niun4dlvgk8c52 - lVFJgVbKS27i+oI01mePlRz3dM7nUdz2/n/6A88VIX6PQlZha79W7a8b+fbZbYRG0f2FhjP19fGL - rWjPV+R4vBPvZtKSIdCvd17dW5fjJuqEb6H+k38m2eMRRHYWtahy4iCfvno+TeXx7dPI2L1tvfbc - T7AuMG4sBjl2KtvyB9IWkg7hw2KyFMdd/g33b8Plw7ANta5b4atxcmXwhTSvND3jG2xi34QikXNF - 9MgbZmubmYqz924PYQU= + Y4ElXR6FW6W3CcW1lxj+1ahN8p81rRMLQlyjSIVmuFSsFSHo+r8gzDpJx+PFdjkk2Y1O9RvMeQOD + XQGi7HyUWBeznvMzNwUP/TdAJ2AxccsX3m0uFBTE1hFT4Y3qnvYXVAbmAWG3HugkOAo/A5qBvPEL + 9ch05SXCXg3n9D99/5fIK/V1nlf2U6QoS46+rILAIIQWrMGC6PdEPGRegB6HHXj2ci8RbOB7/2sk + G2dSI9cpndkInJrgB4uZt9Zp41VyuJ32wHudVtfB1PpBN3GVptAUj9Kbkds++CnRVHm0nQFaeZL9 + rbbpfaiNtQ9lF15BZVZuaq0IO0hMukZOKmj0wDl/AcmYn5i4076bozhq7vBgoN//UaIXPKp2cG3U + pq5ch1CHGJvb947Gd/JA4U0ejUoDIHlkgNH7YDjSQgSMwGSn1sMGhKF7CC+UD3yuUC6Yy8UU7xMr + L9aFRfB0d0Aa83lnzELUmCWjt+m4icXYTwY0SHjCy8xFisHev76YjgxqvsOPQTrIVQKYRxfQGmgU + Y+i5SMI63/7fow8vfo4hD06DFK7nYv0bTfOazMjQhcae/NIa6LLuTH2NG6WgSPJbNOZvgGlEyn4I + BD6chW+G3p0OioecCP8j0kBXQf/lYJdrSMGaqpdpXswVgDPxrWM3cqiTlVvViP+LAh+QjkUbRvtV + 8gYTvkNOr0iBFWrxdp9n4XCVLE86Ff1XuN9pATLSJZgqoZ0lunh5DoymeGiLmhk54iYsFxG3sIWJ + sZxGUax4QYSAidfIHpVmNqaxbjFXW9hFhFk/q+5eFRxPJ9cvn74tP4YqpiurS8mYCnf6mSp6c1VP + FbweunjNwB9bYCV0Hf9vu5au3I/MUTy03SEFhNj8d55NdhawClwLIPIVh+54wj6/LSbEdEUCE55u + TTaqD7k2vwtxPV5nOTY3QQUxzWYi38+czW/2K3Gddr2pEFiORr/FN7TrS/CikoWd5FJ5EINCPCQx + pqEZb2LHa//33/L2dnmTp5RxrjNh1Hb6SchgQbFosYfa6AcB43R6FNYZnSVu7zbUF0Wv1aoDr5cz + X43SVMaTOh2N6abVOuHcBL2TWcE3TqjUCNjY3BVsclgE+X+jJ+9IQMtZ80xf+vhyUSoLVOGguum8 + 1ksW7ZnMCmCpIvWuyW27SwiRiIVU++cO/XBOZbZkE36mEZYdnCa0sKMt1la1Mn2NwZ5F/sA713t/ + Z5g3jAdPwUBuOd2DPHy7tWBHMKFI+G1fZfvdplTp8biK6UFOayYN9y11PwePyqUJ/oZUGrdWWrz5 + V0P2vXKPXJuoQyMR2B+FNb8eXJ1tpzEN4O7yhAd8LWlnnhcpMkR3IQ8DAEKyY4KvyZsDCRGgrHXV + cS6QUO7CIMAY0cCvSvA= headers: accept-ranges: - bytes @@ -2917,30 +3069,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2954,39 +3108,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=24560-25599 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - c0X0yBtma5uZirP3bg9hBSA3hb9RGi2wOQIZufw2pHYemII0a5EbDcqwLvo1xyjd+PLH8rw1kERK - EbRqYJ6Ej6EKQtmnTF+kHfU3ueGUDe6rsSfJ06cqW8SRd8JY8AL0lSHi9s6JDO1qzAxw8f4ttRyS - rkBbcKU81/EUwBItbcnnwxBBecWjiDyYS519MNEGgivtgKKsbpAEz8t8YrB1hk4c6IXyusnFVhZ7 - xnXh9+GxgXIO+Uy2ZadGY06SbAX8TrPfHyTTph7ORG1tfNSalHBQHHR6sbZBk0s3V2uGxx4tY9o1 - BGPpARUst40NLmcYbgbfhN/VLE03f68zEeNcVsl6fWuPac3Yg3ewwDf7uVwtCe+N6sFcUXtTCjWA - IaO6RJYnOMYbavxShivLFW+vhg1yWqB8zc5AYuqXFee1h+CaIzP9W2BvEHyU4PPgX53ttMZZRGY/ - vyCLxXp/frpeMpaeTTyu+sKVjd6vg0cSytK/3fSOWXJJ6zMPeMPY2GgbCgXhobZKtJFqzp+8x2tS - 4e4kpn0kpzw0rCOTacNYe5VPOeHh57pTwDM64tJAAusnGmWhw5r7LHNhIbn0PE2ARC5NsonvkOvo - Rg10mQNx9djoVWYxjr+4oRIJV50R1FmKVC9f9UCVtVDjuh+LP7JMgew1Aw43unJpj+C1S2T9AMu8 - 9I1q9KLPiw72zFtKWUON2PpQPkiB+8UoS5ZAUyaGLgArRvE/DFeZHBmZVlaBQFvwRaSy66j+UDP/ - UmT/16JWBhe1L3yhEMaFb9bzQpZelmwID8cpQRS4ToWq5BPnH76z2YocmmYKl4Dvk94b3YrcniFV - lK9ZlhQdhwojAU/05GxmdaS+JNg4bM1FPPAYU18ezBJvDs3Za27ryctz0QDzTm9pcreJWU2ka8Ev - 7sTCvHAHi2ESEH8BScX01bAMV89tRZIq4qbaPxMtz2mTLLHKqd1oYdf+C2VfeUocsaarTHXjqK2W - dAWYYWJ7BgtshWZUpVNjyXS6ZkgmFdc4CRzfFlNJ1HBeQRoepT3b6Vo1yVxuPPKs5hFTHfLEQSJz - VZwI7xXLTXpKP2x/JcYYQ+/HL0CaB18IRZfTTbdfLLSFb+QbZZkDYzTkoZRQ9/tccA+t/DwTlyY1 - UKP7uXfApR+N//nHtr5HeLlmi5d9PIlSd5Fhv4Ytx19voXD0+o/3MZoKW2BlyXsCpS/hLYCaj6Iv - Fuv0B1fJXMDCsNqqrgqJm+d8jpS1QAaxKQinL9xhKYcEhhIZ7s63bWaR8ehIeFFM6REKYVuJOLyZ - hwRrNYScBf0rOOYgIWHw7gMlPIoPYZj1mVyE3JUT7ww0pMcwMulims9jJJ6fvvvB8j3P0Q0gNLyu - DNsGp90y+Rmr4tfr5tI= + ddVxLpBQ7sIgwBjRwK9K8Ihhz0VuoSq7I/ws4GVp5GBs3rsl2S8ZU1OT/ZBE65JcNu38W1aGswkd + 99pMJ/9HTBi9xy/K0Tp/5J3dqEBHFPXEuovRi2R8hqaPwXvlAUo2Y3fJLo4PZqPppF404kqE4pii + U7LGWu2GCfSvHFDrZjRlRrQbeKQdXrUsDAGjVLKKzKAl+VWYfw+lYuR5FWiikjEzVihN+vBRZI7F + p2FxIbdHMzio7wLhFzxlN97q4SRWxrxpRs5FP1Eq8C34ZvEeLIc03zmtNoltBT3/cFhwvQdFQzb+ + Bmk2e0GyXtwmS3G7aMoCKB6pIYUtD/pOKiwhD+Z1s8ALWCz27OTWyrhDUBnprM/MMjTTZP1Q7T+a + PQRemP8MlTsiaIezD8u7/L/525ILoD2etX2uXEjf6Fq2qBaU++h7ORU9XPmmLIeyT9EBPzg1z+x7 + LIEj0QOYt8/VXhRrRNObcCOkoI/H6Cp0iyJn5umIOzojD+HPAgRgYyYU87EhFygLApsYQlRtc38s + k4rZYHyWIVyriz+4DFZQImgOHFgAODe2w/3e2EoeoaAgva2m+43XXb5upPbbNXkx7JcyUOd13Le4 + VvOagOiaZQq01RgrSVJXdu/XHYEpTx5l4xoiZngHvCfiCpFasIDlzcObVnclK3GaolfmfG0il3Tk + 9X/uuPQ5pmWdioQKx2NAcm60jPYqquPZiebdR5utNUSQapisM9BPhrd1lPQmaLRfJn4JVcEF+ZSd + fAUAEw+BKglZ7EHrQvaCQtt7AUbZvT3jixxxPRyZEQFamkCz799/36OhRcDPTa4bgfpzBfZQ2sNB + kYAa88qZTnuUH2rUUJ0jLLX97DIvvHe8SwyQlirhTJmL49XADq5QFW5eUWY7o+JYgfQ78I7wUECK + zPtIxYXOfTmZVfes5eVPzE8hm2H6amsWJxMk9rRO9ilxSBGzpogXMKs0p2766r6IAcG5iSkvKc4S + amrgzIvTiSKPnV6fglDk/sTbPcece2A8GU4UAmZROEqE8v+nlmBjSlYmsx7OOuuzzsi4Xa05By90 + 10xIGVcUF9DJKoMjQZBrdGVcIM9MHCvBdwNfcKlLYUd5EeuLN/wvlasBiEAXt7bMPpJ99LR6F3/9 + TRzDT8O2EqOocuRmIf/mDGtTq22kEjechrRne7EWMoqw97sdES5V1WP0o6wDf9j1OIeV2CG3N4A9 + 1j3K1ZTkcJ/znjRcT080mvfLEtYUOdmFe6+xHQ7r7OeP3WM9Y3HR0tlV0nzfxd6Hkb46cWjrXOyi + DcL11ksXo6womLh1Azt8BK8DVPE1SVoznbxbHugivy5Z512PGqE02QfP+2HvFKG3GJmhbUGrv7xP + RNW5rboJnji03Cn2ZZ0= headers: accept-ranges: - bytes @@ -2997,30 +3151,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3034,39 +3190,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=25584-26623 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - vK4M2wan3TL5Gavi1+vm0nma/LZWntixNB4YkPoYM47vElIGikUEAnc/SEK4XY04l3ryuYrJMqra - kzN9J84VNnIbTtNFV/uwF4e7ozfccEnsvfCXJfaPoiBO16jLugfBSf4sA9z46s64CVgkG4gpxsUY - WQnaeGmy3dWsPUt32Opn/p06S5mLG+K8kEKP93PIST1P6XkBRB3lKWzO86Q/PTDUihQo9oQs8z0g - BiLi8I/e7ug6yoPGGg7PqAXa8YR3pDbq1i6WN174aXzrJYKEUaP2W4QyDDrk99Q9Vo5FJ5fhTJ93 - yX4f8OfFCWC6CnMbjhHUthm4rAOe5/qY96QchlnbSjwzklfIfz687giR5kt6oAeqEu8fTodP+uUf - BArLQNsnSo5dxW3rx7ZUZDozUg49pA+wK1MHP5ZFCbXBgYV4AUs5cJxBVtwrScl4vcI7Boky9J5N - RNifCJexD7gvm22dUYFgnln6BbKtk0Xcmd1v6pDhdvuP1JnCHDFWJUkeHBtdcxgb9DDlmIPIXX49 - 2KzNj99Csn/w5NGe9LbKrSZFthD2+A4XobfKSEZ7rTmffa85sf4ZjlnYsREMsIkEdknN9fLygpVR - +YnJT0af7RDw5vM1g2D7mMi19V/Rsw7x+D0KBZvOtjj+nf8UT9SfocqVuLkhA+RPZsEKVrv/X/uC - xjDCkRdDtlrB5ch04Z3VEmmRqzsM44/b+/mGLcCBHwQlEc7XOzh6l0Po967hI+/HkG1w62o6v9lE - ZaVKsyOYX3QEiiMcxB29VjIINYFgVGKszDyOaAJJ7B5jIeBvy9IZOTpoed/VkY0k2p2cBTpoApCg - P4AXYjOlfNeTr1UIv+2NwKrQN51GK+OGloIvEU5KIAgaNY67OE9l2WqMaYeaY0xtG632kro47nPP - 2MZaLYeptMbxdwEVwINIdDpku3gkyT9eTUxp3xCkLUoq0vkGDWr7F4xgKUz4RKzWAdnsamgFpYIs - FHaFv+/iqZX2Yre7YSQ/tPMbMDUbgV/2WRn0vRO44gM8jKoibBC0NEkZtLg+lLp4aXgeEigXR/Ox - xVEoh3PcyaOkbpg9pJEmwXGTd4RBkJ2NFqkQsEt4XpEPS4zqEGAWY1VSVwJ/RAYUMbhNTC8oXrUJ - lE3IN7LmKLNIDuysS7jhcXc390cdYvHJ3rhLGFgzEwvPLNmSAX7FhTYyRuqusfiskCpr5/ETR0OX - 2b51zp6GYG2GN9vo8lL2E18whUr4qrf++odIRZgs/0kfArNL4UgSvaVQdkKgSnS2EmKydCZNVwTY - Lo5+oJ748fEH0QZso6PIJEgCXemQiBPDXp72c6iiRqdlaGUydPMz4dcXQb9KiAlwWNZALfVz1295 - ih4x9Kp5NkASnzYG3+4= + vE9E1bmtugmeOLTcKfZlnX019qtnEtWkRutLUx0cU0uFBK9TTMALrTqo/WWjTAotGptg2x12RLhZ + 5DF2KfJQjci5QrTrK5pmoX4ofCfEqFWko5f4+VuiZsG8xg6UnAfNj2eE2jF5flEt4x+jAodP/2Ad + x7Xq6gMBBjPkgcHbjEy9JuTzcQDKeshpTCWX3C5j7hFK0s/ol9ujjLT+yZAHjfxqhnoXiO9HKEOY + PW+hD/FVL7lBFoDvkvcBs91OyyXVYk3SvkbfOyAp2qGrUCkpCP6Z9g5v30+4rpmyY1Jv051iblKW + yl+6VptC6d/8S0Kb4wHPqoEKV9cflRpuCbknQGQxRxV50B366CyTuElcN1bJJBwjbaJaxVumpb0B + 8T1XwzDjFcoMgRVqJ6tcIteCRrGt1aD4For7bcLM+WnPJC7TyU2s3Q+hbCoioe9VJ1VDgfiVpf46 + mIe2cZQOceJBSoeRjZy0tmxcihvn8RFVIgJLbhCKmPlMtaFkqop6uPyMCh0q24+h2NT12DGfpxiv + 7KgEYX0PRTp/k+46UrUeU9NUVb8Ptkvf73cg0ORJt8rOgsU2u/gQBQCc1vm917bKpDmn4iCnYOKZ + 4IiwixBSI4JkyH7NGH1u1RYr3Qom3FhsCw+U8yvYCqR3O0fre0aBX6Wf1/cAOCwdG7JgUFWZCOrB + d3inv1cQNz5k6p28i1ufqOWTd+sJf/AXi2vk1S3Eip55B7i2kRXbkJi2pg5Hmew4e5FQi5J5hhkJ + ZOBkW6U4sMjTBHN5GEOHM5LAHDBa8XccyQo0qDXniePeNN4YezzTcnQTe8oe4xy4QfsYSjixwu+r + sxj9vbHsXQWZgui34fv1xIkiaWW3gnMD6DuCdXZagElUPe+KWmHXUFGGKUXYF/ovVnieOfid9a1x + T1Bq05PoiPfX9IQX0INLhcXYnEHXGD1Q6Pqx3fJK/os3K2PPp+Oe5AQHHs6gVbHiLShKO76MSFTq + ikVrINSbYJSmnEnv2c6K0nFPtexSwjr18oVpQufhkDbHzkS1xKKzhZdWcQOpqbiv01mtyqJlGUoJ + cgEYkAgbuOCkqNCNFbZx5qPgnrnVat4A0Rp3xwfDI53n05IBtLeFVo1w3zK2RkqDfXeRtsphE1k0 + f3E3TpsfmNn0WHUB0vCwr8kuN26rBdcAtO4WLKsper41ExTk5q0FQCIhi6Yhe4YTNS7pxYMiCyzl + Gc/4Fgl2MLmLaqCtVEv2Xdcy6WTe/jdwltkBqhvJc4PByD8/5rS5Z2CRuKu/JH7HoltK9LcvUU5q + mhnSsJeCq9rxHRRVF6rCvnt7c7CjnY/2vcoDBMgb75kIgKtUioobBumDvU9zHaHEFgFa7pb464cQ + 24DCwxdJphmY2/0i6SE= headers: accept-ranges: - bytes @@ -3077,30 +3233,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:48 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3114,39 +3272,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=26608-27647 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - b3mKHjH0qnk2QBKfNgbf7tk9C5dFhxq0O3I20Vx1ZjWkeZu/pCuTzIRdVabNMrGOfu0fnHPB/bF5 - oXh0jUBgvNrkcBdU0zuMk1RrtaklFvrddbmVllq1NLxE1fUUqnAXT215Z6ZTg7RWul3yo21wmXax - 9W+MvDxPy4WNWWpHmi4fAnpT6NGeI6BnsKd0/T20UZHY8i+ZnxzEaYwVHsdi3xX3vRYnqG0jj8OA - CmRtFEsLdjeBSR2xO0SCUgqJorRhZH8GZnMQXmZvWtqZs861SWCZsoiMuFV+51invS9z9eShMbmv - gY2ILJc0Bici5sUGtMOYPDyCSr6KeoLltDMfeuvvx2xuuK6vzFgUwJJ2qBiRyzXYhIrgnxmo1BWa - SIA86o9QgtpT5q7XZx0P6kr8DbxCcMTs4cU0d0q7VQXGACNtrQ/PZhP+iRew7q2V/oDRqAmQlyz1 - sXPHd3mWy/LPFXFlX6M9kLpg4DDZ7/Q4dMAMB/qb/nwL+WD2lerFlBA9weFcrgvOhVYJ7mwcIZSS - mM6nZgG6emK6GEgEsqrcmwXhGV1ncj2vX6HbjFPzwHkD7OiqD5TaeT/62UWqkyrBrY5G1Yag7AX3 - cytKVkQZMml2GFQwJakoBcVd+y8loe6jSPypQLlR7Lx5qET1zI4hcob3plGI6Wjt03CfIr+a3Gvf - 8gl/JCFGh3o50IKCzInsxMI3Ppp2YGfLvjVAEz7nGQPkjjDo/3JVTSe3IxYD/lgrLtsGBJhSqCgg - V3dsLJ3LyfusztPNk0PWBBwhhDHaEblnJBST33v5GZVENgs8sJoB5IAbiXmbZrzYnRJBPCVd36WF - 09E8+wd4WHnxBGJXQrk29e1NkMC4+Iky252+pjsHYAo5CPgL4QTydq1KZGOaOgYfBJRrI2LxEZIp - ypI6S16NTtNV6Rb5Gi1Pyd7OGx1qsIL5JgjNMVHRuohBN+UaVuP5+c5Km2m2E8YJJ+zr8iZG+NHa - CwDB+KCeFSnYAv1DFhWFPjncv3gi7aGVoHZGVJ2WOH/78Djh6/K2zlBedMnu6poDZX5WzqDeed1m - m1P5bCgIZ9OlxdD0Ude8tqEiLFXOSgNSvA2Q04EWgRB8duWKzz23M1JtB9kMO6ofympP/m+ofzvV - Yxh4mBkwRPgTWlFHzr1RSDGxjZFpglTajxG9VwuJ3Qq1IABPh1va8kWn0JvJwDSaMYyvvu/UvWio - Qw0apWXhoXu709iA2vlzzDi5vSTvqM6bwH0VFNfFWMGsY7jeeWfEXUsycdFXKMEoWMrMeB062s4u - no33Wi0EG7a7lSXvKbQx+YR+iQKI9T4hvqgNyhNOEkpwGJ3waIpUbgu9XyW0iY2sLFN/73I9upLN - iB/PPVpdXorhBd5aOPA= + hxDbgMLDF0mmGZjb/SLpIXV7y1Mfu/peuwWpJHKeLTij0wJdRTjzYceOmTsrmbTZ3nPQh21bn0CI + LT0B2qLYOWzPghtCCYYKmCXJy2FtFxNiFtTyT0OamwVy7ySzSVIOh+iXvN2XAOLr9Dexw+WApg3S + X7qJHQyyd01QeJUfcff3HxVQRZDj10TdoRA4UrpEodt4IjlxNxFy9TWQRyCTpQ5gfwhRifjEaneS + eZ5JQtDgk3ING7Pxh9eUcTsKi41Yruins93hlSlVkZpsCYea0xDZWyRP0esfZxSKV6Tu7O9QkS+k + 7kHfdTeYDT5pmHhvlXrqGZ2AAZygk8mqubSxaKq+CYg2YiZ2t4SebNaBGbXouHJFauSkoTmmldUx + AnMz/Owokh5qLv9nyGUQECxgsR23SNDfVmi5MoWu1HedPdqKqtlyDz1JZA1jRtyVHq8FCn3g1Bie + u1fH3zi+yP8MtHFv62v/OnWDGDWSXWZm7PrwOEwfYhgz34vW2uGO3drm46j6X/xpeF9IJyfKMrQT + SM2YqUIH8FEZ1oqmUb1gAgg2Gei4cm1LhlG51P9LkQnrxpQ/cCNOOKTUz+BpwO4HsxdfVN2pYrjQ + J1MmX7r+0jWILFJt0erm0ri8LjTKNQHzfAb7+//+NByM0dBKfmGGkMuzkY/AgpGjU/gObodOwQ3/ + F1cQDRd6N4YgSl6V9oTKH6z8s/MoiRel9IOyV4luxEfNkSTfgWHKCOCKHCRd5X5ibZyvjy1O04RT + iT+J7REot05hgVZCwkBQ0jMy8Mv+PNEqMRd5xupLIy3Uwevt0ZMet90C6X4OrNudQ4PtWrsHdnnN + 440xbx/J3ngilUbExDcYQn3fBCh/go67xOgCgrOmXB9iZW5vitZ3h3+YbHS7HXttzzO0yVPYOnPi + MuO7qYVKRpC6mjnMBuK6BMX1iU6n2N/b/eujft0/0dZ/Hrs2QAS77nlIWHIIP236e59DsiQmqk+t + 0Yn9QAB5ykcMd/nWryQu31QZOGqehmNRIwvmPrT0DpbqtRzMcQOPFbYBmfxkcb9SAms0M2ELOC0t + duLUuuA/I1JgVz4uXdeyxmeMl33tLjogvWz8YnAUGJtfaK8Z7pdA4/Q0iQtDRUBFjJ23nGISZAQZ + objR4q/jNL2Ema8soADUaKuHB96hd7gIx70XqOuisiy0SDHyrgvsZ9AFh18F6WoXVK4G6CB67w6z + 7OVQtX7dTCrV8JP/Y8P3OiB+IUZnUn0QVGNMuI095O3qO8pnQGIVq7qa0GpRzzzyiPxZnzf4e2b0 + 0Sb3tLA2kDxjd5WFQMjRtYx6UIy8CnVlo2GdKkVgmV40mxkf782PtJTFzPqDafZRsS5D+HStH6jn + aHjCEVeURM8UzpSoxpE= headers: accept-ranges: - bytes @@ -3157,30 +3315,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3194,39 +3354,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=27632-28671 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - ks2IH889Wl1eiuEF3lo48K+kHSDe3roeF126yvb02eGgpmmRcWfAd0NOeb1lk/0Bx8JA7CdLXfBO - bcqh1RFV3aSL8OYgDVGLXbtoiaaCuegIjCI2FfQU6aDc6ay8wySKlTGRc+GQA6ELtQve0WMLGgMC - gCQl1ubSu+pSiRP321AAimlYEDYBYAbQ5gD9ciefk9RbF1hyF64AiOPHK/tGz467GQbkUGgPr/xJ - EPuos6E/083Ra43Fv8yt1S3bwwfVoIiHMbAJiusRIo9TzdGPb+CyqN18EZvYZ20CjgLoWES2qBmz - 8BjNNzmJa2vErLXmV6Ejq7s6sePXDEb2Xk76H/bfb/HtqwHQyMfBJLfuevbJzFDxBRK0Ss4CijUS - 5LD2Iz+K5vLkGqmud6+VXxI2q5OLC4LyfFqUsgV+plLbuYtnXlVNALrta+azQcaVSzLfadTcdlCR - 8BHZ0C1+LoXRtcRfU7hD2UjGaYw6cLdo6EMW7SgHOttQ3N4b8SmTPVtYL5QXm6OQqF0NKEjnu8/2 - V6SD30U/be1BiDVNObWEBCPklGZAttsDtNemu8Q4iJvO+ESv6qrOK+yYCAJTj76pK7s+E38F3naK - bfYq6dABzPOclp7DVTvd7oOOGiWfvBd8IrYrq6QLaNW/hDEkkJfKgHkKmow7wnyhoYyBGS1FbDiQ - +O3aKqkK1W7cEtYyZ85Pkura+HpF8cQ44kOg40TFmnDO1wyuACSudqrKPHcEiV/CVgNXD0duTDeZ - qH6Di0ul34UvIo1u2PmWMqXairexlrBArWYW4WHEKtzErNEhUVCXIYIKMrUdWhhEOItCZse7Hy5r - oGg36bzsX+Z0hD5UyNp0ry1TbMnZ/w+se/UXoTaotXgOtJ1y8xA3djeF1o3agvJymftgIJgJCMyN - 5gYllNhu6bXbsMnE6e7YjQyMUhBytEFBStimh9sA5iPWO8MbxJ1raHN6e/tuTre0VC3v+eawUydM - ujoUjHADVfhjHRq32PEwi37PYhyGSh8Hp1OiCc8yNRr1IFIiyCmaWBT965hG7foevIBtmYA0aHGW - L9h91laXaZrmigPzv+R/UCzJQGq8btjMJxb/ABox13Fh1KHN+ZAimF2FRUxiCgH8k6UqCEag4kqz - urne2N26ZfGMhXsHTh5OOZggTfw9uYX1h+950Z1k51E3CNke9f1P3WzUm9UlVqnWTCIrVLeNR7Ff - Ih2pMl5Y3AlLGO6juZWqdjEguILOzopmXHic4AOyLM/2vSitaQVSmJlMVTL9z/2B22kXJecmhddW - 7PvfbFN1fIH7qvo98JMWM26rsqUZQ2UflCsI6Aalm+woSTEI4BBhZcddgbzcmA79QtVEObZ4wUCT - mKP8wKNTr1vE+vu0J48= + qOdoeMIRV5REzxTOlKjGkaDwzBnsc9PeMQJJB7MDY4vHn4YfuaDHrYEnyNCv9WvMpzBibqXOtihE + nJGtIGCZ9SnPOSUxwt7lwKtGcxpiubXIl181Nv19Kx3hsexoSpS7A16COOq9Ce00s6aWkF7xOnNN + YTGKQuo0Lh5hoByu0jaTU6xEGzjtbBO4OxGvy11+ddolzGrVB9DtQvJsYsQzjD+tj+VqF63fYGL8 + t4kJjoXJy3a826+v9JQihzVyGRJ5WgQrS2wZoLaZjqZg1zSWSPJuRFQaLvG5sZmbUrT5QMb5My41 + TR+FUzBjOeHhYXcsvqIcRwiEnJdNzZWblIfs/uj1m1DIs7u3UDV/BAHFBBZ96k713IXvG/zwOeQB + XOpbqwsm9uPW3IP0UqPOt0JBCWs0jmAsecmNmm/znluk07xr5r1qbOtarX5JqfQJ+KDiPoEAp2RR + ZD6+7HDC6tYuLbgld+7VTQayGFUSz9XxBVlli7kX6pznoV/c6zJXCI2gjp4lxSCdA8dAHXoaGpe5 + FGHx8qylOM/G/tQruBjK56GUErYhs4k9XhWMKrz5ApvHvRFU6LOg/Bhq7UYVAmyHBw+o1/zFWlpc + HSQ8MrdLLm65u8ZVa3PxXczFOhEj6YpB0XrpqF+/6DqsBdwUxGV+dtlBZJTBJu0lglFI7nT+nPss + x3TNanrl2lWsIjCjW4Q3pWyXGWJdU4cYjJlL/pP5ASSbBD/62DJBkHON/SoEWHkUpnEexYOxeItv + 1+IuiDW/fnUiAiVwTvRyxFaNmYGHYbUdxTg1X0HoaS25MyG6MHkZXs74P0avaq//ZRaLbZK2HI6n + 8qjriclY9xXIkurpYWwfUIO0n4JVHeZhrpoil86GNysNgJw8+SNpYQ/4VsFsMHxYYHqumKuZ6MMi + I+cYuV5k/rt7zel2B5XDki9ut4nwaze3FE683QaV4+zxZ+mzZc1L9c5rtu/m7Q4akZhxgqd+GjZe + jMcJR2ZQQCFXO2p3W3EW1Ttxe5Cne2QvBW/sWWlXtKs7ifHrOGi0Cz2OfuyjKB8qR6CT386Um4bl + pfTOyd12j4eCz2WBraIxGsOEtoumg2nQ2JyLMmbb9COqKDkP0VwPtMqnEosA3qCEVoL4Cwtry5PU + xonfRN0nCDxemSBSfHcQI9kE9vzV6wpYfEygXFmvZWypJd9zjK30CTNGrXa/VPkOcH9x9Cxwrv04 + Z012dcWGHsig8+ue56ibGHjprRi3FTrM2c7nIPPeLFAKynpgUiJiuvYmc8Wy8ZnzpiSU/yb24emn + 75z0+80EapmSLn8//ug0HOohGESRP8Nkc/kXdWOlmtuNY0RvrVRt1JQyoS92VnG5ZuxlS6zUUZVY + U2MnaZaeuNo8cCns5W0= headers: accept-ranges: - bytes @@ -3237,30 +3397,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3274,39 +3436,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=28656-29695 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - QJOYo/zAo1OvW8T6+7Qnjz4OYyFx7+os4y/K8I66zpTF41Wh5ygZ+QVxdJuzUMNTucqKuJrlllTc - oPSWcoUDArgCKWHz/F7QWqVxd2mZy40kouyuYAuSmTYNyE/3qVnaksotaJAbBR58EdMEVt3nOGPB - Xr0lVjaRU3L68/0BaQr1manQxaxSepGnyQf8FlOv0Rw1ab3CzpkhQo9LyMJ8wQR545KJD2Ofj3Fw - 14hhTJPtkTSIAiLl2YAvoJJnfHv4hY63LG3WeMiU5KyiEtVllmjGVBsjOPWusDFkPjyJ0LZtW1aN - 66kmXORqqBi/BXgbkrD62nmlYZP/EyyXWH3Md4p96CgA/+UmDx9XBob1Bdbz4eniI3arlB30hHSi - GnmGETYGPZ0VwNv8b2sM0o3n2mXRxQJ6yKDbQO9At9CmGLd0zsZYidhJ4KyAhlc/UJoOK84tLeyx - V6OE6EZORKYIteMfW23Dcf3rA5YRzZXMI3WCxEr0es39IdnbVhXS8YZ2ODKHmxVELYvS5zZK+yAs - oKp8ar6iYtQQK9HIz/s34dyYqgzRzsn5rzJIYDuv2n6uf0cVHj2hPhRYNAlGBfHlHJZXXVd3vow/ - LyzG5ZPl2UGGhDTAYh53DYUlDhoR3oD3G3weD+GqmPan5NfcIsZU46AWcfY9S9ESrJhOU+HQkwn/ - pzKI73atTGk5ENffBZUe4fgUWeEwjMiRxcn68dS9Zgyb0OiorZCCkdT0tA7IXJ2lMLgMohkfUww4 - nNvuMoNlT9Jg513GZzd2eKzBr7nPQkwC5zxhjEDG5Q6IULkqY1aSRoOSCa/KFjHc+C1LmHQYnnAs - IRlqKG5hfD23hOJbf3CCAUhdlleKf3inFf8o6E0PDYyPQNy/Xid81viA+tj/YCh1QG8wKc7SvQgO - Er/9NkZ0wfEXHyZAWv+EHgiD75D4Ea/euOE/rkTwV59U0vTaPR9tJjZqS2GGTfYVVkdMjaygKtDk - HIS3WiQheiQVq0VkKKxyoh0XUxSk7YyXmDIo8Dlx5gzOVcYGpaP5TpU2BUUKwiKQtRVkBt99ljxW - R1C3UcqcIcUqrp+vw6SUvwJ1PYwqHl9m0bxCV0WSlTNMryuWMAZOvhmMgAo8+t8D0IqmaMiV6nI6 - H2nGbDNhyMQ6fIqKYxx9tJKXHmdHxtbrXGrglnjiC46oCQPbZareXvxTVFAZcQq0doXT2+9F/vpW - xod3zajBqrrhBjQXiz0y3gRLt2SXCIGExwGA2V6+ay+YuZYDjDpsFQC1PaAHZnPY5Wm0ilEK6E4M - pFGtRCOTDUhKZIocClpu+7rl3t0ImsBo1uxB3kz+2jYK+go6q/+EDQAo70MwfKPeQDDeWjOHblso - hdwMn1PkLhh5Z9ZO6WU= + lVhTYydplp642jxwKezlbWYkayuT5NbG7c2U8rnVb0LNwF/Zqvdsy+DnCubY9wZbZciD7/haSr4T + +1Q8gbga8WkxeKvzQLasRa8JQzdl5nRJfEpYSnaLE2+e65oJJ3Wu4JYIwfSMGxyy4jfaoYE3SWc7 + Q0Kr1gyFriuk61mHN+N8ZUiOuR3z1TRlAw2ZqWCCdISr+A2/876w7q+wdCLWULlzwLjyLlLM9Dpw + LHSxY7hxTOseWjasCq5lxi3GIEMp/BS9IeXpdNPNS1Jco/gpud9mPwY2S7sNXiJ9Tv3tyikjRDTh + +cAIOQXTpecHjyOkycC94Sq8JIyjn/Bx7qZEhuFd8q7n3uxu46r9c5uoqPiHSa8AhzFYhVZ9tEmV + wEbMMNMWLhrOe6TjqGOYEezP0op0PkexZ17S9V9sIq/U0JKWCvfCLLATiq3r9H+XXCYIxtulB4Dc + Fa3/SDRyppSJJuczgRgCJ3CvMyRdR4m6Qn39j1TkZ6RnxSIKphgqHIXr/FQkNoWpQkJo66KWqWlp + 4hi/wI1/w1KGkQohdt1tXhxArbEtQhMkkkjgLoeymYVhnC2weHIHuw9PoLLeS8AL4aaxtoWcHXVE + EQPYlo/TYr5iczSSECBNHMn/1zJrhCtA/Rkn/qUkV1tA/V/EFbn1w3tOmRTq1et44MUU7c1uz7Am + phF4qQBIs2REqGxlcCCBcEGuose/VkOUBvo1DJb59psY3ZoI/665QHfRTzikP1+39uoqcaHGdFLr + FDT6u8UJoF7ip2vBXNXJF8Y+cuL2j9tm1il4EfWVB1fCLlmfG2XUXvqNzmvlrVJLLyq94/60MGUB + 1PHdkuWOTsIo+hs4OH2AqGWy2jsvyMk9dmEksKZE+tZZBBQtVnc02wH1C85Bz4adXErC0f4plSxa + vijTRhwZ0UmYsgsOfoUQxUUGmmS95dIkY8dFcytu2Bys6iSYVqOjCmhPacUPVFCqEKQ6WMGpxkX3 + Hh06OdIwyZvTRP3QTS8ed1Z+ynfVbY4X41A5xc0K/R4GPhFeAN4LV2ZfWXM9NwBF61e18q0gouDR + bLOHbrzm051c7o97Nxt83CWvb1VUxpmC3J1YDEHhanawa4ZHbM9dd6fSt3Ug6fL2HBEIkFxtdler + bfYr+nUz3tI5tk/Xt6RIVSt7L4mO7ZqsXbAHowpFjxVITcCN7f9KO2t9M+vRksxcJLAoh5riRbXl + xa0vLJ8s36SbjlbQSLwXnn1koaSEja2/PGDbBxkEUUz5SBqXADTiUF3eJRor2sEDpF5M4zt+htN9 + LmuPqV8RH+zNtKPbRZqxkMHC7ItfVVo/3L8KT93NWolfCIwa/KPPbGSy8jnGLMmcD1oc/Nczzsz5 + 5vw85VTRpOIZHw0VEr4= headers: accept-ranges: - bytes @@ -3317,30 +3479,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3354,39 +3518,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:49 GMT x-ms-range: - bytes=29680-30719 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - WyiF3AyfU+QuGHln1k7pZXRC70LUqFeUP6VSflYWhATQ9T/W6i/EuvH2r6+7kk2aXY22OpG+XZRq - DZS/aj5zZs42YibRJDnMREStJek497h6NRSxbc5J+NwOSYiKnpeC+PDI+oZyvNzJRKsJ+CFI4C4t - UnYUV3eIoQnZVfFUBgHQWmHQQkXrJ6weCFKfNvL09+LsgvuQEzm0egkfgTYWn0hLJzCO3wj4ppz+ - YVDOHp4TjoZid9R9+DEvD0E5e0J7RZ/dDnilJLKlSHXlXTqHx6sxWOoJ2ND4aJdbpWBGFvtRpUPs - 3CPmw/hx1sEnbE+1YgRBmvRox5aGi3NcqYPkH+u56CsXmbvVUbeocylN03VPbCfwci/vwz4BPl83 - Qy/o+GodYEB1XKdPJASY+p5WPFDn8IuGPwsNbH7EiIrN5SXaSNuBKshQcjG7Ugrc0/Vn7JcWeZq+ - 6shTLg9wf3GzhI/yg/Gq8oxm/x2EuynigIV60C+HK28qLp+G1hvef5Nw16hmb1cnWwIYVGj49f4s - LufOjWMHqFqPgnzHW6ErTA96Mvq5wyYeF4/AHBOM6oS/4jFKsx57dyDZD3B412esjGSPCft/KxI2 - DqQkRtR3e2SqARQVYXQ5W0Kph2APkAwvcSt/MTBjKmAm+YltVeZqD05NMUMsllHw0SRpakTjFScg - +wOa2pcWy/uxBbz56jLAXCvKYUCa262faJtSrckVQoLA/5aLRiYQyyi/hrnwkcFxOw3AqJRVkYgI - XETeH7XPvETuTOaeuVT6Cws3YgazVl/ouw49HcYFcAA9mfQzKVLVU9K1L3zXpEh43YS29V0+28A5 - lc7rJiqbNgCjR8NGlDSq9aHyKDOzbIAAp0UMt7jnv9cViITeNWONwgv6JfbTbYpptOZz5sSSb+F9 - MF7Ilnzm5B3iqnlWBqsBMF8noICkZ7rw+kO2eMYNby6xtHxDNF8raZNJiL+qNje1rU9fVgE777+T - 0MyY+jQxOLlR4x236CZ4L+YMGWDSvLID5h3bmFeIuewVLzDEDZay9J42dJnGbvNfqois42xzYBJO - kkAjqW/UgTmhWJtELtsb7jIR/FEDgQrzDbgnS+82aRRHMBsTUmq+mjdFS7xxUWNfyDSaXY1vq6AN - uhgaGPWHJj9Y5cgelcgmagGPgA/a6BRN+riXpc5T00tw0NiQN6HQSuUJOQgNvbRS9TRfpc74nl5B - lBOiE5wj2q5JUeuls793/aft8KK2uUdGq2mxlmRtfNDyobQ2D60pjiV1Jdh1qN4qjzyVCA5eS8bW - MKd2JVp0ofVdfl/yk8YG29T1wTChyPiAY2ZGnp/2OBQ6d2HOrohspuIRtsfUar0ufoyTLV/5HI0f - aaIjZEMuCdZo4V/jEyw= + zPnm/DzlVNGk4hkfDRUSvlAK9p4Dg10Ja+vh668QhKNj5w2j4jsQrAPh4erewAGRWh5qW8MoY+g9 + ZQr7fLc2Jm3oZ85XV/jmw6z0ISfJvvB9rCI8aDWTYXbK4kLPTcZlhClqfJzNOlTa3j30AAFudWeD + kWc02onFSMvYcRtQHx3yks2dcdcEI+KDqTKu8MLtCLVQ2yXTQw2NzLQzzE7KTommIo/oT32vZ5eO + aW5t+6ao1M4P+kjqNmMdS3t+a6tVv9dA3YYu6S+8rcISI9XOAPOtlYLK+vg7ks9ivijeye8s7Waf + ex88bC+ma6//d6O59olIGAtiV621QEWUKOUbRWxatgVZSZ0YMs/kbyUPyUCSTFxmMi1n1Ewjre7H + 9+HSKAUctdbVYHRf2zmWGVTrSKx7hvjs3BhzvZM6gpyvNTBAvzbkQhEEGb4qQu9t0mnL+Ubl05jw + eOkaV/SfI1SCi2PRQS6L2Sm4F0/wJ3ojkgWvCAVqWbuIMdhOGcU/8D6fjkdEhQGaj9/RTITkXL/g + GxzR0SkaLDSgxMGt7Ve9r5qcO97lHEw5Y2QtyM9nTxTFIUqnD38X8ynLaf/pjcI06qsTS/flxuo5 + Rkgkqbe+tzG+NpVq33B2fd5OXZq4Xg1bGPPxx8M8KFboUV+jm46BfoTSKXiFT8xkXaOkD+34PtZo + gZIP9m4+vr4V56jEqF1BiKUMPc29gN+D0MEwoXu+m9vOZCbg75K5A7DaOy/7TxQNWq3yIVtPTlbS + rjiinky2LfvEMsZmKf7YZxb3Zvov1OWLYMDCUgwzZNxdqnXDfCC4ykjhS+yV6xP03ARzNHoJ7eQF + BecYO7EUQeD9g0r7G2gPqvcGEar+ow++Fggm37err37yvXDTEdW7wPASK/3jJIRYU5EX4Pv3Nu7T + 126ZaKr1LuD3I0x7/cr3bZuYVQaEI7E9kJ2Vrrr4WCkCD6pVIyiA8o6UOn1uKpb4FTsDY7APIgEF + eUriSMORwSRL4pLt7mkD5rL6DB7V6fAHJC8fMs0D/oWIi3rbHPIZ6VA2nEugF6249kflIQ9qvhoQ + h49AsAx518AnuRbCQPB4C2P7jtQyth1xVc3JEs4toPfuc0CWcFhXqv1AvWAgknSkGRNXB07YbfbT + 5kiVDRYhzvb73yBSY9KoZc4Lvcp5gdMuFhatso23lZ9lMsdHvZBkg+clMH8iaxdQao+a5Ny5kPUc + lrfK1/IyewD4Y5zDe7WI/fInPVwp8xCVX3IA+raueU16WLNajXpdvvzQfoPjs0QjKB2rovh6kT9C + t2gF6dX0KoLy8B6in5dfi2Vkw3hjCIgBu0Cl73LtPHPygDgwvQGunHGxsjSTfLBc2DcsqKKEv7hI + 8ty36dt0oqA+jZyZmjI= headers: accept-ranges: - bytes @@ -3397,30 +3561,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3434,39 +3600,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:50 GMT x-ms-range: - bytes=30704-31743 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - jR9poiNkQy4J1mjhX+MTLJ3h9OL96WOF7BEUTzGFHpvjL4BnIbVB36dl+eZKnfSWTEOZbHdsepah - oSkzP3QGyBjlgiCjZfP5OGSz+6m1+BL62okTX/wLMucwExtGH3aXeoIrxiKPVH9DjrSoQltS0Lfs - pzui2eeV3ZuM18Gh8vbZxyTrNIorBO8fstP6htYEdTlthBxuKEHhHs+Ah/MvHxiBzJ2uGp/YPL+z - U01wozttJFWH4TGAvK6j6SWcx94YlEqp3EWuF1xf2TQ3mmtcYHN2kQ6aA6ARm3PyirNONoww2pPo - 0xrjP/BQbGpGgZJ+xeRRjWVyi66oVbWcEigzT1Zn1WWJ+j5zOU4tcnID4g+/ddOUvrLb5LygmyPx - 7BkdOXY6Nlzu7669FKFGF6F71gqCi402b8CpMBUdJw2PwKc8Qctk94EKZSAQl1H8tP6pXq4VRDkT - T+WOwCuTVP52wjrOSbjzBfFRszVCG5WAYSr9HS/x4okM5b5JCU3kDOYhGPntjdDiUkNgwuGI/svv - oExMUhXLeVFsXF6oKBgtJeDJ8CkWZsq+31e8+gI06cXhLl/8pZuZCf05O1CTpFLZ7XXCtvGpJ61N - xFGZp3ogdqnTnMmfWzbB/01uEJrUt14+q592mFNDa/6lJy3ClqFzmzXBcCxqKgRiUi0sRIyAKYX4 - PPIY2b2CJWYXyOJoEdP16PQPMJyIBMgcq1HIIl+YI1MV2iTvrcC0r0YZMDVg99HdxvwUYUkxMQiN - OMIwfLdk2Tb2EZ23AOxaiX/TJdxtBi1UsEXaI8MBSdjrjfFKRFbYPQ5zGBfPsm3yQ9umD7GCqsIf - vFOEYSOrLOJ5XVl1exsKPqTVq1vYjte2Hy9WL6vNCkUBF/yL7x0Jf0PJ+fMSmrsTL154scql2iYG - o9SzvTEELRUJEFewT8QFn4JWt/Yir271cHBLGHd3UDNJtgO2/ZLE0wA+fb6eS78pID+6mCzcfdzr - MDEd3/oVDfCTg0YBtUvxO8H0FqzcBg2aPiTdx2ahuGp7rS1zV/88sZ3Fshh6R61CdSiWCm2IjNvh - JDZ2akjVYSq8N9nl9a7JqTlX3M2s+1PL/eWZ/GCmZy606/D0/EfdP9B1JLBv2MvurdG7NpjlCE/7 - IE+qD5ETP8w9zbeUBQ9yoZXgB+5uy/SJ0CgOMR7zgu9j8hok9PIbp959h9o6HAIAvQ/2mBPYeu0K - ARqBxZ6cAk8PprNOv/ZxMD3Yi9JbMn8W4bf9WXQQeu9S9BXbGnloK1Udo31Ky3HQRRseXfrbSPLl - 7JuoP3YFWFrzLAKliCa1W0Ba9jMkrzt0FwZvzoJTEdcPbuxSW481ffrdjSSNGrRFLpYLEtuX0FEY - mRwl4uUNcAQXv0yn6V0= + uEjy3Lfp23SioD6NnJmaMiFxgYlvV89oiK9xqsZj7ka9GJgcHWPtgGJLNuicJHGjR1O/XvbxB1pp + byW8HpPHG+EMKokDPbhEC2feyFrXMU+sb6H0NlD3a5wQsaYtlkV8kh7OWpRG1xO3BgetcLF3Gltm + BLHkkY9tXwpP5V7Q3/hggEvF7FW7fZXAAIPgNPIBfMEEr0g2ogHPyHelkCXENsjpDgp952iUQiYD + /2BBTWVUmoIiT4DWrTzimK6DSV3QFdHePSFWp8mwD4NwXcV6LcBZ4o8+0/r5U/98diwYkeGTkRD1 + 4n3AFdX2HiVQAkARL1HFxk57Pm4UDJpSJ6MJEXxKJrEG3L+Kd1/8nI6H4aiPUeyIIB1SGh0HlPYW + Ul2wMwEFvaSDGhOVEbTz89RFGsqL1G277HQZh/xcAClBtVrbqpd8c5gccfnP0gbHxpgR4TXRrh2h + wmvYMQdHeMHowCje8RHfldjxLKkU4GL189+x8v28MbWjWgSDd9kbiCAaw9NWMnwr35W/VN9en3sJ + 9s7M69VD6xjHJwhsISw7/XU6/xokjXb5ntELGEgyyQ7ThaodWgTXDq75StdkB68igaEcJWLWxDFa + MHhemB64K8vH/87ve2/u2K8fLqrQ2BUurouLXlqrSBkWmiUmA4UzCS4thfrNFiXpqc5VvOdhJGxm + DkByIKIWZ/YX8ZttT0q98J8tTbsEmpDa7KtxipCqkAPCVBySOzLr0vnHCHN+te0uzgzPOI+PtYsv + Wep+hXTvOcW9Bjz9Krv0asqAhkLKxhFN7/26Lf+KFEt8R8wV/lToILRRJBwDsPfYI7l9XfPR7+of + 59UVUJfdx1JavByojWvxhjjPN1g0AfzlimpOKwI810NiyYGiYGWRjv4gZzTdOsbRJteZsC/NUsth + y+Rr57+B1PmG+9+XnFtD84VqBNT6ZjAhbpxhHAdxneZvSf2JFXUl12xiYGlnYqii+rW3rBEeR9k7 + kEwL2PBNm1+Cq1dQewCQ4YS7wdN0uuKgwExBTGEP3b5GRrc6K2YaGUcI6IACkb939p6SrkDl5s7n + T2dDQinBCu5TpDO6C/9pFIZ5l3Wo+XvBE3NNz5A2tFJYIeg3jDGCwPX/L5rctRKafnpSIjQnxgpo + tO/WfJ9HaJ2AUqJ6rgBvsVdsdxTExqanapUwBBHBMzYFNjEpYvaogaBmqoPS0W6l7+iTj2xwI/8W + PSwGgCqVIb+CD/nhiAcGVv1knAArReI6UM3VQqWM3Efz29rAYNVWdRky9FJlLkoY2we1y785u5VZ + hM8m6UtxWi89TslbpJMgXQFhgy9VX+sQC2osM2VGRQDchu7DqqRUpLZU/b1immm8nxE4IvOcWrqF + dPe5NYu7iQv/p6YdiSo= headers: accept-ranges: - bytes @@ -3477,30 +3643,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3514,39 +3682,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:50 GMT x-ms-range: - bytes=31728-32767 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - URiZHCXi5Q1wBBe/TKfpXZkCm+iJpQsr5+0gwPsxernoglNe+ckprBdBdqfcLB1Yfw2G+oSpytha - n7ux5Xydind1jdy2kji1sch+Br0l3DNS5l9F5E4c/rqIX6HSTsEkCjncOTci6r6xbsTouVdli05k - MekLj78gJeuWbrB4V6VSNJ0I2dNk6pYFw1cJ+jiaJsjmfK5kQjZ00DL5rYEfQE60YVtq6Xvg2A+o - KKbFKBXjtftL9/ZQSGv6QtRuoIveX7xGV4RcNAPpRRRRQ3vIwJmHTtL7GlAnXnP6e+ZNpL7Ar5YG - 81UIxTHEnbaMV5FR/2U+7UpWdUxHJnbPwcBbk2cYM3ZCXsGcUZtTPdavRWJbN4HWoThBpKwsuV8w - b8nQbY4crg0cuRiDL0sc1h3zFfOQg2NzNhe2qiUXge4Rih452NXP6U/fm+jOasnf/S4rP7COa2J0 - Ilyo6mcn3eRclAU7NtkvOh+pTU+H5dYSlXk4F2U4gmaMb1+fpcfWxXzA5TZCMC7Csm6VFKWCG+KH - /TaUxFbGqltfYBtgM5MUC/4zLNut5Qazt5klHnPxxNMKxRjqL0Ew++KgEEiIEpQt39xT5geeabaM - ni/+vizSKf5+jc7UgMY3dkYJFxC083gtL8vZAB6U7S+6OdEQ5jNxnykq0Afxaqfk/rxI7wNVPrMH - KzwvynXsaYYFzlYaMUIH1KFFNieyryzzCsUbLfgy5Hl15/Av5mhNjboI/XPMrmA8q73GAQOIP1yH - rcgIQRapSB9BtUeH5+71MNqze8mRPhOGwnwb3abfpse4nOfG7oMjD3xGvxQ9elU1FLeTOH5gTyfq - NplURv046ICZN437jnajWfL5B0REib/byMO5zQZg/kFK1MfqJd0lEWKpTGVvhtj3uR3ftL1k/z8U - H+gKLBK9+zx+i18AohT4Kc4MbQMjD6oJkZLqnzuOiyXud0V6aaimMVe9+wO3K2uGN/HPQcy+irHS - uSmoGijtVWXhDjQXzKmI1jpbG6l6+mpibJVrUQa/BsbT0tSU2tX/r+CdfmT1eBj8FUJyVj0nNCZA - C63E/NaiLeD5waFr9bCLYN+cJiY04v1mvFtBF7WKl/94T35PwfASctbRQHJiGWdsg20Qgz8AB7zP - kzVT5xKc5bCiKBttd+x32TV0c7oyHILZp2qOvdAqo3adIDESyOpb0bGkDZM8w6RtTWs004pXRDDR - cCU1s47H099+toEqdc8hb4JdnzPwdi5iqMlMUUc3JJtPnCGX6qQelhcMePPyzLYCNC8z/TBLUh46 - M8KWTD4Ub5Zu0jmnHERN4QX98HVXVgsO/NGCbTbCTkVh683cxvGI36Pb16rrWRcBW6zP0iWQVHu8 - vLuTXf9hMshvIAbqXXU= + uoV097k1i7uJC/+nph2JKqtVPacF9YZ2B1QbzfArLf5eArtYmBafECNcWNSsnyP5+NikBWxeWfIQ + mHiY/SRk6JeguFT+xT/nrPMTSssvSzdVC+90V8RYcEtVR2TE9MX0cKcpELXAp1kMhV72yjA+AKRi + a4UFTSBZqlOv6UamvqEKhyaIDC3wmW86mUgNxfBhorxtZOEogQhbjf+SmWD2Dnlpna7M/IrCP7/X + 23nPQewFANeRJjuWwfZgqP0w/+QiP1lYE3iLtwHZlcMRJoaFV5gphE9Uihqj5z5IyPXq4qEbSj0q + LivdwdOMuhYftSE2mcebbR/fPDqPR6FAeH8b3mEgHkfOGQClnS0OJuoTwqB0TQ/TQ6J4U9gFmI31 + KOUxFJa1hAoq2cDMD/LODihG/kAVq+LtjaTiVAvJf8yglnQjyIYFfjGPoDr2bes/e3UjGWYVqcC1 + rqwjsl0rU09QtCcbT+dJYgYQKWI1tAGjUh/BRJh1lEht4I91qWcj479dH0D3WOqYKznYDlRSbUVX + l3lAQpxOhHIXxcmI93b705zgzpf2IUTgrIFm0bDMwR/8SOPJhm/4bWedaCk8Sl4jKhDpnGmYO+bg + zBEyrvLqF51tvJRFn5h5+zjU6YKLhKJ8/UCOtvug/ZVeQUGcQGuxBjoAtJ/OmpL7PVWYcrsVTeb2 + zrQPfWnlTJPAne/RXP4d8feesVTyGVEUtbQF3DtDaaD7V0rmzUegtyt/mmKD5vrbaVOS8lVH2UfK + /bILhLu3tPi01ZMj2YUgGfW4S577k5h1Gf0a2R8F89xCSP1DY4XOy9SAvF4zzCfxYL8XUeSi2SS8 + HDU061Xt5kVWdGFtuK0MMqe7CFrdKa18wQtUK6jNl8IjkXNmFbPFw3/CZnBTM6qOZooWVaQzh2hJ + YnmvzLBxCwiycXkMUxtNr0zRTI/h8eaLmuoVkGbqxGEEfolObfD5yga4/oZhzkr2ZFf5OseehVa7 + 2nVCsc5hjILtW09e4tX2zx/YHpddcDMmI5aQaZycftCEg8SFkedCZdS2YwrXiSqaWh2Ney4shvvC + YujNJ7V+P+9hTcZcsYWNqpJd/NLHVtnhfxEkOBXoW2wZYye2HpedjH/acVVzTAZKt7EP4EGw0qM5 + DKRS6igIviOv8K1TLSE4z8PvAtkMkNB+/VeUsmDOLNBVb4edtOplsWjEZZ2ECkfSZnFlYD/ISVPZ + 59o3p5dCEWIXxj0kZKxjqzB7MaaAu3mnd6xhmqG3FJwyRVAYSt+WPtgoA1Nx/KEVhgKNU7+LaPFt + MGmc0oDOsz4SzUz/SJA91Mqp8EVZP+jV9gAQocEryjz5reSGwZH50uTNnfBU479/AcvUl0GPcCf0 + RfHEyIuSzk5G++nM934= headers: accept-ranges: - bytes @@ -3557,30 +3725,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3594,21 +3764,21 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:43:50 GMT x-ms-range: - bytes=32752-32783 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer538c1079/encryption_block_blob538c1079 response: body: string: !!binary | - e7y8u5Nd/2EyyG8gBupddbtIcfUDksesmM6UNck5xbE= + J/RF8cTIi5LOTkb76cz3fmoieJjSX/rG0pvxPx7JITk= headers: accept-ranges: - bytes @@ -3619,30 +3789,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:43:49 GMT etag: - - '"0x8D759729A4C6FFA"' + - '"0x8DA480E04FCEA19"' last-modified: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:44 GMT + - Mon, 06 Jun 2022 22:43:47 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JwB6LVzyZKHoG44J6KSsTFa7NHZgLIqcxgkojZfbSWbccwtpysSUHg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LIrNfrE8pY6MBSMNErUjVWBFjbCVo+kSWd8Dkmi2mjTgMB15yYCOjA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jGsSRlGYweNIsNOwZ/ikGQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6ZPVUnTG4IYnZM05E7SnIw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_serial_upload_chunking.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_serial_upload_chunking.yaml index 3adb644cb8e5..75891952c78c 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_serial_upload_chunking.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_serial_upload_chunking.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerab6b1786?restype=container response: @@ -25,95 +25,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:45 GMT + - Mon, 06 Jun 2022 22:45:10 GMT etag: - - '"0x8D759729B67A8C9"' + - '"0x8DA480E3694E568"' last-modified: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -123,13 +123,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D response: body: string: '' @@ -137,95 +142,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - 0jYr5WED3Ks= + - 9qHInDBZkjk= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - +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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -235,13 +240,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D response: body: string: '' @@ -249,95 +259,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - XqaVaRtV04Y= + - sGIjdSKmjNs= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -347,13 +357,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D response: body: string: '' @@ -361,95 +376,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - X4pkTp7uYvQ= + - dx0EDXVoJzo= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -459,13 +474,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D response: body: string: '' @@ -473,95 +493,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - I/y7b7uG1Oc= + - 30uZ3nse72U= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -571,13 +591,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D response: body: string: '' @@ -585,95 +610,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - 32JqSmWh5uQ= + - QFzyZQWqsJc= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -683,13 +708,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D response: body: string: '' @@ -697,95 +727,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - wb2Y+HYWpIE= + - l9nzxKxzf7c= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -795,13 +825,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D response: body: string: '' @@ -809,95 +844,95 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - 2/aYAVeflhY= + - nqUvHc+rjj0= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 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 headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -907,13 +942,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D response: body: string: '' @@ -921,24 +961,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - eThy/zyYuuU= + - K8pTLQiL4yE= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - WS2jTI3nEjpEPbxVZOfqLg== + jNKxwWQS/IhYLTysBZHMjw== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -948,13 +988,18 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D response: body: string: '' @@ -962,15 +1007,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - hynSaBWSGOM= + - HjH3RQ9ujNI= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -980,7 +1025,7 @@ interactions: TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==' headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -988,20 +1033,20 @@ interactions: Content-Length: - '791' Content-Type: - - application/xml; charset=utf-8 + - application/xml If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786?comp=blocklist response: @@ -1011,11 +1056,11 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -1023,7 +1068,7 @@ interactions: x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -1037,36 +1082,97 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '32784' + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:45:10 GMT + etag: + - '"0x8DA480E370941B2"' + last-modified: + - Mon, 06 Jun 2022 22:45:11 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:45:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - s5k/z2m+mWUfEWiHo+2a9JmjguLHXonGxMvM+7VHF962zuGVmKA8EwzEYcaEmz8xzN/prIRpaUTJ - IMbporzP33ebXvWOPrZivLVofPCda8OCryPh5b5oZl5AbE+0vnn6PwSksUjVG9qT7AQFga4sexgA - C4+acmDi7X2rGnte5hAiuii6W07lOJ2Vt+QQ0hOq7tX28ekIIQVxMaRT8BC7H+Nzm802h4C1RaId - WQsMgrgctKyL7GmsYMOADMS9z2wVpSZVZQaY6F0d2wGk/CD1rxRfnaK3eUR7p+vKwMQCdcdeoqdu - AnKMOBXCbVVcAEAkT+yl0RszPMzBF4CEfwfhAeyKQq8AQa8ObD06i9sqOCOGSPM20Ej0p/ybYMJs - jDDrOz3RxNRXYA/xmLtz/2Rk9KVDUou3k96SC6q932YYUjb9n1wnautpC1RsS8+D6pzlDRbSdVVC - AE+vZ55CL8h5b8sqzxIfkOhz7gIIroX21LPIsYr4eiV3SC7YzVmms/KfEObeVaShl6+P63ymlmgd - vTka0pECz0vpysmphxTi04v2PXm1dMHt4p59kvenQXP/DmhP443pf1OCkb8VJw/ehMEG34j0zGO+ - +MuIcAZPW+vFptWcfgQVERCwEhT2iQ5dGhDNYlQ9LW2DOOffBB5xvzqcEyKlV3QSXCBaC20u24Tp - 4TSKgOjAIi6f2dBaBuDuk0y1uj4v6DGDDWVwbQxzPLMcTWqvoSyz2qFnTlZTsL9crVg8L+0Qkpha - 8Hkm7Zvh3WOG78j1vlE4pq9oP4pDxkSDVA9CKEbQSLmFZ1SttEVa5waJZU6oBhYDK52T1ZIgnCsh - YY1ztyDw/Z1KmtUnKjOkcQXZR1UgoZZHwUMz4O6SGk5yFPMKRYKnlfMQF1xuvlyRwdwRLcjRUoEm - ExyZudGl3EhWtWLnVFvlQQqlEGiMoUhI4zsJg611VU/+Be78lxj6Qu+Dm0uysPRn8g3h47HpdFPq - khZoWCiYUW7vH89j47ttc9dO+bUsrJFf7AKVDr1RGtpuXW13ammZb4yP3xlK12GpTlgtw3bTBn3U - an0TQET8ZpWS79cZxOO7nY3YNfZPx4LmOsQBYYGUeMkqhp1yY8VA2QIBqZdHksw0/G3LvrLtdp/Z - o2qZhI/GnTUzCFqPuVM8J9/azvMIeeTMwgV83QzC4NmmWs0yRxbIWORF2Amt+pKfPULK0rAoO7N7 - 8jmk/gYVahSS/LYYspfzyJsAJ0Q/9ck/HlwURPB6iqxMW6ceIfU05yOtfqXOsiyK7uCDKL439Rp4 - tOTnCu0zOWSvv15UGJPl17epZC93WIsLl+/na7rc3TmlrKalzSSG1UvMVjZzjKmqON5e4B1MGA== + vwP1j2zChYeHKs0RWXi6ul2W8K9kdcRN9evIdAd09eiJLljhqvCfTck5FAPeNFZ4YLHAzGSxFtuy + buDHxga6Sfbu7KdbkCqtxHuTeYL55wpEfag1ubYoSNm6lFDmkSpiqDAfROE46HE4PBFsiKCAxu95 + B5vLePPss7G9GRO/mWp6KLTAsdJkDxxkJJocgYYsOuJ1lPAGoMEmNzWqjDuKqBeCutzHylCXaE8W + ZDzZwPwxFDiWisUh9MP8+ilyUuAZ8AJuoFIe/xluaHKQ9EVWGWU4fk6uCzW4nNW38+TLnT/HM4ff + 3KyyO/cTxqBMpzzOmRYEK9zZ2uWFmpsg9ttly8tcqXbBkhUxOgeFG8dGU3Uwfs2dGzgoymucUmir + c0G+8heUosRp6SoRnpQqEoFKU/5xAyW7SWqVQ/9fTnjh8/0S6yDtD9aLHwG1j5nCbdme2U3YBf9x + mtDIfkV6HwsCX0KIWqMr1m+amn6Oc8jVI0lKVD0YwomhhC6ZImKTKftOuERMNkLyGxTV4c42oYLM + 2j1THPYAvKG1lVvXGCFmlZBsVS+Iq5Meq2PcAQd3C2JvP4TdA6ig48eENpDPRcXWkwPwTswdMQpu + MuPBIwNv5wiuKOAsQQJjQJjp3OwH8e3BwmoZk7TUO7fotn6b08LCHP3dfEmpegpxtKenVMhXTByD + U+Ebr04FEbLT0aCeqYMGRj0LL9hImF6OzDx2TqBOkJxT7HF07LAHCTKKTn/2MkpAFxj/6n1yrrRY + lSblcWRUOBs4NS8+r15qINH6Xafh5n7Qz9z4uo8rZ5yUd+wn5Ud+X8pJPNx/K84jqGDwIgsV9Uhh + EqkmBMMeCaDy8juaEvHVkml9tkFzywbx5/LzQ7WuMMnmmdjrPxr/y16uiQI7vHbeRPQ3Cc48T5Lt + U2s53QH8bmMX77UxiyvbSwIHQhcALGsCV8yMcUOmTUQAOwZjq5MIhTQAgX1Qi44sPS/zTmC2Bmj1 + TGo9sSqUC6xVnBcbqaWGLw5yiG0EvjNwnQx4RRLWE4XmjOtIS/4+dTelLgGnoIJrnryvbYwUozHr + QWbiB/WtcOIinzxd/EvbCAAQP55oT89BGjo0LiLZhaneq4Ja7kd9QLd2d4HnocOUVKeiycSctTLa + iC6cclK1e1PzZehie1+cOsLlX05ZILEhzeZr59R5XpOUieDZsD/vud70r8zmP4a1qqN7wB4HKGNT + ETHA3SQWFHbaZmA5fpjHp5UrNchzLbBHldY7gQHkcSsU587ETtTOMM5LuFRhStlC4/tWuL0vhYWA + siXh+QEvyWyKQd+FtPlJkGQfdKxhrxVQni9+iC/BRSb/+8M+k2HnmhOMeJKRv1dhfn+LXA06rA== headers: accept-ranges: - bytes @@ -1077,30 +1183,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:10 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1114,39 +1222,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-range: - bytes=1008-2047 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - 1UvMVjZzjKmqON5e4B1MGI56y6f88oN5TQGCxCurxrSs9VzlQ/kAD4eCdB/SqD3B5wI7L1n6cRMD - RC6JdwuQZqLhAQT32jaO4ZxC10YQe7W9FCKVON4wEgMhdDsGTUiOumL4NtvCakrRipa5qgsSbR1k - HH1qtFr9tI3N/R1BU7xqvPrcVlyLpeApT21qY6eFq99MC2z/4ugc6KxPURsjntJ80sLlbmYF1ZYk - f1J1s4zDylq5MgQmvWOAv0I9rbtw/WPsP4TDYRMVp377HEGwDHRSBtbzDQKgrtV4ZtRg4ss9Yr/B - gVbW/0PLv/D1VLsdyztISIAAj8PwaNMbP28SYoAcNOVoLu81VlM9ybf0jUNI2iJoJ0UE2zajfCH/ - 9xS9AU9T8T3KODZo1E1HIYcETJtkU9uLwmHi8f+qqBocqJNQ4o32a/XGPEuKqsZwdR2RaB0FiZkH - QhH0nw4VFqNyePJ4ia4ouXpCMUf8meszBGfdziBEea16Uv0vrow4qRTjLIgd6/ANdTCwJaYBLE2+ - VDejWG6bMfPENkDyowfLc5PsJf7Xy5AZSwVInBraOKdalxNn9YoUZAdn7OxBvXQ2CFAWRi5TtXFu - 41glJwUPXUxpVoqC4M9EUMBE7KYGy2rwT6mX8M1evVF7zjPxz8xal/tN/24p311zWtW3gCdrYudc - PAHM2q0ELGLBWusk8BnoGSkb0diM9Ajq8tzlPAHgi4ljxxnf0t36FEx3Ek1l+E1L70JqCL79j5+Q - pMQy46zvqW5cyya6u88ka1G/UzgISTsBXg2QF+JEwb5e36tHMfxHZEuxnlxqRJ3oR5bgZzhSnKtf - MW6KHigXsipO4LoJyf/a0D1DSu8V1H2lhdI0u0N0dqg40qq1Ib/6ujTfeKgkxDX94UdfcC0ZwnfR - aCCQtBKCqWWVryAJAN89O5ZSMJsSp+cl5kF36dylsQ+QC86TqyQSlM8lr2Aziw5YkhaDQvDoHMb6 - qpbGuAx80LyQdzNM8B3NK8kGMPx4UZlML+czgrDnOufQyXB+8sDl67JYOzymU7ISAyTZE4t5Nenn - bXI+KmeWmRb/L4kZOPV/mHPdqIrtuwOeCveRyteFcncJjqG1wMt16gvScdlrU6UeylngMzdoyYUK - hWslIm3hNxbzDXxzOmavP2ZFrOnVfTsr6M6nPkIKtryATCy1ypijDTNUQ2dMerALr7cA8js7RLMx - vSt1FRedcrWOuULzLn7b/d3b8bcZiVQ43By/qObP2+N9ylA2BWMJd+mYH1K2reW6ImFX+trczMbC - 1yA8k3Y4tK6y8DLqf7pMCcb2VZC8i2GtshuNbUFYhGs/G670RBBG5w93ulqTagqI/zzBkanhV73a - YyEd2J5KYGOARf97oz0= + mhOMeJKRv1dhfn+LXA06rM6r1u8plW58glgV3t4YSYGWoqoQXsdP73BeKZhWzlH6iAgOn7CA6WWg + Lczk2BVl7+syAGYN013wexe63JXEBFlZJeZAKeZYW/nPGjyI78RKaRITVNN+N4jSVY2oxe5MyVMN + WEUl2eG4XY/rfEr51tWzRAddLVYR2+zSzu10T3P2uWIkIoi5YNx2O8v+C0V9jTYvJqYDHbHrbk/w + 9agvMb6yaUb1g2JnNtTFxFiKTXJtPk4vwDMbLLPhtclFZvkT4EO0KXtj2YwW45r9tnlT8Hr7+p+6 + oGhUK38rxVjbptJ4j3yaclVowDGDVbY43cyV02H+NLh5Op8ec9rhSl2LaDM3eAE0SQkSneJvLl0O + LYpuPT7ZfdKPiUe4I6Pz9hmk98pTL52HTOZJ5/q4HOZvc79G2drPJujUGjih6riTOdYdAO0HXuAc + k75Y4NY8/jKv+nQRxj/PcptFzxP3dLOLvysEXHn3Bt9m2Mn+p+8RQcPUQS4L7Y4jqM0APoqFab+l + o2aJ2RvWWSPuIMGzz65fHn0M9k7XKGUQI+/kBkkQ6VBwrVK19oF8HKtiyLabCWa5ETA2aSN1Q0fw + NK51olS7h+zKDOqAwCZ4bLyB1NBOMueglRqmU61Pa4k4d1nuAbC/jn8z+qO8gLsVhlLBaFgC9nre + CIXd+2qD8TAKV2jxc9mAJ6dtnw5jyU1ZJFkw/5jOEcuQBNCFN+rnYHwewmUjhq/MLAkGX76sKXmK + wGW7+PxFJ47UzIejO808oN5XpYkMIMcpx4Q82hXYIQU0Na2/QA8qr4VUQe52ywKFdYIlomfgiTSc + RPVuENjaiUqhqHl97PO0h3ibTuVYzErduqtGMIBCDLZmoBkTPRJWNQkxSUdiNppqItK7lfQQznEv + RZvfkjQTf7xKcSBuvTfw6b4ll9roaIYAmhLTVIEQT4ECwAMhK9cHlAzQ1ghGau01+rKH4DByN5/n + NT2GgtCmouOXBJUrE5RX81xYUP1wdxuzoJa5HM4WulFkMYDxTqfQexL4S+YO3MCMtt5oGvzBjJzb + ZHF/aPn2jaRCdXPMJLYrZ1a+KA12kr/WRUMO6J6QK9UojCN8TNGJAYtywy2vsPxQm8T/XCmEVL6a + cQHNunMXyiZiVkT1tM+WenydhqVJr77QrFw5x4UUyVqsENH2mMHf4eLCMctvsZ5+7v7JhQZ85C+q + zR8qsIKCJLAQz15ZdEnpCTO/rahnrva76LRPG1Z3CQdVTxqLCc+poGi6rlu34IaRD171D5sha7MP + Z3vCfqQk8fvCe7jN4v9jC2MbpOdGVW+TC3SVf25VqVo4jAYzadX3jL/vmpzO+toA+8s0i7a5cFDu + H04+G4nCdF0jkQKomFU= headers: accept-ranges: - bytes @@ -1157,30 +1265,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1194,39 +1304,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-range: - bytes=2032-3071 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - vdpjIR3YnkpgY4BF/3ujPeihy4AL+MsmaHdGIJcH8pQhKai7bU7BykVYGrvIv6EZovCVAHnhC7Z6 - oyvfYJYHu9M+mqabbZyrZ6XNVDBDhXUbkNFbAO1yyKRW4WJAEXbMkGe9PsHiID1NPJNreGmiRGy/ - 2qspOSyl4eu9JfTd8jr7B57wuwtU2RoXht6pMTVsPMFDPBQFu4+dCF+nLLmYqd/GAKcPrMfGxGQB - cJCzkANxFFouN2O8ZjXrd1KP7OuVHTUjsFXZT25T8cie+/Q4cEn6dqNWcvXuEH9g5nftFyXHo6WJ - Nr1tfXEx+3AsJtJa1XEEkvk8dL7YmHqib4bhrPrh/Ci7D2U4FbDYlbdgR2KrfhZfQXK7HtZhELFl - XDSVoDWh8bohiifqrOITzB2Jo8C1jLvfdwRsApmtpMtGeAsIoWoffHUjWqYfsrOnDlxkeD+Ddebw - qIhN8j1rQ7/v94cOX7a7a8wvipPHALyaZ5MYz5oR/HmXVgmc9raml7p4WPntqKVReIlZUe7O/aeo - 2TzbWTxfVhU0RtbGyHbnPhJMdJ2nVL9RsUF3tv0m1mDRDRcqEqCtNttlkP3f27TbLGpo8BuAs2+z - FOZLM7RPwiTBMx8pIcU7+aCyii9SwayLLMYo0kX+ThTvtt9Hg5zzRFw/nZFHzrR4cs9zdUpri274 - qNbj/ejuZLZYISEMjWLJO9ECCxh59Bpv16Nk8bAo1SYgIS4oowewWmBAufrQ6KWbA68fNdCQ9Kyq - 1+xRC4z0nXDS4SXjM3OvAeSCvHH7C2Z/beojD82NDHrabew0Fl8SgY9dWsQZTvUfLjHVshH54mAS - ZYs4yr5wi/+gYhSbOqTICTRBAwqjTm3xffltooMj2ODMg+1KStrEJhduawuFFaO5ytyz+FzOjtyJ - UvcsGYpBdpdi0q9mn8lPge2ez0+CNNu5n4Jc4NVPHRqJgPMninTgAOcTmbfBDNAQtObol4fiBRa8 - HFvz+ogotwQS2I32Nc88iJxv6zp9/gb0NVcDys5TTpO2bT8MQeA+lHXBgr6BBL82DjQ4CawlgEdi - rQdIER0xopAqYlmLobzP8oL/DdzfWoAQlyeJslP0SrK/fwU4/5CxXrlcdxZSbFoQt0g1xaDENYsQ - 34kMyU3KCQpEiKIjzS5VGss3ASc7M3vU0eIJhAGL+ATedJ193DvqZYLhbfY5UuIA2c34r1g5wXr5 - TREz5zSO9T9u3aAw77aq31xBwKJQ3IwfEEFj6tmp+YWlCX1y+PZyTh0TVm1OG8KqRx+Z6yAwso4l - pDoXdpfHeS8mBDRLjYy0rEr7ik/qA6BO8Wa3iyitE3ZM2z1vl6Rl8jzg15NQ4Ds6erD95nUEME5z - RKtAiA0mQB5Ffmwy5K4= + UO4fTj4bicJ0XSORAqiYVafomZFGLIAWD/gkhGFcpWP34q0Ee5pQEkPK39IXY0oWtvvVZboWFdvi + U5VtKqFMAcBrwf7C8RCfXsr/NgPPnAJonLkFN0tSOskqAoEKlvrq2oUzxJ/TGROeU4CLrusP1sKD + Ptn5t52N4UfWE0DscMl7xyY2rkmjdz/qDgKWXBXvfMrAjsu1De+gJFeoBsXpMwjW7DFcwJ64IyO+ + 2gHF1k2ZvwbZiQBucSpC3dt1+IVBdVBZcVRu1J0UE6mYaerWnT/z7wVqF9NmzAwf6FB3xy7SFY6k + AHg6Rm026a9QhuApTJ89tbao5t09jDBXnzHkOZbmBhJN8YKM21OmFwT38v13RB1tJt7Ypea1ErlB + xcoupixkJ/+2F/ZgUFu9eJe4zbLAdbZxbTD3KdG4onZgFpTK/fGDj1BMIDgjimJOcIRQgAnMpqz9 + 1Q3uXytEcU4pwvxI+xHs2J0iCDqpsEHuQ5zyT82vulxep6/M9F9LI59sT7MmT4op/9S6Gc//IbCG + MdbelHmXgaTliFivt5qeWTToJ/xuSWF2b6QHGcdjzbAQYGosVoQ3Y5s4lJvdc1hxv0t7a8ieoPj8 + MPwZsVopNIX8dJSWiT5/8keiAfWGuCc2g+sctKeAsY/rCV3b7p0R6yZY8kIdVMOiuWSY5OERWItx + 8SPqiGYP0u322KM3eFxDdRW8BueuOge1LHhr+/cdXt7l1+/0nN/E4MUTk74ODV9iH2BIRCFH9WIt + oAPsvfqw2m19vvO1yHGVteVMLBqB2m+G0vAMSVu9XJ/+Tk77c0XKhpX0zsvWRUwP98dc1awzP2FS + 0AZFELHAxppCak1hJn+RSNUvIwEwyyMLO2W4dN2ijbwJy2SlLWmo+NQPpWsiNtPdLLG9NshzkwCE + JJAHZJZqRmA3rgNH/Nyb9FW8hJJfDkr/jB7qN5YOmrQFIxLG+57a2DmhEC4fkoC2Pru+BlJaIf4d + X0JH6E+ZINHQWtoZrCML52F95Id849gGhrSYHjUQC8f/LmUcrQoStDleY91OYK2RQODGZ/kQ19Rf + q00xZESPiTmvFUmxDHbL7HqKVb3IcIOE1a1Mb2zN+vu/S+KQ6HHmwB4MqgH8rNiPq6/4Lj46lgMY + cBbkeNlNN8RmbNnUr5U+/BtCw2SnGKatrd+Iv86e6p8gh6lGWsN7CVUA0iwZ0ygKtYVOpEfYr+Mu + dgn/p6OfvSI5XKsyVK/zc22cumQ7GOals3uZVa96pw+y/DwbGTdMDAzmWS7T022pX/VCultOjHus + K6YqieyYCg2B8zbUwosknCOfJIcxM89YY/LAfv4aswa6piEyJu76mv61JU+QUmFu7viAm3yYRi6b + iZi0rnKHplwpjftcUkU= headers: accept-ranges: - bytes @@ -1237,30 +1347,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1274,39 +1386,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-range: - bytes=3056-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - TnNEq0CIDSZAHkV+bDLkrrSbLRiZxEXtplLNAyOPmb84AQSvUYQ+ehxW1ELS3lKCuoq/GjZY8MYZ - k+5vcud62ShYZGzhBStltq+QgjrueBS5K+ML4+ixRVjFwxHrn8jE2SB73eHOFUDJ2F1RBDi/Oef3 - gf+4knWbyaafw/yPgeSf1EECX1r+nHfo/kGWNU0hUKFZah3XwauU62vdUpg8CxN36AfAzSY9mQvQ - C1ip2RQuZecgYK4+xlwzLXWEYphH6YAHh+E2Ab2bMGnzQ7KsI++8QilWvNWYWkQZl65ISdZc1ksU - 9jCKqv4kpFFhqckGabdsaPzgLCa1yH5dkj5O1Hf8KtELsVjI4dQTGEilgLRpT1cBaXxzw1yo0EJR - BatQmk66E5bbeZ6p0pdEH3f+5jDuVrs4SLB7G/eH/Wu2FdbxRD2KMhPfggRmvrvjIIWbHo5DukWZ - UcWq+O2BoZGI2up4qhL+IYoBBMEvuFAmvjy5OqOpqMJJ2zX8dGLtA/42KLmTgUTMVvnYCHMXhdlf - weLKo3YAgO0SIvdla0BPtUibjS73ek8mFlgN3JkqElEaGaRTxZoj+8mMN8G/XRNbTvg/lXqSg9az - waQZQUjgsnfh0XeMYCaDQ42P1IbROKyh6RaUVVhcZrt2fJaIowMlTYCkheNTUAC+iN3hD7xME99/ - b5SChOLgf7aYj+66DBCJ1dDsHhk7nYS6TNwCiO+7xKBijcTRUqayIp40hqDohiDQTUoWaTv8yZes - gYCFd0D2ingQWdhTFtD9gIXaT+F27hnmNAQMTbXfYj3Uj+973o3vtSsKlkwC0tnaT1oHf5umQe3A - E7G4ifLWFGHD3pNytnQ+YYdELh26k7D4Xa9dc50renn6GbZHdNxY8l8yGY1FYgJZDBR5VABei1AJ - dyrLttQwDFQEWj2aJp+29iq2A4dRMzBT7tkAlCepiSJqRriWuJ+4gVRvgPaLI4jp6RKOtKzTBh3a - AuWXitqzzGragkZuhNobjmN2garDr/vt6OKuA7FQ8x6ZJ9ZLvDsEi1/Ux0+xnWf0Ku+hrZzQmVfu - OUX/ddrlEedyqQqa8WFP2PvMyoyfH0YLHCopUbmAlGd/RA8wvRc5S9+R/P2t12P0CwvOFoQ5fEUJ - ClMO2EXMQV8aExvbJ2FUm6QFmoR7fe0q2QoCHZtZ9OXHxHdTKWZwD4qnCqMhGqRNvx2B621wHel7 - hC6JAYS4AQ2dnzOCRg64rWvzMhdU2319sTMpn+3RPcnyM18eQ73lmxnrnO+lSt1T71gq8QZK493j - +DT7Cwf6OMHnpwzS/vweidc64jMFCStVWSpc0lWGi2KvQ9oukpXoVXbe++SAl7trwUtb39IUr00u - JFafusEnorKAvXiN7N0= + LpuJmLSucoemXCmN+1xSReg5nwGuHAw/ZLDRqgb718U7wcNn1JAzyHnyMBY/WMPV3PFNOF0csXlt + 1+rqC4L7i2RvoAWWQIB6dmoJJNLS2mu4YGUxjT/ylDR017Ngj+7DmXUQ2o69dshr749LRNYTnEAa + PhBVY+E8xZarp2YO352S+xJGyJxSi7uIai40kIS+euMvmYNyNEFujBqW5NaDIDyf0nbCYZ1jWidB + 7+8r+ICBQFNzVIXKhOGTj54K2g5SyAVu+Xw5T5Gh7ILw6szMHFY2QjsB9Qbe6uoFSjhGLwFN65kz + +CRJ1uj0wBynoWyYsLcOlP9sHF8ISY+kMxRXHafY2hwHGen2OtmGrngvvp6wTx0XYC/mxHUGTXpO + So3L3R4R8+jl+Mp48tWPy9DJA/ckD+LJUDU21Qf9g9ppEcHnF4gkoUaCmAu57NHPhLGX88iFt423 + zgl+NWJp8TfrCrgvcccUao69jFS2KaaoD3ITzBvw2+RTOrR0XzYKE7bdTsoz9flkfr39XiR7lz93 + Yos8fRTjBRKMQ0EKfbDDWw+8JBL4YshKugHDJbJtwVdT04pvozDEDrbnFImAvD/hoS7tNGSGYWPf + QghhhuXHIh6vTT8ZFxLEEyYInlpPVC752iSCOd9REdOnCeW1/zyQo53gCzhVfH4S5HUp5PPqDAwk + E/iVSb5nht2fFmh+n5jEcxEnmOibYdeko8JpOu3CkCwwb0lPuV6XaZR0hg2ywpXdKU/ScI+DqdbJ + MBYbua6lFOgy1mFRqOxQmAXQQOZcgwiT6RLbPvCB1xAZpGPGvlN+XFcveFFgS8KOhbcGS1pqdfEF + sXgNewAkAp6HiQw912wP1tiC+qou2l9Bw8MLb1fIsrvXfIFS2pY7xYkpI6+YbUxplnZQeDLqAqjR + 9CwMQ+dX3NmcjlM+G0+kRVYWhH4uHyLGfOFZ2tlbLdIrfjlIMQkfHRaUy7Pp7qq4NMu6ZkBW5TC2 + E72eM0ruNwx+GhU9DO/BBeV/I3FfaJH6kTbKf7DBgoiV7UTMydPPnVUJaqFqcLEZiLhDm2JHh8NY + smvvGBw0mBNT6zEd83kQKSxzH4l58x8LO3S2C8KMuAqlAdA/ETz5RqKpKSOg0mCfFYPbEvpbH45o + qrlVS6rCRQHr919gSG8XDu1w7iOs9hCqtRkxwS9TwW8ap10SRGZhUusWAFRh2unCsfmsiTOrxhZJ + HpOoPg7Bx84ZGOtc6STiLtARlmkUH3MkWK7rVaVqVRwJ02dCsUHHnQBAXZLucECuuypUN2pxR6d0 + eYAzizHncd4JUeLnEF/xOKPxRRZqBIYrnpQbqAncIndnkskiOXcCCmCrQO14wUeHnUgM/wD0b4cY + gX8OK/D0HlVgFFdI6e8= headers: accept-ranges: - bytes @@ -1317,30 +1429,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1354,39 +1468,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=4080-5119 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - TS4kVp+6wSeisoC9eI3s3fn12vWO0M0mIaJtRCu0doSvQz0vNTVPbMCMqqG4uRYQeJk7m4uJbyAQ - Yp0IdbXoPOqXd7reX4P0AHPMEK6TXXziVUhGKPt37X9AYOCgr9oOvCmABTLBd5s6/krLPTR4qUc0 - imqRDD5MhMKPwM7UKvEF1qYU7kk07x+pz7q6mHONYTd1AqRlUOiAQnFwqgqXgbFpsULckbZBLkwd - b66iL/GYMrZUQ8Oq071LWm2Dqd/nhtaKq2UqhHN34u5O/hjN0fhohO2aDaS3gwex3/0oXq++aSMj - 9zkBACzAUx9RTC77Ks6mhTaE8RtSULmMhU0w5w/xVwM7u7TcatRTEldUTBLDkzVom1/qKPubpPlJ - dPIr+KrNymF3AWY9GTuS4WpC59O3OvVI1GZguVoQRxp8OWoYoCe27Uttr98vS0+flOAge01KcZ8n - 1V2PCJDWKwODil9GgvKAwNFSRQHCfjsw6XXFb7mXe65VI144SV4AswQDh8aDHeb3RLMEv9VIy5Mh - evWddl25QyStgOAETNDxBAF3eheodjpvHcP9A8GTtkvhQGZzZXZ4qUhJO32j7iMAGmDWcRMKc7FN - ZyUbUxVZ5MLmK6rVFwhn6NEBDE9A71XIMXZqQboZxPDHSD+QawwfT5S4ucGo+iL79dJdMipJj1CF - C6hk4o6oVFhc7rGKfl4Z8gXsMcAt/G9Ax2CWfHc64RoI6uLYEEPlKt3q90GrWncAHRxbKXwkYMfQ - 69j6DMfNG8EJnG5Bo5oncwPCRCEgb0sj6qxfCsIjZ8sZRRV7FJovetmozxzQPSgkctn8F4TEEgEX - 3D5h4gx+WaE/YVO8D6Y+ZYs5V2ULE9O7/ly5kT+p/x6mKK9zf8G2/RztsJ9JkHc/5U1Wx2qh6mXe - YgAegAkh9hvpB6vmtL4+NadOvkB+BNd7b8IPPOSunKQfixeIPdns3ZyAsQ3e3hm9fBJvtXNNnrwT - aO5lTaT0hBm24XpQAwUr6y5nxr8p/QHg3+B9KvJMZAP33gqhpVOTeJZ16cE1SzIWqvAjlh38uy02 - aC1q7J45gTOztd4spHxgRz3MX3Fj5ppwqjkST8TvOnnG3s8GJPPSOFaYCgd6feQ0UstcZpzCC8vg - QoJFw8Im3RsxSxmjA9a1X088nuwOLRKpPAtgnydIPXjAZioShukWgztErSU8bXbNf7w66ZdQBYNt - EdjKB+Bn/MF2toveTBLXXtoDFQZoKBiOqqwvRhCVqjGvHN3MXF89Cn1jkA/CgMCEc+wZKjGuH8xW - XFzWTutFMI4xCddSnhE1+z2DSZXfDa4lpGu/adeH2BjqS2hPi2hBIUgxH1Z7Q3Sb9vcYUDNNGl7C - QAreWWN9IfNopq4po/w= + hxiBfw4r8PQeVWAUV0jp78SNQfXPgts4ihIIcOJyCAdYuqz9AOkjCKD2mgxYR+opY9Pn0Bycsd0a + i4eD08Oznj3JpgF1kFBdI2uMf8skDKtrWrBXkqed/Y/owAvAcKT+ngBNOPodiTtgptOREjWE2RF6 + rP7IXeH6SfS9Z9LKh5Rhrv0i5JWtMXfmQjrGMCErQxgP68zve7x5hCY5h8rs9AcAwohgxz8eEzpg + d+bI/XDeV/w3xZXDw2GsbC+wwhGmzso3b0WjLjRUh2gwlLtIEYNkTB8BcGkDEZwkS+H4FeEpz/a2 + Uo78zG/+KmGrWlUHlDeOnB9FxSd37c3ljJYThMw2z3hpIq1SDI+qrPGGaBqjKgG8Fe2cC4fTZmq8 + mdJOK3JNFuVBiX6Pvp++b1xyiOn9yDTWmRLNo+2qco7dO+X8AAsu54trGps8stQc1Mfvjfm3FH3I + wjCuDqxp146tB+K2YWAJJ7naWaSAcIZuD/CLa1IRPrRIP1RUCf2XVx7L+9v3RlSQutCxGmLYspA9 + JrZ0xgDWuveYdrlEbQ3ZVv9feaovOXsZE+D2biRVypt1ItDUICQucbTDYTXJK40bZVTRYk56fUJT + sKffjNne5yjs3SdaZHM8Aoa4lDiT1F0sR4R6ZUuKqqbo+hg6WTBAIVUn0r3J+sgWSiamiUX3BxGb + 1v7FPqRhLe3IbLqiahX0VQ7Vvn33aPLF0CD8TZuvlqMkvvi2bwGpBh50nKqSP5wnthLNaOt37xnD + fCSePmR9x2AEBH7vXsUrrWWi/MBTc9Zt2oN7Bh98qurCg79AWLk4hnqRtXpVA+Hl+6yXSZwYU3vT + Ted1IZZBYBEL5AA0kulj/Bugy4W6cvQFZJxa2tmvKK9MD4QfE3F+B5ynSSO/IDsVECjEsIfJbkrR + Bl1k7/mv4XPyGsw5MM0bMzqN8O6Fnor3tJD1VFeRX52UCQ20p6ak7u1yR6+DNbMxYnZ0geU9p57p + Zd9f87yOJPKsoPbEyaF7SbNqKmqnveJWHlBCyeZ2nUpVIr6b0qsmwEu0zG3cUA8f8kfUjp128AF/ + EmvgV1m8oj06VGpDUMNJpVQpY4/biyEggKs94So/Oo16v5GV/fbEBeRTcsaQ2tDGi8FIk+C0k77o + Dkxxs73XEaTn55IOkSutEwqdl/aoEgobjzCt/pQ8T/MBAmez5tzvuVgQ2QTA3z6BlfU57JrpOdcb + pxr6cchxpGyxZ7NrsGDM6yKY8NqbjYxgXEndSYyrgWReNClMEYdMqE05zbhN2uy4JEF8KNMUO7NQ + vXuGhzPNP1l1Q3Io5/aMm8Nw5Dm/PSFhcZ7LYtrJfWMpcPy0aY/Sows/uhSu6krQEGimvX7qZRm5 + AWjBbMWn+kq/Xu2u2ak= headers: accept-ranges: - bytes @@ -1397,30 +1511,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1434,39 +1550,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=5104-6143 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - XsJACt5ZY30h82imrimj/HJdOnskJhhjz6nhMEkJZAH4Ig9NFcnLllZBVnKRCPxYZDVijv95yDyj - 13yY826lttKJ2+uX/4bXIOIpNL6nD1bS46JnSAmjEOCLUDRZw4XyoBAouGwD7O0fTfZl0NL46uOT - jLIaJ8jdU4XFsbWWQ/9oZF+xDP+pyN6NBRZ8xrI0GjXYRssVAXTRt3w9+NPm8NLMcKW+HSta0eey - SHAul/HWg/VWpuIW0HWqouWNtkNcseGsvOLPBPldaPGG8vQhE571VFsmX115FFoGJRtzrApMM/69 - 3IUZfeMRyL6RWD4iRB/kApNKZTD4T0O8cMqtBAZBmGEb1otUTQgmmZv9koMSEkT342/IZGb71MKk - zIaW9pY151G8IHTNS28DklLtk4OzrE39y8N23aOInyjLjs20p0Qn9EkzjQfRt0TaE2oqpuBMg00d - vJZgG46BLe9IFL4wzGnvbvy1ud4MDCvcTYPyqqsrqojB6ybMg3pNv+faxV9mscV2LjRUBB1isWqf - /40lmIet9c0JdUkqJTBh9b5aTMhbzs5n6cRSfaplhBDMkfc4JfbirJTFeF19Y5eNujZkVoykhVca - w7xkgNj+vnagQlob0HlS+RmR+3dUcmUetbYBl3A6I7yIiL3oO0q+AQtePflt6o5g/n4w57/sjZx4 - 8bnZtePBvIVijdDMSz7//KrUTanquSIbUeyCMd9Rig33DQPakPmSDP/Gqp9u2NuuaU1fp8Hu6z4c - OdlQx2dHiQcs/fXoBh96Wz9O8HcPNgo9fMsTpXesfc7yXvdnnLaknFwfxdq1v7Va1pVr9OJ66gru - TqFWH+IWhOqsoS5hdGrbJc43PTQrxtVfb0sDUWQfj4D6CdUTP6HIDvCVAvv3OAAoqYmOHUekunRV - 91othWwt2locArzpcqC7ISOtDxP7YN64RBy7OBRtFCCvFvyvJs9JdgJJLTeJ12nj5yjgu/V1f2pz - i6Dk+MCmgz2B3TqQvAQUo0HicjHqKZ9bcUzyRr5SwTWl7jBhT/FBpmWom9r66LhhejZcIcpksEnY - Sccm75vE6Y5TbcYaG5UyGZZPWiORxtHGShwpJPOyXdKalmUWZS0XtHKSgA0MJv0bE0q/OrDe+HTz - KSVpJiIxBUtOMomW6eH3nsvMLj2xMes1mttatmmfA73bPIF6flFRSivzYLsbzz7RC3FQOd7fOEmE - kQ7PjGxUF0YLbMWJ21z2tRbegd0LBhs2scu5u03jcAZ63nZOoHZfgnMlLHRBD63twqfimsCPZFVc - Buue+TkCa/hCXJ7mxJ592BHhK7hnPaPy1zGKYw+6ASBN54V6CfZ1Ro7yXMhslli2nlNGaA9wYNgW - 8kQw9wwZqhPwPDj597o= + GbkBaMFsxaf6Sr9e7a7ZqRMXj0SGWTyNjWNPjVFWJ3fx43FBy/Ge7x3wqf0D2AWwAuiIycgJNMGd + FXTglHEHMMd5B0klgiFjmCuo6E8W5EAFsEKXiBsyYJXV2GHbeJJjbdEMKScHbxK1qzm7BSW2aVix + dwLHu9hRcykkL/kE4NEObjGStU2pKABuOZ9waPjBr6ULBEJVI45Gaph71hTr4LeFA48ciqtF2m2c + ABT+UzzN9cA36LrDRoJT2ZupEy0m+cry7G93fQX9AGk9Ic/rGn044cQ7tEqtT/TslDghTxZojmyD + iEeryvmfH7JnGiExExPNinnUMHmcEzlQs+zPGuLh7BrHDVuRdFYP7qv/L31HEcAoKqaISP8mu0Vx + kYPKskiJ7WOBDjpZ8a7A90Pp1pbxz2S3M+xkgcM28YOENadkynOnnl32GAZTfs4EFYKgt31BNpmN + 38NoIQIu6BBjtCpcpiMAGldpcHP8s3kcOjS3txUDNgTaUBtn85FndhofV7wsKKs6jBnAt82F+Ann + 2p79u0WMawlok54GxMTN4R+3OtVp7kkeO92HOzSSN2saAVs3ID1kKzymP+mhlPpqPEnf+WMrz2ig + UAQBl9hXWPeAiY+QoOw6m13KyCreTCx1J9RyiHEpEzhMTzz2wAniv3wSCGHRFTYD2q2IebVE97aE + L/aLBA0qexta8L7V4SJ8Z31TFR/1znYFVBysG03YY9i1MVCQO+dGosNggm1inwkuHoOMjKLuyfl1 + +UiVjsmEeougzP6lQ/dbZvSVCUP7UvzsP7A6qa6tEt5jAzN9jVbgjhHrdYXtkCLE51Mz0jHpvgHQ + L8izNXVkQ2K7APdir6QJBwVYbulqnZ5+bpw1cLnDh1rieRYE+KGY3JeyYBeeD7H6OQn7wfbcNKM6 + UHV6BN35cB+RsDssG9wcQxMrcMlquy5DoBIknGv7WgmBIqKJNMF6KeQ55L3gXQDXC2kYpB/2wtAX + 6mq8Qan7KoCv4rteNiBKDG0MyQXsfRDyWvOptbefxU6YzGXBnnnovBRGxp6xamcoQ/0U4usBtd9p + KbKW1J+b1JYS6DInwFXaEVNB/Ajl9m9zwtJnBHAeft0Zx3Tg7ptqEeZ7tJppnRNTYCympmWHe7zG + lL5c6aUtjgCXv6g6Kr9CJMzrCzMkTURz26+3kRvxGtGZs2oKY8Aqo98AkX6VoWAU0qGS6l52l8gY + jQqH6nzoAPCUeoHENk8DXC3aJttP82CTIxhijXfrn+Hf+a5hpK2QGq6i1PqAUeNWwnw50zHz4woC + I3qy5V6DJB4jXx/XpdzE8Usbv+i4Q1mIeECaJ15PRV0T8QHroMc4wO6gnxYM1PMZjqrnhf2D4wy/ + UWUuUstwHekGUht+qYw= headers: accept-ranges: - bytes @@ -1477,30 +1593,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1514,39 +1632,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=6128-7167 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - 2BbyRDD3DBmqE/A8OPn3ujJZuBljUL4Z0lX55aJNpTEdvVYJuYS5HNTts/NrMMKOSPbFrRSdf0Ai - XtJicZCPs00C5qgq+G1aODQsK+Sic/r1OmaHTUpYap1Er1GFSeByq+2Ir+Pep5B5Way9F7UvTCsU - tXcS3q8t2OwI1b7cOvRT2eAqIE4eXfmEAlfynFDoSZ7DG5hBOtrLRZJnnRfwUBgC+IfliEHTDtK8 - guaVG/8omHW6stBJvZX+pQx/JLNw8+t5b3T08kJ+hUbfUOSvJ4xYXVaMDzrRyzfltMqr3vh30L1c - YZbVfU2sbNzPRoNlaTZ9l3Z3RSzadClzDTf+6ESbK1sC0UjizwUBiKIsKoyexu5l4rOb2BWFm2n0 - vYLfV78ElKDvdVDg/ERgFP3rJwsH9575Ao0Nu9Sgwc8kXSzLbOW81JVYYyUIjngw7ZmlyXKjDiOo - 2t+90BYhGnGCcHKW5VtcLkIGGWqVjaI70+ts9BYCEid76tUzfu2iyzykaYk8NwLZ2t1MmmMJB/Tp - nxRfX3BVkzcTWVxUhgJJCKIaXYf3CpusuIOp9cZrw2+JtPIQnC4rpolPZS5ip6S3R+3blzxsnyMT - c9GDcwK9rDj7CeSTybR8+qAi0v5Be1r/Du39H6ESYw7x3iySLDBjNHAxe8e2AjzlF76fJdB++BDM - sPq/zfq8rE2YGiG2CdEah3EQ/Lzp83bJ4kf0i826AUQvQTgtxGpZbJ6goDh4SxH5ZV524aMBpDc1 - zYoXWB5U1rDMy9hIOCM5IC9VimrL6temKTnSxpjfQlZgqPgq8NXQRQyE3H5o6A58VsER8r7IF1rR - jq19TnYgfcoYDeemCBrs8SKNGhTJtlOCGYm5CmjuV7b2tQ9rKIGtepA4CaFGMNxb3pjdOxcSZ5p3 - +zhnikUOpvnmnpPcgUr42hdsgr+4jrKutPkj/t3/EV2mpb4aR+yzZqktQcBCCA2hNhRtAaN6a0eF - iF07WemRRUFAscdYQuZzE4wPacsbjEF/IwVzAp1jmvcnFrhcKcCiFtLyTZ5NVI43k4f0mh1aopy9 - 64ZCDH6kpa+P3A/Cyc59z0AeUI6YKapyKaDZFsl/Zu9/datbAeR+G4aR+SPtSbftkuibn26Gfvbb - 4dLQsMl1TFNH8TMnUSwyTsREqruiM8Yc84epFnL2y1JcMmkVQYWZ9UHCXE+pXn83Ncg7M+cyJPwl - VwnOxaLRSRp840sgrZFp5x3lgOMC9ZH3rYuHHqP4CP/Y68g/i2ByoZK3qWvZEGDPFPbHN7ts8qzZ - h751vhW7Z6YWs37/woBtN/inYPRF8GgVo+x66gtqFIxskVhLMgg4jmqwEDte99mHo2upv0rzimOA - +HfN9GgYmykEQVu6GMc= + DL9RZS5Sy3Ad6QZSG36pjLoN+xTIqR9THzcN5heS7h7rw28Y7B+vWfsG7PSmfISgEqCue058fn/5 + ha8/sc7u/iszo4EGQOjopgGmWBvwzn9Cb5/w5vwx+X9gbwVMlDJBmkzOLBtEH6/m6uh2/NcJJniM + zuGTUDwrbmTjNQLm03U0TaPSUB5B4IsjtvsPjDy9EQyAfMEQimBNmIofkUTzTULTsu9uDH77fZKR + pAlNMnKi8rwtU3TJVpOxhfLnoICnhOsH3niodIKVB5umpiioS1kMAi929qLmEYFR5Bx+L25X1lIg + Ap6iJKCs5WUen+ZZ6e2ZwfK/b3msn381dgMTYcvfwZLaqhl1/BXpzsfkmTkQY7KKbtYAz/qFsvRv + QglEM9n/Yw6xOmfhTMpobQineksJraanHvpuL1NNAYkH/HpuS22BEMvrrf32Du+ZMCB7cWq55xFq + 8+vZ6wC4UDDMmjI1Jm1G0/4upIZiBLFfkx7aE4kvw1LoKCyV+/yyYLO4hx+o/ooeW88okGB3PeCn + IPF3CuXlLAOaNxmbIk4cVvqjs1Y1fNZSV7Jf7+OVEjPNUpZqJJ01bChiypsXzJ88Bleh3OilA1b2 + ugMZD50lokYNs8h0M+4uH7+657bYy0x+pgR5Evj4o800mMF8HeArN2FCVoEjI8EfdpD+P9TpyxjG + uAsMTKwjTSkh9hiFJuK5zrkkhDn74vr5BcMOWUDu91gD2+f3P6Stc8ChQGRndEzUPA0QcHSOCCPQ + hJfSCaPJnRv8oG+hzQZdRLQwD+ejy6GUXduvvM6qrxlUn7AldJVKa40hO0piyAWC6EVTbFbF3Py/ + 3mSMYlpvtdOIkaBeF7UO4TlChTHv/iesbnl77GzIi4iDIvXloRmye+/PbSyJzgI43S56VvpXCYj2 + UmcPJ0dgXiyAJidwCCoAsM9eSMSXbOcuUuRg1X65+DEVSXfJ6bO5sIkUD5xPSlDIdvi5WfVCLHQt + +TnK9KUNwxTywhLQ3PtFrLNrw8U092uYPc8NqoH8TT45uJeMUFtK7QfcI4rWtdIyUWQ6kRWNQKSi + esAOGwXj3OSv4IUlcjlkGngH8NT50x/OMoCfWM2JdSfkwVRR4vfrlWJ4S3iF6bPsAELFQ/GDezZN + M1OJVvWSTFPYNph1sN+I4TzVNmmX6k93geSm88QmcwJhelTtCIS55QVrZdo5EphHIzCUE2KVndri + hwEXTPMDYHMm+WAgTa+EbBb4CpyxWEMnbqt1teNZODDEjH0KRZ2bHZutkLATrabwiMdk+ApIpVWa + WbI3DPCTDjM5jEfd/HoWiV2L1r0rDnFk1DePxpxS93JnHioa3uFR79EU7zzX6mljCYiFC2umIIl1 + EMjIG1EIWPYprzHrLWI= headers: accept-ranges: - bytes @@ -1557,30 +1675,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1594,39 +1714,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=7152-8191 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - Y4D4d830aBibKQRBW7oYx48uXZZzgLIfJ1l3Qc8eS+EoL2/tngYOnZxGnUok5Q/ZO5B7hePFEF6Z - O6KU+kCfbRZF1+sMFmwd80wFOvwkbx4+/4GlEHx9T/20x2u1CD4Kmxl8LxSUA35B9TUTzrKHor1S - 66eP6FVvMcwf7nmZqMC0/fN2C6/2ezvpdgiGTXve+E9Xx62ZAuUkoQ6Aqk8j+Lura9OBEeST31zu - puE4Wol8KTswzJT/xAOooQCI+vw1zNHstJD+0DVi+9o+j2XnEPsHf+ml+syJbb8ZXeU0Yf6XKYmq - 7QempMvAJaQZQ21YBIO4eV9JFneRHBGiiP+HnGngnhl/eGeK7cjazC3MEeYVzuq3cpbZPbag2R9u - 0NFmJTRcyGU28tUL7M/y76z/rDNCQXfVPAZgpEUk6QbAFXyzPbRPGR43ae8klCX0gS5L+cOaUwra - sXp3S2MlDWmZjRKYQvrH+pgbx91/1tJIo0b14kT4XL70OBNVyYGxOPKIpWS88U1GTZgE7L/qn74j - eBZERr/fgL4pd4qrOPGKlZNWBarAcIAOSTp4CHAs8kEax+zIN8d35dyx/TerFguRttf6ySDjNXwX - LfJYwo7h8lVG3vhWO4ZE8ZrtVGee7EMO4nBluojgZ4k5+LOz+0A00zClCb9jrVW06AMFrOy30WEn - MN2dLfIV8IVV9foE8SOBJLVsHNXaRzaVTAKWG9hLrnT+60Iaga4/NH5vBZADpalea0gZzgEh3qCM - NTDTJ4Y9wtTptkbiEXFZEyW67Uk20bSv4yFhUT0AeVmmimPUhns9yWbWBW818YkkNJavQXeQNKUd - 3BDAhWm4zmLOsiidKlgV/HVnNzrUgSj/r8Sp0oqrd5r/wLrh2DWAUVMqUy45GfhFX7AkANBHoiIf - tEJkRFlBkgB7L0fCXfP4IFT77lqbjDLJEEPqUlVVe9L7dUqSa4+nSrW+dJRksW5d+pHcv4GBqrOI - tMEc423aO/VJAlrPekWtLtyDcg/iaK84Vussne/MJTDxcHif4FmM6v/IVIKG6UMa4jyGvWdy4Szm - DyT6jJDiXrk1fNn6Y95LuHaXuvpb4gMaazF20oW6wnCnxpwkVLdt9vV3PdJQVrEy+AzLNFXrmfFZ - AbGIh4vIZVwEoeJkkHhDBJV8F/cNoHJQwud+iglX6CsOljmHw49vcNTRNo71+VBpmnt3/Klqd2Fs - UbXCKxOtWKvC/EdXz8MANj/jyIOipgsA6fmybGecbFC/ofWtLfiKWgVdB/ld44MctU3/UHvtprH2 - 9Rs2TyRSf4o5q9KJSUtlJleFPemVYrioXFXouhcEDEZWIZ/rV2SWR+alNhKUBbCb5RosToP8Wb9z - jDZe+lSsaTCCj25QDlE= + iXUQyMgbUQhY9imvMestYn8byGt6UyNjoYsdXi+LZAdc8GIkVbpX1C05nHRP9wBGZdEP7Hgrr0IT + fh9RUses5o6W1o2+FRhRJR05X1UAM6Did2o6pwECon4qUwW6WJFB2FLD7Xh6hxRqfF/BZmkNGFRv + bUTVzSxnql+V9ho/7OP/Lj0+bjHaP8A4Q3Ga40cXwyoJSBwLnMKvIVhd1nvTsxnV5UtyplGLu4/8 + unp98XoiCZ/+5XOBgB4ylWWjX2XBqSkxMU4Y6WJ3lRBxmNb0HFpmt1FbjcJhXv4N33FVcw1XVbqH + lYcwXvHWqDh5HJQaaXlpP9x0kmDSOSdqN+XIPJJipLj0eC5ZjwtR03Fx1gJ/6skOl4kYmJJOryF4 + lRT4XOJQ4LXafzVEnY0V2qHdBfXhG0asVlnLtHQu0Zf3ocfcDboqvRJbTKPBbiqZCXCyNapyPTTw + ht/LDD90eHBpCefAJprsKWOBoHw0UuvpsEfXRp7hRp5iKVxxu4mSQ5XaIaOImwOwXLuOKJXjEMh3 + R0TKCrvqRqi5h0pVlrnR9m9mDNHWhhQAOAmvij8UP3dG/Z5/hlrYgByDWjsPHBy8duZBnprdMztB + esA+j+jijekgH5MD9D43CXCxp1jTa1ehXxXlKS0dxaru58uHvKLk5hQef9Aq3AKZMGWhCX2sgzit + hz9CPQpJAd2wFGooOvVdbrgz+NcwioMydagg8WihpZVjNma6fdC8C148NtV1QsV3mIzwrRH6EaFI + rYaZh/Vf1fTA8ICuE2tPOZUPGFGtfqHX1a656TKA5Mn9lJob7xbRbszUIkX6kFcwUuSze2VipzXy + IQuJmgzh71ih0ikpv1hcccPtfAgKRtaZuncTe0DEDGjfe5DUgmdJPZRxwnIJAWkm9vNfsOaTRN6N + sy92ozoXH6f0ml24IvMcPpFHzzfFnoLyRa4cQuOHzDgaDz8XzJ18oXduvH9+oH/UQQT6c2ZfXz9d + gAL4eytz776nLj2n3c4r/YQu+kUeOMRqxZ9bFwNkyum7iwbT8Lu4zXnvtPex+T7heZpLj7GugRZ0 + Hk6xo8RI2sVdG/QhTzyZS7FByiYmFWHDSJeE/n6lSXJ/K+LQhEWfBLF5mXQYlByFckXyWHYqfWU3 + G87NHaDXQykyo3wpOOkpXcC2RKPG7Gqk57zrYPFs/2ojd29WGo/2mqpykM14kSyZo64JpwP7vzMr + eWLpy9KD4R033TFnIKFNgYXoth9T466fUDb9dO0Cr7/CazxSaLwi8TYWO2BsKPUCJzDWH9Atw+st + wv+tEE8z5L+mOZt6Vx8PON+hQPTH8c2/0teb1Zx6dC5ihiL+Miv0v3WayjODW6WM8G3tp7+1SB57 + lKEHxC5Uta0mUyEWDHQ= headers: accept-ranges: - bytes @@ -1637,30 +1757,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1674,39 +1796,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=8176-9215 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - v3OMNl76VKxpMIKPblAOUanyAHtoER62MJJE59Hq34mlQ0+F7qWlTGO/iLMS8Of0aLn+1YofDMJW - NglIotrdJ8uGDfH5/LxIRYZ477fjvy7/YALu7C1T4oWsqBQgfED1bmBsHlMJsPhQpGP6PcwtFBOl - AHnhOwJdmCya2lPdicKA05yBve4yBg7sonDfmVn8ezB4xEuis6X4BVqLMJQllXlfi9P43F8Ifj90 - BH0slsiY+yr2V8OcnMJXn+75+PRuu6vuCfoRpi9WHET1uUij+i0fba81l7KO2sNBf0AicRhP+p+M - 9uue0sMZDWsKqpPPOVkeJQDhK3xdGCqlMO3SJrbeBvIRetnfGyFsF6gyI0YuY+b1oq9+HE9FpKjY - gANjSf9uxM5tVZ1/7dCEj7QgrJDtN0/Gbg/Jg5pPkX+e1lvbwE5yOu4T56g48GT1lxuH0LhT9ugi - RYxxVtzuIe1CoBYlXCNMFrcBnpkbXGZLFErqpG1MHlmciAxa/89IjhyO/H4/CyD79NOMybLEivsW - PM3sJW7NA3Ir29Rz0ojYo9eenIiC7TulKTccVoJXOgMpnyp43O9PiGvP27ai5VOx4gp4+Olkf4PM - zJqEKBdoPAEMNnJq4TPKsSXB+tUiLsalsxRwnTRIlv79ueHyzAMVQ5rpZtBJt2LHDaIjxKAxQSO7 - 0+6ycgp+1iZov157Ksy6YEe9FB53wOV18GzG1+PG9EPMFDLJd0uJFvjbCEht82oypx9NDTNAB0yD - 4hM86+/hDFdkr2tebmrEIEAH7CyLnqs70/J3W2g49mfUCEzRIPuPDX3fFO6TA+6UQ7Bza6uGBzRw - d+KBqi//er9M0WrY8SQVK/bnc3vby6Bz2yXa8iuPxtKm+T+NCKjaxxbNNxFHpZu1koTE9/dLKYfl - lzKw5RLShuKjZmnxIv4YzKSXFjKqxsE+dp1/g4p8RBdiDIaty5GhVDygqHu7XahB1gz6ANgWQ6vd - yzJLIvfbxw947mB8R2sqinG1NvSs2nM0QPOIxJg+Z/m1embuJ77Vf5z3M6yDJZ0uHI4e9K7gWM2W - eTWZFDjaOfDjeSlNVmUIcKUm1OO9X8xSSdpCC2tGzoBiGyWs5TjOe4ug/pFI1AAVdGasjKrA35pb - mzjo6wjV+aoRMHwk92BBesEqPVu2t1vkg+Han988P7xEJgMVwJ9qQ7mAm9zaGXOdIKg7FuwFcKiv - Q2tDxg2H9pTXsKgShssQXFM2aQsA+94W/SRMq/Su6VgtvGbHrvri8S3ZKz2gdUGHu3Up07NIquZ/ - l3tZtpUiIxUAMl62aJeSJrjFp+k5kv4U0+7sB3rICgARdak+Q7V8QeEpeukrUrS7mKWCFYmojA8S - Undps7qx2Gig3n/Pk/g= + HnuUoQfELlS1rSZTIRYMdG1z1iDHbH5h2ii8w6vRd28AR/UPpkbQY8r1gL0q6J+N1aHUKd9XsWfK + 9qr43joS4ZoMmRemOFgtVxWvKLQUk+Uwom5BFZD4pX580ILrI02oo3fvpxOz9PG9cQa59+tt3LwQ + FTXbbXZihLcZvrfutCQzYLUM7lw5R/1MmaaBXHDUaetx+ZakwvkN5oyoCQmi4WDJT7eIH3qETd1K + uFOFPsmFUISaGCCq+7TkqguPd6nujKQr3aBkTxyp/ob4rzrSWqO8WjmhUKbB+yPrKyJJ7RE7Lns7 + W/VHFn6xF2BG5iT6Y7njS1AtX9PDCm7i6tNs/RgK7loWnOHbBqqeG+8byiGQGhK2qiACl9Nf8uRf + h6KjsF6mwfblwARdMhWv39u8KGZxMk6zFLBEnXHZu86xmkBzLp1Pb2ZmfnGBRq+AuFe2DJHN6jl5 + elAXCYO+twvp+HZs1aSB76jh4kmVPuwnXNdEjOrcyT/44O0PwuQJWfhsghIGBbRv6byzdiN5rOGZ + CO0Us+4QsVo+oCFHPoVlDI8D0eUM0g65Ka6Kn2ZmVHswsh1oEp+9snKrq6thgrRNFqneIK5BuEeP + 3zJs96WhoJXm4IEyWxeRlS1TxSWIRB9hPQTL0WX0LXqJgkPH9JJpiH9nJzZAySrjy/oupyfFzvUu + n7xfEtulxNaqp+yqVi+WYuonEsQsmFfrzcfdo/Ht/q4kw6SPK0fmQgSfqr9VhsCwe627mK8hRchY + GriIlh7oMJ2ld4JdUsd6e1E/mjL4cAOLGEG9uGi8AOrrKVMV+wG25Vji3cU2HmbjolXMzAmdWOCJ + 2slVG5cL2LiEMOdTUl3lLnk3k9V2kgWB7/W2j9IcFi72MHLz5FLjzWZMJkvO985x+gTSkjd7hXEj + jw5HH+L7GftWfNN92GTYgfRin7U94ZG5IbubPQF0q1e1sgT6C7U1yEOvBbIMwlWv+oicwu+u68uO + aL8ZbNSgz/MAxjAW86pIwxvTxd5hZiVj+M6qwcvIS1UkOxTbhzhTdUEk8wdVqXgpvY4esAiCEGvD + /TROjDK393LBTHz1gTv1hcUbYgiE/ut6GSWC8zIZRnwmcv1+0RGCgI1FomUAU0qqpY3BKCdf5Adf + twvlMnLarEMK9x817ZkreK3yNpp5LYTXCSk1Y75weYEUA4lnKz6gnMigrt5khWbfzj8m2q2MZF7Y + hGpdASQQzZ+FHBWJLeVTWceptvn6pHXgvFAihiW8iuGCQzI3RISbn2aqg5lA2J5LfHFizICz23mg + 2Ndn6eDQDfbZ+y7sHDpDyic1yx/X02pgOl59PqIX+qnbf/PK1Qjk3tgv201imEkWLAdhp+AreDKA + wQjgrdrKK5HaYA/QvkM= headers: accept-ranges: - bytes @@ -1717,30 +1839,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1754,39 +1878,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=9200-10239 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - DxJSd2mzurHYaKDef8+T+FTVz2bKyUx6culfTj1aVFFiF01hIY1u+lVt62+8QoNSh0YL7HLKchWN - mK6ZAxmmae4w9vGOAdt0Exi9IzEDDzNHAfzUMFD+FvzDMq6O39QE/f136owPHSiLfYwfbRi4Hp9X - 2FRIjHBNv7s5pJgT0ZzgZrZUibRzBxjaWoD09nf1elGouNRHoKFZRUONhnMyLi5DAAx707XjoBaz - JeMztpEHGITE2F3FcmZ5ngD4xf/IFLN5hlXTlsRzfy/R+q84CvO606G/TQjR6q9zB83JUYjjD0oU - L7rvWBPHEGWYq7eJYlclN9NvvD0j5NnjOd36hAhnWHY3MoRWicX4jcr0VaKJR22xyG1JwP3YCjAW - fQgpNhogTzz+baoKUj48FI7xyGPOjwfIGgVepJoxY9y3vODHEzC/1bCI63vg/7Jxswu/cPtz5mjS - CJjlLluSiZSoyZTNte1z26ynpT5a0F7XVPtyhJreX3nV2OpxMEggXrqRHT6tQ566ZgWOn6SJpCLx - ZBxVGBtm8GejerD8sDO2spLL30ZqQStuYGQnFkEZKFRpNdxtdS90uvApoDFcfj79+KgPCx/LljLo - SXpOn3/ZlFNrwFI+1EUJZfZFTmEOXF3enxmXHXWoFyyFbLh+LSg6lhwj+RnfGYxlNN4Q20ArSgCl - gNgmj2E23JWDnlPhKv3QaKGdmRGGc1XvdvGPS1ZI6twfLI3hEEp4TRF4B+bk5ASxK5qVt6Eq24m6 - 1uqqj4Zxy44CpJ6VcmHndOYSuB4h5LrPiU+wRZY7p14CmrZjdHi7yxCBmu+RDSQJxQnnWBhHZogo - kIQRSjI3b5LBf9c/XRiNl1N+jEZVbAc/KK7QvheF5ZzOPt+EaFwUzqnfzgTcf3tzG93SfLTfVHZG - zToUJJXeB+HXEoUpFRW/fbre/Xar3SVXLtmIJMQ5xA57c30nL0xkahHc3WUg/fXYqoO1WEAvoq+1 - RZQ6+Bg2a7WLaN1FG6ivceMOCOPoSarVYwISeWCeSf+6aQIV4w22mYWyYRKp+66q0sj5yJKxM3R3 - AuNlTFbVmdQDdQHeluQFbGWQ+kNZU7VsPhC69PPPbSgzu562XceScv3/lIg3jKiDGfjxX8xuoeWh - Cs2Ch/r8XJN/cHoi7VMe8wziD44Fkwl2gkTq7JBgy+L6S5HJwo9o+c8CtXhH3P0JALEyK0dyQmuG - jqFxA3fvJeneB+3nzmKuf0j9jlazU1HN6Jw8760p17LUbXhpl34R/AxdoLJtANuMDdGuL3z6wimn - VfZ7jNfPrzNNJ+vpuXNMre/gKLNa/ysvBgOI1M+iSPi+QlT+YDZ60rTqvjZ2RlmhUOrfGo9s5F3g - KXHtcKwcgcEip3F8nHk= + MoDBCOCt2sorkdpgD9C+QwzP/UKQotydY0p0zfFUu6HkId+saKMyqvYfb3zndIgogjl9xkoovI9A + 1r0gEB+nnAPtAk3AToOXyTxPmbPZUuhq3KB+MhMn4LwnUlliUc60oaDMNWFJZ8OutWk8yup+2Vy8 + Dkstw6DcfQjCTCICY0zkXe/Xoel5j9PaAXn7dKK+phDTD8wWEQY9nsTFLbZuCDFG3ZK4QPJnV+DC + kXIRADG8lWYKU4NjAE4xIf1GbOmfgLJ+xkQoodtBw2OIZGVsjt4huKAIHIiehMGeLHZhCPjJ11G7 + coFPAry/WKgFnAQoLwCrIy+X6ItOqVQ8HjLYFCXLKg1XY5ThIz2ejGX9cRH9cE8BJPOuh+Q83SV0 + 7k0ugotDpRMeEofzfms1lhmaLAiTbvVcbtqxO2dtJRSx20JI2mTZpYvU9VyeDwEctdj2DsIYl18T + zHyHCXYSXE9nPootqaOMEJs6/8qTwLob2gS5xi/Wix6ml6bcg3CYISaoCQNlwqWAPxlmVf/lToKw + P1x9hyOyVWLniubLZkBYiQoLc7W/yE/qNI2rZiiswThVjSoY+WKX9DGwAZSHhJZGL0cmYtTJjygq + eTfMHlAXah+gWmrWglVYS4nPnnNxwFZjpclfel7vTsGM7mvJYAMtzAh5aIUiEd+zRsyXCF+ot0qG + 4jULUtOf0J+BH8Aas/KUGaGFlN9QrQGaP24GkmuP2zQ3LmEiosUgTLUtAE8JH6J4xKui81CUBgIo + Hf0Ciy1UP0d6dddRZZ1ohsAIun1ExN+ukHsFJLQ989mnNJIPOL2o81a0ytAk2XdNDtYnL9z20jgL + bmSAgO/PA+fWlIU3zDmW0yH3Iwz+ZLsZviWK1HUp4FNfX5xiUqipXO/j6Fby2vv8ZD3ydkG/8fAK + MzrDz28yPKr9o0/tOcfOTUmaBH1ga2HWCssiXQQlEU+nij/TxwTAfnNa0AYI5K1mcRyBg8it1aLe + jNQlW2seEFASehGtwLwB+SewTK1oQbSC+OmRusc9h7hzUlHbzQE6etW/hF00XtpOg31HXMD3GPRg + 5cNye7j8MeWtvS9hjTp7smBSpmYnOZuzM/8ww/inNfAWEJV6jHFSm8VfS8Av6cgVfyhK2iy2SkbX + va/bYRm/CjdDV2V2TMrH3R4K1emx+Df4TYXUX9cZFlmwUxXqymqPGt3hLUE7ZqrstmB0hbIFIAzR + Wc0mGTdvkvNW1IJU3O6n+gKWJdfRVH3V+yHUH7fQ3MoVFAmrbKNsU6sK37T2DNyXrnj1yn6WAeKh + peWEl6bsigJA0H9fbjoVgtlalXJTp4ZWsYTatlFtEoPpxrZZtLUdTg407fr50GsJiBEl23MmhtUW + PIS14UsngG98XXpANOE= headers: accept-ranges: - bytes @@ -1797,30 +1921,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:46 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1834,39 +1960,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=10224-11263 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - XeApce1wrByBwSKncXyceZQnA7DvWP56DL5CG5Ks0UVWwLjVARJxohyPzLdLlaAJdeNrKfPlo/aJ - o8Ug/oCvky3jn+5t3nNnETDHhpi3eAahuqXeS0tVZGO+FJvZJAPNOtNLthV4aMivqaOElUSvfQS9 - MNJQqQuCwNjXqtekNyJu+JqB9+pV/yESp7E/lT5LZxwEy4+Y0fwntycFBjDEZJOi2ZnWit8ZLCob - 0JeYESupO8DPS0k6jcFETP6/KTCs9c/SWWRxBZAyWcnYqSBMleVnUNki1hX5HNcWPXZn5eE74hGE - Qv2fop/sZvuZwr2uvtFHArpuut6UvPPsuloAbybUmk28GYyZZZbaG7lARuy2gltjyn8kaHPcyyHH - JkYHD8s2QtyAWtUpLEfy9HX11P6wyixBU19c6E36bpMATEJnOJ4ZIcLeRaCyUHmhQW9rH/KToZtP - GBwSk5qFDbBnu0BRJ/SgZfTBS2fs4LVF8JSX5C/WCYnNBPAn8UEo9vNlb8EpMLyR4gpWq4biepUS - n+IYlQXcNJg777ItDxZB2jnJhcc3cNvIshJ+QvsHKDrfs+xRBQWbbDo410P3GhzHCYnxtb+gyB8R - AzlCk+k8B+6VV8zVIr6BmcBfzn5Mq60IBIg/akuyamz5hz8kbp0t9v21dIr/gkwxg+GJk5ZmrDlS - wEYFxSpKXu3pj33IwzgmkLKsAjPGDME2F674jxx3+NeHgbIa9f4xjuGwshBIkk64kotsaLJcL6+n - TEo0YwOZGuqH3haFtEvtODNP+Vc1RCWl56CqpsGyzK7yvj8a+bZOfypiwgjVD71rihEhjcZ6Kgtb - eSC9ZzA1RZ8hOtIYl93t+JnPdlClkA6quJk4HTO0z4K8Z2NRwrvQoTmXe6epxjRkS485DjnVG5yz - GKwEgBGa1zlmANEj1DtGjbgeU3WjEU9X4O33Sp0d9OxQY4doYkBQiBHxy0+vN9U7ZxD86qrVWkf1 - xgzyaxzU+y5EO+MNzU1EKNyKcj7qYjL3ZAmIInlqXVhsJ8jpdvSZ2ArUXm0NbnWrckL2GgM52cMy - 1hlLnxhOirzjvsa19mISENByjngxd0+ztgYssItwEGalTqI5L1/Vdq2V0YLuLnfqvW5afF3yWBwr - P0kTh1xoLJ+y+nZMZj7feVVu2sWCf97fNKm7KQCSQkCgmey2nY2lXI+70srpXoc6+RZYiJ7imGQz - siZUWhSIARYsnTQC56JSFd924E8btfDtiiuea2FVtFaAwIZz76kNtcNQgeSe9pIvFLAE37mI6tOh - dzXcgdd79QarQAxrXs1Xf7c6lena8Po6sljorKK8ofYPZvszwz2kILjW122SaBCFGeoEusxEerF/ - nu9ugdrU8VMIIT8oKL4= + 1RY8hLXhSyeAb3xdekA04SOXew9YMuVqkkUewpfm+TVMOwxwZqLTXVV6j4orP5Bpm2PoIUY7dxEA + bIt8bz1ZkSkHzjTuGwHCCfMvyboF0fjxt9sl0mt3y/nzKxMQCVIfNX9bz0hDZJBMmOpf8saBjn+X + 1BJFAlS2lV7EiEM+UrRJW0DgSyKBH4ajCeuFL5b/cgeqOTiohVnxgLapr+e8kvx+ybMtTkznG5fr + vLkb7CgbxVww9nE97O5Eo9C1lrVnWoJSfBDnB/8RRZ8M4rNBMU6z/JVFdolnrohLyxv0DyOmOaJy + BelOdxFcKzRevAqM6JfYzq1pBnPLNzDpKKh18XRnbWC+j4pyTllJ4MktdhKIl2XM7WuDe9lve6f4 + 6gn90lTm7JydMs/d2Mp5yRQglQ6/SQEhO49mdFGxvFvO+GmviiVlsnqj7bvNU8iHr7nD3Kosq0bt + ZscEq8xXGEp3yYj8R3yVOHC42WwPRV0kkcmEgriy9FHgvVoL31sY/g3uSfncGBq94Uf7GXGlXQek + DZCJt1Le4KcFNtiFcYRv4kBZovOqUNAgtgpSwwI+ZG3AX6dFywlJ5/HwIY6H8+apmc+zWLOlOniH + y+5gTJl7EXDUHes5owGpi8X98c6Qgeohg/fnAlQGscQeSJjBWI3Iex59qx+0fH4LK8yjp3hiAYId + EJQuRMyt9YNlk+hNwKAJUgG35zSnZ100zWPCNnLlTCDbZ4yEBvP8lzUFPGqIIG9RZTvZT7DGpX38 + jI1ArQNG8NyMJ7YTcPGisqLVgAOHTx/RQTHcutT+kae5UCH5B+dzjVqRgwNbN0ovFI68EV1sx+rI + uNm7h3hpAQVPqoL8xAsrUw+nomL7MosVSTCzfq66I+qzeF/o6gWeoxQ7mIcpkOZw4BRnPhXZhkuW + eaXhTa4B33u8bv1GRLGZuaz6s7T5IWBtk6B5YHgYjVTq68K77a9o0XWUAxepryokuQNznOI2EQYR + KP/bn6dz039fUFJWTY6l2v6yGT9qBzdPjm29I5D2Sl4rf9vOJ21Sp5RBF10gExkXSdvHVO5Nj/0B + bGDee+bctSDsQ7j2Bp/gFf90UsEQ9uM22rXszxDm3v7a0qUWS0PSIZn8mc0zSK1FlcLL6a7CtsiF + d7o3Le5QnZUL0TPfKRDHUrnZCD8ycT+ZheE9iZjErbioHn0sdCW9SSa+SbW6fnsPtEIH+2ZrwcCm + UCF3mDsNblGCG2GDvJpI10VKVRP0iKFU/6l0aMPASPnklWxONvZckRngBP/h4sC8nyZ9CEH970y1 + 91+KVmfz/3jwNLpaYbkjXTKCkSr+v5lSjwreXYdX2oa9jan2xJxgJDO7G2nodaTUPKFyM5kfjfiV + xO6GYqNXdV/7DzLktog= headers: accept-ranges: - bytes @@ -1877,30 +2003,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1914,39 +2042,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=11248-12287 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - sX+e726B2tTxUwghPygovkrETD8B1RbFBVnptl82JfQeEoR0UpyqTccMVbV3IocuMplaCcfPgot9 - L25Ip4b72iwsG4VNV0q1M5lTvk9nh5mXona4b27Sz7ss7uxJXPDGrs14EDbVoRHFxt7E2Eg7krHn - UIoQCEvGY8XE+VTLjNuPAWl6ahmcmkGz52pqFbpvx5xq2/Qcnqv6DqD/qfe/Y+kY0LtJm6gxgQiS - eXkuC++MTdraz+CmCaZCjY/mnXS6R+RJevEBisGC3QhRZusf6i94JN1LwkvpJPAV1I4Vii0U8WHa - lwpzHPkCdeF5tPRWUWyTpjJ514Y4q68drtC2afqNt/E26C+naupLCD41qO/oGKXRQPBgWKMDjT17 - vPfLYgOJm/dKJ19ObWpp8z2Gg38Y880oEnFlcXB6a6H+lh7Zm5GCfLHmuJ0WGpILIItRPWfDSs8X - rqITApv2d7T8guPqEqsEea/gsm4e+XBLH+4GXXwJT6emsXVS52FDbbeffSaoqc/y/MA+Rjnpbd90 - QFXexk+PbxJFXQvItppSoiQkQ82NGF1gBOo6WWx5QAzVi6C6fFap99VyV8RHtFIaz5N2UmKz58Uu - hniQ7jGbKn+xxS6TB2hY6Ri48jqlgD+g67h2yepXFiDdXvzbYdwVcItiTNk/9HP3yyRbZQe4MPuL - GMjZiM2o+bn/EQqnBlvVHvvXUts2VTrw5e7oEYsM3Ci3FA5orSdJb5NwVOChOWNl8gxGTCerJJtm - WYnzHGAxipn36FbNPtOS0kcYbJwdBXqlCb2Rlr5gtFaj4lA7pGge2YGKJNzrdAeumYgeFxM+0kzz - Km8hM5syvKV0ex062Y8N8U1rpRFFIJqoTgfPe3KE03LSBu240baxbMJlRHCieiA7LeDJWgFRw3XU - 6hP8FKX7XKxcIF8Gh1/GkvmLG4Ox6WPAr2A/5GQfA8iW/gVxibuHIE9jmxDG8ekLOocDUPT2T65X - K78xqRcgqhqOI4ejSuRmJc72cNQtKRUSkDLKxGRa7KiJqBYuTXW/xmNOEmUoBG2JoEdHY4k8NX3O - TQ4MMqAMP0vCdp2a1LJFe8zERRMXCPU9Rtx0wgG85vOdybG/E2L9vuyrj35aAtjtSjIfwhIxHzCD - JEeoDPSv6RJ1LD9T+c4H5Kgigzm5lfs1WmWs1X6wLIyM5xx+XSOg4Tl6mM2r0ZnUB5/AkBuMiW/l - q/KuNkXQ4GCi2RTsKB38MPwE6XDh/vjvDx+HgVyLTD0NUEIkD62wRmAU7VV/c095jYHNywi6b2fN - hDygoMNiRKwXUllUYnCRM5kcFW9g8TEW0vIdkrewKsa/7dCfLTmD8XXFMhMUyZ1vNTkcAgza+0tI - L9MDVxoQt4Fg4+DwkUQ= + +JXE7oZio1d1X/sPMuS2iGJj1s4mWZjBk/0Iesag/eJhES2ZsfdRy/Fi0wX65p5AIxlMIWxH1Ga7 + OQP8OdrQhPMM4oBgvue2cVCl4ZMRB/cBqS1hllMTrwp7tPupUkT7r7h2igjWSSOhS8qeXgHk5Tt1 + bt23+sXJodkWlOw8eOq6yJ9JGvNrSAxknLG5G6zbZqOQMi19l3OiEzOdfNCj/Cw8PlJJKU0zCWZo + zZSez2/AaUgsWFzxoKclPNzJaeDO+AZUeG7ngKmlgaehzcKY5m0howxyWdobn+w5IekFRxlU78Up + E+kKeyF4ZqwedYzmc5WrQXbNK74scM4/pbg+dEMe3H7Ei1toRkdFAQ2cB4tMd19JRNRm3GQvfhwY + 6wofsSzKq7cR/klFlI8QpKVrqtPK1sUToFuaikNc+wyCIeZTgizi5gSQNr8q90Uq++5Jy2PD1iym + pccoYMMDwguwpF812SopJ+0zaVawdgrUA913H8+/WhBYh4mXTNniuGYUwtdmg5UabbM66197CI1h + mDyGeTPyv+siCyUV5cirTjUjM+lKdtka8ccWZTyChh+sOw0hDVHlXxixTJZaKwtmOQ0hf52tYdy6 + rhczsXy16B04Hg4OSDW2b9QS4t1dUuLhAQsx3NpSPWjpg1ayN151H8tF6I4K2agX3WFGKHmHe+nN + CjoIo1pOh769xRZ92w19BZTnf5whzN0CxEtYfJwEUEITYEVIQAFPSf1ujzySWMofmjjmk2RG97+w + bqO8F4+98Ej7Zu2nhoBzgbwkBBrE0/dQDidGD9H3EV9isqjx18FAf3Ubn1RiyUDzkmUQXhNN5D6n + r047wgOW/Ea7ysKtOiWAlOmJjrxuhq2sQvBPZHa6xfRkReUWcnmCAxpmih3J+3Waxb8rNrSsACOv + LZvpZaERVbyl0moWQwMUeg1rYVJXrrYaUQfEjaw43umTplVjYFFpgy6q/gClgnok7A9PD7SBqiHQ + 40JinJhdx4VKcwuaSVHJav0B55No5+AQugMM6ZVLIGu8zBly+7/CU72sEmGfVnSbjmv1Tao1/AV8 + D6GZdf9XPwXfjnPQks1TDsTO1LFP22FT5PXCl3x0DDZopcf5SVpmLhZaQGvBDwb+tzmJFLHcicqQ + 6AAUzkU8hODM8KS7UMmh4HRRghlUcTKEgQHx+eIwy8fxvvLUFr31S9CwV4k/mb1ixk8TNiaerDpf + TVF0hvfqLAH83pCRqCmcVnfw2ai+NK73c6hhf7Z5PIxOIcV60Ki7S1vOBSxHoqZJ20yyzdTb0QGE + ZVbs/g5fd49mqehixFPJkcs9tY8q6U5q41ausjR7Pvf/pu5AHqfy8+xehnZIiY6aGUbls9ECf6HC + PZunz9QNSV5QdJ3w5WI= headers: accept-ranges: - bytes @@ -1957,30 +2085,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -1994,39 +2124,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=12272-13311 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - S0gv0wNXGhC3gWDj4PCRRIS6mixtIFYEMNVKQxdNWQfoinzedJ4IyeI52+70JMlUX8usDoDhYpGW - OcI0rc8aVB4uuELoIXh6khHqtaKA1dqIZ1+W+DF7wRJwmZzv6kEQC9LGdDEqSORGbJ91UkD6Smwa - DX/Q0Pzee8Th9hjZlu8n+6mb+qJjFFwjMXlVRfwspzfkMOpvfDyXVFgnErDo76u3IDndG4HO+k4M - Sw8iTrVNVzfZo4B69YLCdbPC/IRKawv7hkb7KifaysnEzZjXeDnx5C8Nc9Twwmo8yIBtoW5GLUdX - bPRqJHyEn9XOC3FFU0Ne0z2vH1zkjk8+ihUndHU/mn7DkTRAyL6gJWnczpNM0zdk6moVk53Nnplr - 010yqTI5WpDiAo03WCQh8xtbjsCLfhPhG/6X3R+737dcm7a01w7c1euFa71FF1OX5A+5Is3o9axy - +Odh58s0EUqz44btApeEIoeSHnk4NQQkGvoHV+eYiBzpITcbrB7D42f0C+7Hk6op3VbtWKpu8IHM - 8H/ZbLF/LIUc481CFFM6TycW5m8yiuE00Zo7penXcI3nzWZSNIJ/YYyF+k91JuqVSYiXdObsSkoZ - mOehQ0lkwbvk1LtJKGgTzRo3ucHV2YDWvKYeR0pWzTIuvFJ0a5DuNV1L0DWG3pPOgVHEZqRm1ECe - 1hfeBbRerq63NSZQeZQRhWRqRPfgeYjkuJ0u3Ktog0uycT2ZObuVy0Xe0dSk2hnE1QjIApfUNMq2 - KFIIqgQIx+NaDQheIFLZxLdvJjld9jP/kGfdRlwdm5I4FdzWmdhkONGqOj0p6fJblUgZaxw1POE2 - aeSJArdt25ouR+OSCP2XbvHJmMvFr8MY97JQK2rd/98cvbAhZG5hCwfSdbdwYoOUOFTyhi/At7SO - 2/Wj+MuYzFqnIX0iN/xq3i+oFirqwx5ZH9qW8VnfKel5uKtIsE/4AxKxqY3Y32QGfPJ979dQQ57E - zKM5f/2Cm2ac++oV+qGPwLrdIfTl1rA30H8/XCgpdfjmI5fBzA4V7EUZs9tHpkiGLM2jy+30ljas - weN0p2wTSalT2mbLVx6eIG2SUga26xBSFnXeMgjKcl9M1C3O4xGtC+DE6eBhEXhjWqk5SOuFxwh1 - eaN34uyk8ps/qMavr0f0kMeP0N9lQ5eVdsLVdGwqO6W9i5hsa/XKe0sawPWQmu6KcTCd07mYjX56 - QusA4hK2+ZKB3b67d39xFOVIxcyyyLxj/Va8rxCI6dHu2psWVxspQ5qvxzz3x9IRvZtkpIhvYlYO - vg9ww/x0YJi36FN9npPyxNi9lPXE5ViBm06t/BVDdAXooyLJd1D4qwVt/Bi+GD1avYoXTXDyUPph - xs9wlm5P1FYLZnHajJ4= + ocI9m6fP1A1JXlB0nfDlYpmYqwrhfsuWPg4fTFHAjNsf+bOp74og1dMzl5qxyW2pYZNUb/3foSDS + 6u4MmhSrszOh7Zq5eWkRWWUj/GOCRq6olzZLk8/IlkB96otBOXSe5g88bMJ3rOm9Fsh88N8gdSlB + YLWT/JmSdi4kcytZXK43N9dVKvqSTGaZMbKWXxuWX4UP8X4URatH5eJ5JwBK61uO7+kWEauD637z + mYhP6bJxWg0/VZpU/xazRJ9gNI+aUVdBKnM5p/db6zr+clk1KXb9pGoEeXSZ5nceh8faCvozghSZ + j49IONzIYrKo0YR713rlKkPunSmSA6O/N0kWD9DsH75ssk08HgPXIknX1Ecfu/a7U4t/1SKkI440 + r6tuYrisbis/cWOeXIMtcZf0MmH91B8HWwaLwDL3SBo5V5XVFnjOsltjLNqk/xU+FxBmsUoPt2k4 + CEkjBesXwS1bn2TBeT0DmdslZVXzW/rMjGGHhlZlAPAOf38+et7paEGqmiz++mkNj0QcHmHll1GV + QUjGPOhAs2MP2habwAruKXH6ekszTHbaI2uoDAU/AFejpAU88c26b3hCmzYiv0yf283u1KMe5foj + I7BxVirM/2hlncJnCE8KsXbursdK/r4VRBIvFSMjgCiyqn5yNFAIEwfmgE72uMTG6kLmESijmibu + NvP50QKG+W0YG9fZiGK04zfkFDbuPDlussJXZo8T/CxL73h53yl4cQhaZCqWxIMdEVhum84Jmm1V + SqMrjyMBX7Js5kNfMh0KcSd1otm90Mk9fRIzoG/nRbH2t9/S9bS8FpTpdtor4rM+NaJ4TQGlWtf+ + Yx8qYWNVjaewfCcJpQXbM3NLilZk2asCdM4VDQa8q3bhrjEDndwvIVQ+gC+vJsCa//ZkrfH1aOM/ + r1yWZYwKrLMoU1WuzrToAdyzaR5Nqa+9Iiaxy4HVxBKgZGCWnhGBIX7qytvu0q5FxTUIlCi1jlp1 + rnHAumwHlU6XBRAKVTbIXot6lcNIWkq+4gLLrLtdoNbZT2ZgWjIMBFH1lW1BWk2Ga5/qtXIn1nAx + chEMkdbZ30M6Lf8uBJx1TFz8Q2WFpyFF/7EF+mPc2JY31zzP1ff/sAKspinH8h3atY9YfNQZiZVo + ki+/73bVBja8tAPIo0FK6XPi4kjvqzswPMN/BmYeNmMqB15qRvNJ0tO3IyWCU4ZvQIXHPxZou9rZ + l9uvMc78VpFb9wUO4JOR6S17SurBQDgj5LyFUxiRTPKhlUy3ixby35JQfcaGZVk9DHvwRNxXlwTy + f80ZPBg9VemJrYkpkAv+siljI9+uBi4SxkcdrTy7i3gBZ67gDM/UFIjAXx5AkPVKOHlFu54bM+f2 + oKt1m2qeG/CazObDVnI= headers: accept-ranges: - bytes @@ -2037,30 +2167,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2074,39 +2206,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=13296-14335 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - +mHGz3CWbk/UVgtmcdqMngW4p+7sHTwu+Jpolj/s3KPEZ9vr92MSrTwwR5czTMcOVK52ExpkWDst - FhAusSRSZgeORzdA0xhKc4GrECLiIFC87intyl9tHDxznRacKbLwmOaHpJ3jrtXlZy5azaAiHIAq - 2LC4+7Cv3Ang1iVATWhEouIaMH0MQIclYsROOLB81INHsNKmSkNYOQ4rOsbDmsLXOR1c/VgkUQVb - TbY8NdlBbZtWjeuBtjP7aTbGPf4lbXuC2w3GP1Fl2KSQgu3tfDdEflE6j0RvA6Dw4rre7fjvj3sU - Ylo6e93xKSnZZ4lonwIrh4KioOpclSAXH/h3PsWrcIeFYd3KtXsfij3SyBbC9haJEbWs2luzCxul - Ac8X5AQEQDK07joZCNGrBDBdoi6PVsVcMI9vxQb0+EGNT5SFO9K/zP17QZCat+kBDvhbSfZhZ1QX - aH1f4grsJWWtOCQsFHSRCWAK2ddehfFhLl50Ku2XS3ughmem+sW0CdiHI39DaWDegukY+0BYvNE9 - 44iPUVKAFTqw0A5xqLhgVubNrHcE7/trKyMe+8sHAT2nc13RROXMPimsUaDwOVC4sMufkR0tG6m+ - loqRWOhdQ8ZAfcZTw0aKh/QQ9c1QHcd8YOO5/cX77ZdZGE3RNp4AsvBubKEN1BM98GoTrTvM6Fvo - UgWGNmfv5b7ND3BE/kGhb3yoZvdxXuVx8E3hQDXiZhWXtoykGO9Mk+4V3WdUX4ga04NuJXNqgAGv - bdJlMAzUrnTeVeR6+rdIvfY3aeqo6exzEfkn7YCbv7bgv7xCgomElZui2MEI+9DdKGc9SAYE8xaj - AqQjmpQUyL6IeBiUKOq0zO0k3exiNDsnEMvsucg/653DYiTlt35R7lDmTQWhlz3eNxBwNZcYZMI7 - B8TILquA1N8qa66NDqQsKc/BfKKbwwEn6gm0c5ozI3DTEYrtt00tQIhgt22Wh2vb51yCJlVX/fOQ - nRIWkk6wN9vis8+zUA6hrGU6FbpSL0iZKwF8gsV/bsfjL6g6YzxA3gnNgLLioF+n8i1bSSxyE041 - obqJm40xlaF5PByfX6lyaZKAHwwEHzxQ8ivKV5speRODLjD6d5IedpdbQbxg1eczuwQFtHzOT6yA - Ux+GaOelH/TWHeog2GOOrRioiNqTFaEkI72gJsgYg5xP4pUacWUItGGO2jhsKzOe6vb1FaoyXx+8 - /Q7StJOmlS5TQMpVmvisQ7AmMiMB2U36KxZXJFj2DCvkzjrM51mq4d489rrLOwjEA/YtOHpW587c - 7Je1ASM7U1GhX71Ykc8xCmOqWxVCAiUwuLZ0SyZ1M282xCAewAejZAd6uS90+/40+Bg4OFZ0myhp - BJ9ZYP7SgvsoKLgcMss= + 5/agq3Wbap4b8JrM5sNWchxn+IoOVEHWbahjQ4VmHIrIDXxN1ajmwtuz9iqPF4rg6CVf1BbKtnWJ + KT81H8hHEnvARwfJMR318mvzA0tIceeLm8ezhS3FiJKx83slpt94a41IEF2wnSS6EGiGf6xXGUwl + M6DnDL/JryopVSXonilTRHMGy6tl79CQCFovdijJ0a7h1zDobtBfpBQUYX3gGzZtpXxyw6Wxzuhb + ZwsP1WVolb323mGC+FjZHZpkIloKDkgcyNSdXnm95kGuP2JBtXdKk9Tg0k8o5ICKVMbONFWNAzrr + dnvU217P9eRnfcDUG13byMCWm5mvjvVvpg4LPXyB9EwvzBGomMmd1zpgbhktq0BhkvBMZxIZFoR1 + dQozTC/oT4pMh26zaSEZQysXoP+x4GgL917oi+CY9Qxz1i6GeLbArb8EsVzz52HkhtKqUjwJi8Kq + kioVcWuCZxyEVycXs64UCRpMvWXjfTvPoYxf/Wls22BzTxiIBCVfsrzQFE6UeRrHLF6jmRn6BysG + gbH/TeHWGCAvSkbTrnVPOBY4lZnAtxTkbE+c4ENLA5uzpp9yS8QU5y1twe55GoXEB2yNvj6Rzon1 + BT/OBJjdbRQRblGy68oFjHchQxtF2v38Bo3uHFXfYNHuRt307+8MtRxSrRJKBjibtEGJ58rShqQc + KjpqqnmhYyr4LZM0JC8pwlDwsp7FeSR9RuMCHiBuo9/s1z1amM0zc+KIeVjC1lSTD2/X++TB/OzF + /IZOLJu/+fqgE09DreFvg1aCqxwI3rAVBn2urPgSBdT9VBybOC+t2FO9pAqdgnPIkRgazetklXux + 5TeJfzgmIIhhPcEzfQ1XOLd20SA9cCD9qRW6cNH0v3/Rf2qla23Z5PEfd9Lck5OI+h/Ca4XbrYjy + HRn8OPRB7N4KwNoiD4FUhrba8Kvr5auXl9dKaH6tqGAqpy98Yl20jnWkwjr9u/I4tjT/3/0o6mDt + r9z8fkCJYg+4PJYd/akuqfyt4+V1pR9naQUsx03OysKrNKSrjdgWhjU9WxRZnFhTmnUdBz68Bl+r + NGHXQjH32DnzZ6QskT8Sw6JqCkjOcFNrVZVOAjnnyFfgswySfn2m5XcedL1uXNj4obYM3+EP4FV8 + uMKuWBPufNO/yeRnTphK9Y7wVEdxlZV5jSCbUJBN0e9LJR3+NEgs2bWzRIz2aSLx10qp7TXb53uf + dP28OrKi6wPbYzVbV9GaoBsakEK2Hcgeu3M2MePpldC++sW7BR35WlEWLPRJ2Ux12lSxOxMnI99i + M/N3+FbXv3P7oNb3a8gF2Rd1hNB1z9yy6wWUDieF3blW3oqaO78Qb2Nhr6yWfo/+PraCBP9GEpzl + Yqnz5al2anIHbYBGfQU= headers: accept-ranges: - bytes @@ -2117,30 +2249,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2154,39 +2288,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=14320-15359 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - KGkEn1lg/tKC+ygouBwyy0SkCYNXOdz5ioaHsy2yTaSkLF7gIIMf4XNNq3uPIgwdjDhwC/gOCiHS - fnOz1n/UP1BT4YZNaKXPZs78mLOfXt+tqf0lj4U+CSdUq+vhqCvD8P+5lpWFT/0tTriqY3/FzPis - dGLANQ73texKLMrsNc5G8bDLCEqbFFYJ0JX0AfILvPOlbP7Avw23hlBmVFxoWBq8L4lUDFtbf69a - JoAQ/Mk/01HUibGG0Xrvk0G6PpNJuJ2uSKD4s63e++vUi9RD20TqAM1lnkfc9SqkoFmdcQNICMwq - MbA+3CG6wcq64xfDplpwbuGWg8N8BY8nZI5phCe2DbpMjkDeCXBCnqJjxt1eZ3txOQbS7IjAuvKP - YSv9mexntwYQKP8dCvY1hTKFTSmCl23ZNUriF+VEU80dYhmHQNicnqVqkqMHLFDkO/JcWPsHoxh/ - A/pAuFT3+KcdoAN14d51QeI4oYHhQ/imbj8mhqRXSd/MTJOwpsWzZFgBZegTLXlggUiOPu7k7/ip - f9ETGVibr8JCN0E75lA420wg7IyoWMFSDS9NGrc0tNqafjTonY68UvK7zC/3SgE/fLADMNF8oCQC - y/IKR4D6F7tRBdaUjKOUVGsRDqRRQLOTAiyd7q6XKFlO16Kx1z3xAMDnYvNhRoVdbPIz66ayJt3l - aBgUc9hxoyvlasnA5wk62oNL+jrTpvL02NQtDMGgl7Mu0UUmjT6HnLF/PkJkdhsWq9HXTsXU7VBi - 9YsA6LwQSmkll3jjO4S3FkOGfT9HpMUW1KIb/KY2RQsienTnSlM7c/RdpwAL2pugMfHhnwjlaPcS - q2vk+qgGMDKBLAoDFsb/eRghYsaLfHCRL9mW12JkAVCb4PnZZfHLzKYqSAmqN1lUabGLvNnB8o7h - 571zMnRBaNL0OXE8e8l3T4c+9x7sXv/JLX44shyNxDBaW8O1/mFJJULKcD45TvODBzR4Z/3XnCi+ - ZyyXBnyrwsY/cASPNjLAR1g3pSCXGbsnxbePogKv0wjtlLl2QbNztS6kx4H2mbxtLRtn2lcrrHLv - h5bD9EQ6UfGCyOb+THtBuELbIuePxSoaXYL48hgTT024Fy0hpJnItjPhzaqxf1mSkeNttfaol1cp - Xj8WS7q7eTwR4My5yZgX6TziwCtU/GAdGchb/em+wFEWpCyObQAG4ucb4y2E8vB/jJucFoZCvl9O - wX3F+X1r0wiDl9jSgAMH0uRQ6reoJ1k+iMRXMYrOFZpB9ocnVlQ16VnEc8hyKM0j6+V6QYaoWBjg - 8KspRTFiycfHKMeGl3yx0Zo0pw5gka1yTu3bZeM4hE4azRsNuegNogSnT31z9TZ2FpllejOz25N+ - yMdY6V2hBxwngOdayMc= + nOViqfPlqXZqcgdtgEZ9BZEw6TrGJkrUw353lO6NwCLjOK56krA5FQ/7XPbSS2Q9+ctQTPqMhD/9 + cLgGY54/8GJndGCjqEsksdU56JvXsvUmXoA8CLtEeqpoFpKBiSJU3xN4ZC3XTHWoPNnilqgQOcgA + PsxRez6+d/CHhFkTpKccwVnDZDaze5MSStakn2Tc3ZSjNUhnanndFOXTLuUf5EmOO5kyoLylda4I + GQ88blNaeB+4uBeUqNLa5JLlL2rfE9mTen6vz7D5kM3FrCqNVCjcuFzP7m0J8dIf4J9kWefbxLYK + QiJHFrgziEnlsr62jwUrZmIoVe+5Z9HbVzryF9RAnUGASc0j+lCyX9PiSMkQ4X7wsQFWqoe13BrT + sVgC+CWhqlk8ITwW9vTEAlvqEyiymKZ/hduH9sneEW4trGsAaLSFzoMlCqfT+0Tl5w4itIX25xey + hUuaELlGblOtUzkX0YwH8KneeS8270/lUNjT+dO6WE7nzDBj4yrlv2YKDG8W+LPvbpYcjXY7kD5H + lp1jlSVoJNTvC1rRCgZMDIhxAoJZZ3tRL49wpCB3JjEjWDvf4sR7wMncZxQ2T0S9LclN78dtEaHn + gjwKeBNbzu/zxIkvNcoQG2P+wWQ4HN1qfpF1OG1M4ObWrXvVLWLpmkpdqPz3shuxVMvz+eJQP1c5 + L9ReZaAmI4+ZAsBcf5PPYU5hfw34/clbAh6lAIIo0bmyft3yzKddgVjZjerguwkinyrMh6SWiHRH + dJdcnBVjVO4cr/wStSmcHEPzU5+oZX7hdUx9U0ric+29ZTPsQmzruic57A+7wixPxm5EZsYlYj/j + i3LVG3saHxtUVXWnWz6G/e9p6NzTQFwi7dEL2U09G9kTf/jbd9oheRPhCKGrMr3F+AZ96rM+h668 + OUB2z2UiqWu1+nnghuJwhgqmRJQyqYKa+E+Dx+qeHOTN9mIl+01hrAnX9jdZCEsqiinfRpyXqPZ2 + gdcsMCD+aYKdQmX1y6TQRvA/ES9NuIITw8UXkJvbFnNXfF1hp8ewfLAFAcFXBktAC/FzzJDdaqM+ + kD3/G3Bi3ICMk6CcVnx56R6ey12XNNONS4mszf38VNCVsbFj8Gy6eB0HjD9Qv+bEMGUY/67P0wd5 + DU0na+Hu0gSFPB2HI+w7cFmUyQHAIRSjYTXHnRhCLs+QSVaDwUbxPlhnHaMFLecCUyCt1JImjBRk + EzS7M7SVvk7Cgh/Vb1BhK2pHFibkpb/94FQPGMO27UJlK8QEqWEIU6pUCtEP8zdjm7YPNBaLR6LW + KB8nQ9YufwMqJkX63RbBCD1kkAsM2AsX59sd2HJLD484CM2hWKZdfJNwXszQTEMIwQHPGnwyNVTA + w0gBew/LhOa221dG14k= headers: accept-ranges: - bytes @@ -2197,30 +2331,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2234,39 +2370,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=15344-16383 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - k37Ix1jpXaEHHCeA51rIx08OJxH+Bk6jTgzhmURz/loKcS4xnTFrQ2JCNp0Yzq1pMc9+8Q0RNetL - tG5s70AbbpGpj5Kkl5zcU8m0r0ZC/db1iPFrRA/0QrQFlNnGQF8osaaNwdoXFHABCzRHTCiuioxa - /hzDMJQRTXn4GqhFMQ7bIQd9foLvY7d4j5YSzwT9A1ypNIH3SmTURB/nCthkioV1usPbvBKtq53g - m3wFWpEh4jnk+Hm7KUREYraGnDYkz/N9+SZ6FXmFGSHWY3wsJU+b7IqDUPUrC84P9OqUYgfnCR4b - OxZZdn44bWuNvbxz4hwtzI481Gkpo14GaR5dfOo9ktyB1faeWTvx+EJio86LKvjyLg0VQifPwSmh - vd6OFLPe7E6b4I8LnXJ8c2b7JlBOh68tpakYMHDFHWkomBjlW5fy4uyMGHbUyzdvDYelHJ15CKL5 - TJWPKL/h7+nSP7ookxuJrq4RT64pXT54DspIDDC2lcKIn35AYEUZ0yoTAAabQn2cRFhXIxhbA136 - aJpkZknFJvhqOXX8Bp1+LK60YurAJleAs2KQo2y9dyZ4taE2nK29oa8y6FkIPO9yggjmNIWGx17j - Vyf/6xwehCmUlDl1mZ7kJz7pRUztLONhOqSV9EoLeKvmafVN1U5HcXma/rEPGtkdvJYWPKnma49H - 8PHzPeOaPkn0/Rc56TYhgzgqhl2Iw38CKu6bcbowt/DM19kbaNAEdKPj6a8F3DwhlDXM16BY/F4l - E3gjrC77KynUNiS6izN8/+r2OSoAlNZqlDfPNv80iapqjkct6mA0vAuGXQ882Q3Wm/7RTOW3SvFy - 8KJfPgFIHNsLJYskkutlY8u+VoZhjKli88wJUwaTp3Ql+pq8Z0p3hmwowSucUQtkri3gqgD2h0G1 - Xu7MmycCyDTV8QaFQ0WVgN21GC0MWdX6W+idiu7l0c4Vd5ZJeepsjQVEg/ZSTTXeI//fwBFzaOVY - AlXrv/bTDIkuVfyzeCQU5g69Te6+eHk5CujCC006/Hx+YDQxdY1RO17ulBXLjAZCqhZysmlrmJM0 - h+bYdP4ObRM3ryefm4yj+6HktjRhTCVl8JWpJWUyeVqW1R5vdYvzNm9BYoNl/qmboSs0mwnllNdA - fZuk7ADBHd9n/uVsN0Yt8JdNLde3KDXm9iLt4w+B99wOKrmz5Bn6u98rRtnpMdejumVjX8J3obaJ - CZR3khHteVYMWHykOWyb3N9Gp2Msmt8Ql1D5Ze756D7O3HR5xSEHAgJmQvo2seoqRjKeDOEBRgJr - DksTvKIb4giSkCLRCbk1okZvlzVa63OTiQzmubtg+NUDeiqKnbMEmfIrUI2xxdaCaLwQN7Z05sSr - qT/+3CzodFUtsthBW1U= + VMDDSAF7D8uE5rbbV0bXiRNSF2yVCOrxi8IPKZxX/8R01nrCBHapMT6DCCHpsH4SZSSS5Bc4CYTu + 6f9z2pCeR0n4YP5pzimilRurIl2tmNzaHtWTGpp+iHytFKjVzeIqtbYMEccvy1mMdjXRgpJ4sUUS + Rd+hy73UYPn1zzMe40fIv7YvJKVOhefLiesOwBd9QFJ18y0anVHAcrSWcxPaOOWBgtrj48b+Ah+H + OiAsAnMPGyrlj/NPATP2XBzOhiP5i42ZOelsRpphWR3oPcE6M9ivmLSMnEQJqvooGUwZE67yCeow + QGgh6QGhEGtSa6umeBdYpCFFAm6Ag5wOmuGaZC6fZcj+aj82wBuy2H8p92f0EvcyqMtYeuhFVXUE + 8+EcAS2dymw8kCML/JjHdCE1XScoXnA7C2h57TBZUDhgmZOhePg8PnCUj9Q2sS+r+6ILh0mhON1n + vPPaSWU9zrVw0TxeLC6G3en6pdmJLEwPk/TbtwEZsS5RtKPd+OXsY6XQl6Waq3TEKR7y9SRBPvMv + sdBdFreo5EkwvksUp+0SvH0xFdvj6wUh6361xCTeZ30SCdEXEePBLYJ20wQsinIdMJrQVsJIM7xl + eb7WDrzpx6hS+v8DCueGehwEL4EC/uI6GBrihFlr5j2+E7XBy8+0mD1ZIkBBtFN1gSHMFLZQEM0s + eB3I0RtyMLR3x9IwKHmFX1FD3rsRXXfopI4UTt3ncP+WuGOREi6X/b9hiUdS7qq5LSmgudfwTVmY + pChILYBvUdUvbeemQxwlTy7yKOlEz2t/nBoMiMwnh2uc4WOrsrUP2i1AL8poa/TIp05W1fkWzwCc + 1k2qo4sUd6l7Jap5Y2/cuPcRV4lNeTE+ZIeKEafbdkJz8YXcLgVKDFiZp1RZk+pJa56Eqx1PQqF4 + 39VsnP7O6sAOXzyHRxAgHsWvfUM0WiveTsm9TZUpr5axCKMQgmt6/qvlU5ATT5/MRDLlcT5Iatql + jMHPotP4bFuCmXiqbxe2wsKaheNMdQxx6jpRaDlZM68nL/FKAH/iK7c1DSS8KrzvH1NGpvK9TXcq + D6lDofYNS/B3ZRipmf5CrdO5APUY1UgqsgP1PFS0Ydhq9smIkpxi1BjgQvcfrm2zzxQt+StLXQPb + DC0jZAw24GM4Jvq87/LvAloDDLITXzylqo6ibmFw0yIee1UmgV6JNCRnJ+duGt6QgAnqSy2HT6dg + YbbjhhIOYyeCn17bs/y2Rb7Jly7zXdbjPy0edHNp/T6GcXFvAb8Zf4o0Qg5OAzSvOxLwtwCvcERR + /t0rvqw9mRsyRLjNEu/mR2OnjwMIhhs+4at/J8wsMnBaPinvwJnJaEWWJRTDP+478LxSEMkWxjzT + YULxge75L3+dJLNxH+I= headers: accept-ranges: - bytes @@ -2277,30 +2413,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2314,39 +2452,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=16368-17407 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - xKupP/7cLOh0VS2y2EFbVRNDNfi1jBgOMfiuS5OkeqDZPvH5/CPGYLWt3xQItZdjdVpWzXEjnUTw - lVBkrmru6mdkZS0CK2W/fEeEkjrDZ3EsCQ8eAvq4Mkv/sxxFAKAEm/hmDd4OGOSwsbqxMka6d691 - HrXNgvMKgXwZEug+zBZSPybP+/sOdM0WMZ/I+SgQHhWfGcazWQUDfRRsA3TRX95MuWulPJAIJ46d - CsMjI9LbvUv3h1JW4/Q/t13HhqmXwreOtdNog9Ex14tib3okbrtl0WBMGvuiyHuT5154anfB1sR6 - 7Gxmva3KczfZL5SmC/wY6GBIwOhtehjYa/UPPnqDIisQmDHGAtArJ2YVz0CWiRsedT7daCw0/dxy - MaMyqdUU93sguZzwXPZWL5uJvMcDReKo1GElTxQM6qXu3lg78Tu7ZmXLAW8zRR4neFeDH0vO5qjj - IfcMjEQqetzDAM/HPui65AyFrJ3l3G9UCFnsbWfrXKR7izACZqiMcHIYMyhCte8GNMFVFdKwYAGq - B/OhynjRWvyJ5iKt3U8UG71JG1U6fa4vTjlbiceuukKCoV6tsJCvKzdq0Dao7x0YPSSvZ3evWqe7 - mbq4ghZFY7Q4hlhaHTWwHvW0YMMdKzwrw16axopmyBfJY3L3dZuo5vA7RXb2CPPnC6bEzn2F73Hx - w7Z0PWh2udFhBx2GVPYH5Yo4aVQN/Lv9Yk/VTMHhN6rTMdezTxqlSGZnAK1tFMWApWVXYZb6WJ8p - ACJdOyW02Z96zSLMkKMAl4bsnrhRNKf6ZiFsejQRcppTHslLZZKm44yyjDij4BA0JLMpzvrpDXpF - 2Tq0Z8louY7QwAGn2gpGTqW3d5JwORT7Rf+0j3Oy8jMcFlCYXf+Yogh6ZF3F3KLlaXKi/kAz25gm - HhRPWVuNn0Q7Hu2orNbzYtuZhwDml8E7T1BFl+qbIef4dhHsGCSbhNKeYiMYJtjDSKMAEs9oom41 - 4NMyTAJcgTwunq6l+cVkwRXApYoHwoEO/WbUmmtjsMTPwYOA28yYag0hgwyj/xb9N9itPE9BYaR0 - dAlI2aak70Mrz8/BIetHuU6/Ke/MTOS+tY9pJtpW6ByfOp8O0itZ+LNDQKYqrlJohb3Scs3kn6A1 - Rz6dGjncjeNR1+AGKWqF+nZmKqh7gaV6v3V1U6Iu2tQ419mY9Itqo4Dj5SLky3OuZLgkkK90A/tz - HLWEHy1+eTC5tt4XkgJHJL5T/+0pjDbxPk0dKh+VpfsSLCuOaa6PxyVH/ngMgpBAYGSHxFeo0SXe - ixR4GsF/0mNMKLJoPliY7rBLmJm9kvQx2B0GBH80U0KPrwzdIytVA3IFDi3daGyhVrHNmp5cctw4 - c9fY0SQpOXwMEYPKvlY= + PNNhQvGB7vkvf50ks3Ef4rmvKsuBhf5YVY8MpDDia/legZOhfnBUHK3Lj9SBIvgpIOWP0X6q5AEG + fgVG1MkSWZmc/LO+9/3OYFTi5BbrWAG/geQFDPpW1YN3ZhAjwBqE28wSvm096HhLLSVUlAcjy1J/ + owbMkoQT7YeJ7PsJZldpkGIEg4d3QpUNvP4JzQijT8/9ql2z98lkoj9XYT1jyegU6UgFIDQq6bbB + zXS4XgKFHoHetRV/UNyiLfp5oM4vi5nfiPu7+fIzXYjpNK27Tl6bEOW85JhqHIQOgDl/UbMmmsCH + o6TPzPtdzm5qY2H/1djAoHKaCLRMkJAOl0Hy/pv4ufIUB5wYDDMjgS0bZxEvX9B7ZkeOqfP+M29G + c5XvCym8eHfCRaOVuRYpev69+SMZVRQFgXEeVh3co66h39CN94XaEU550m2K+hWlMmpC1uKaH5/2 + 8x2ZiFgrXntX50f5xTLLTgXUWw5Y7fhVdiYENdp6bJ1VsXWAkGDVShNVzdEsEqAR4o5LFeA+qmWP + 7e1FMZv7/iIpd6BaCa3iLPE8789A1kkiqV9Si4m4fa64ttObW+5AZAikIHBQV1tBv91EsU/qfnIc + 6EYI3qv6rBGdAQEH+VLCckISCuYdWaKWDdTX9WTfp/zl6tkUc8X2b9uIuflnczH3Vziw8iB5e9TQ + FvIEnnhfZ52lLNHBUmXx5ksCCXjRlQ9pYXMhu3twoyH1gSQvowGBs6EgcGKbaGsIgL3ZsAnF0G3u + 4kJXHERspDZyqfHSCysV+POjJMpRdAk4EPUo1Y6FXjbDJfnKRJiyHXClDONXveST5ZS3/H4Qtc59 + gG/MYt0HSolWbMoILET2/BEsU/Ox909aiNvZDBWDJPBjLqEPJPcqp3ARXhGeFZdHd8029BZdZekA + EcEsNnGQpPditBO50I9LEn4/2jczfdqZYzJgCtP1rW9VKWq3KfP2n/m52xLnjtVwn9ZOW4XLdZI9 + RzSkmm1EC22cUTDliFeF9/8VrvFZjDtmFOb6R8ktFLcMP0N/ofuwfyC9Xw+fLGC3dEjJkS9d3x1f + 6295nGLp3ppStZXpviayoyjXuovRI/HqvaKyKsEiiyOajK76s2V2+szAr11PHKX1XpnZWP+ewyUL + i2Re4aVx684cIpxGyY8TgeiSp7NBjDBudSy/LipHSqEVWGQ9EX63zv/buQYyE/v4fHl+567hvk7Q + S4FThuz9uyoIbvU0ZNkhNApL+27OcWkEUVSnRz1Igav6KxydSO9uu9iUeTMu684pVwzNAK/WqoQH + dp+joygDWFWq2z9AJEyzqAIGt0lQrtjVqWgfvRLSiam94XwmRKewZD6h8ebXsjN3DoHi+c0we5Ib + oifu/msu189gdgURJMo= headers: accept-ranges: - bytes @@ -2357,30 +2495,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2394,39 +2534,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:12 GMT x-ms-range: - bytes=17392-18431 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - 3Dhz19jRJCk5fAwRg8q+Vq3ObZsecf2w91xzTdUD/GolpJLtL7pOLzKziETDS5x3xr3U0oEpCtPb - XKxJuaq7q5oh6842dVr7Q9rkKlsx2COJTnFQchic/R+cUSJYIjH0uo0S4KQjJczxkx/ORQ0a6JEa - dBP0SD8gmyB8C9p7tzbIfdr+UMopesxYOTrth3dxI3g+eU76bypdkcQjTrnKQHs7TYcAoTzn5Ygb - 5BLfCjsYLp34BRmbCHYQjyZ9gBS6SxBYEBd6eyJHwUGtEiqB6uDuKI5cZgIme3Sfub4C2yca8Yo6 - 8iyi8K+wV8Cs2JHDEgzDkgSwSxXyZc7wBNYidUx4R3ULp4eQxCKFW1FkUGVoIACcWXkSn47bzUMy - 9uN38JDH/sIjY4O8yRVHaZj+RRNkkF8Lhh9MG3Mx6kU6ZNNlxQzlVPUzjp3SVwPzkY7EI1azO5HX - 7b1pin96yl3svZen3dl0E0reylRfBsmxc7SeNDF3fFSzg8FQy7yeTDJR7hq0VhM5GX+Oe0dTTIo0 - 6jP31NM7lUbluwLQARWFE1GTqrRbZOH+17R9qsQP3xwRadiPc7eJvZOhN8CqOtkShU3KNcPTOlXe - Eq1v9qqZrb8wN7Ezwee9XFV3hFtcHOc4gFcvOMXQURqZAVxN8JUH4t7q98WzGQavxgiWgxSFokyc - /wjZpX5oG0iCfkrLZCc84KFeNf1qfKREgAq+J0Vzt1imbsW8BLzKUxIjcnoNwS2UcOL4lD0oocbO - HptR17JHG19a9pVXhIdEn7Ib9dj0A7JUIH9TsmddMNyWSwXxvaJAHLk8JTMvWlG6K3jIeb1T0RF8 - dDh2vRk5X68zUF83fnQGBQS1As19UkThB5b1SZ6YiAI/Rf3LcEBPoBqAkU7pmrAVBoDQlgQi5f+T - 8JONEyG/PG+NqgV4tLoCb/7ru4vss6/04L+nlFcAe5jJEFRl3sfelXpuO2H1diaVPXPNpU6rvFP2 - M30GuRFk5BD+E7k8idDLiZkMlpbZfDUJMvGJrMlsV/JjRVwjQJmep9rxOctLj+ydmU2oZ+3lCyoR - MA1+ViaCoRj3w9PYe0fFh5QiWtdecyCnfjhhnJqCeMcdIH/s7yOplavzozrLYJ+k2syV3+LBdObP - 32svgT9mG0tw+AMz3AyNOoXxWVlUuUNZzSYT4lG80SAQr0RF8SsOxl7sXJ4ajbyDYh7gUzL7IZdj - 4+62DdPWHjnISQFWJY0HIt3Cvd5fatwdxtfQI5thTpiE/naoY+NAhbs83vGIvNNFaayV6XURa8Yr - FWU3dFESeTzqa2SafXP8/Iv1DkS1psZyhf3GLhUCNf/OrbrUmzR3pebjzbWPhhFikJhn2u0gDMX4 - crrY29UwI8/tBHgWn44= + khuiJ+7+ay7Xz2B2BREkyvLnP0809nUp5bnjJoQbbH1OTBueprhUD6Kk0bCW33EUx8+ya5+tRqsa + YUW6ATYmqA6jbLGiPcjInw90UxSAATxe84OsLJ7GTGiX03re+v27gKQ4hYL3s023RQaMCXuhi7sz + 9t5pXnVl1j0D54fmtQUo48ahd6qf6bUngnmudcw9aPZalZy58ElBUlTHPpPA9fFdwp9ct1nW/rOX + 6nruzmzFbHRHHu+oSDywJeMBv4T3z7XHc7t+9zG/0u7zZC2+/xaCok2hTsy+eGZE7JT3917ZylDi + 4HJ+Flm4833LQZvPSAn66iGpdGHiIecu8MTghV8A/ntF3JVPItmIrKStv5AqbPOVL+KQa5701SF0 + 5PyNmpg17L8Ny1q3asth8M9jnL0F+anOz7DGff6y8MTp3hn0zcUxB2MCl8/D5oMxoifmuKrvLHek + Oyrk0+wlnutWTq6l/biFnclrIDr68huMcwjUnPfyc2uP6JdtD7uZfLriXcFZU0otMV1YI/q3Fs0W + bMC7n2/4pB+bbYnLDEF3iXxLFwyKGvGwAS9TdVAMeSnUBZHr1+ywCP8WtBNgMnAUoXrFkomqyci1 + 7jMbrFm0AWViLspoZLii2BxFWbkLvO3U8oB1QnVk1yANH5KYo/rhSBdD1ugnUdc17sWGtLH26MIG + 1kIinbOXPFtxsQojQRk+AiiiTQ6YRJxuPOiCbNQOIDbZUdqkU2+AeV+XICV4EYYkZnsIWP6tMwRi + vlaVctGWHraEPoHB2qHrKjMkBW0vjmBKuWJ3JBqYM6Wx8WjY1EC8iPE3h2fe7eoArcpHJKwRCFWL + CVVElmbUE7wwhGN8hl7OtAs4RRQZyeZ9iMvdG8O7wsQrJpwlwC/t29EwjtAPkskkYEVO5y77KOnS + s6KHaXJS5cZYB3Xn47Gm2PcwQTBlZTRJ6GU/kv6qyCoBvNPj2gsK+DXLH1PDywaDgM8k4O/USVea + 7cZicK5SKTgwq6Mwistf4PiBIDb/FgU71D1ocooBcF0qK0jswA6XpbZMiwqbnIm0FuKlltMz1KqU + DZMLRxv7+EOl8FNEcyMFhZWix0cgCG9DoqUCsvB3WeOZed6JWcZ42Ko4f7Is9adXA+9eBeXl8s1j + 2pZw2MZCuX12WkXVGBiGFNBpcAxItOwRmG6xQPJqPCXAD8+9MhfbA/HtunauiSPqWCFbJ5fTWgz3 + VhdqwXJTd1GbvTowBVGIDY9zbojFuRo4xre+/oh3bfEmgH+GK16nPB0REPdrrXit/YM+YreeGnaN + lApBPws7X7uWdEcnOX8Zxg/VSAGjc/lBQB6Da/8K6wsZ4P4I+ZDNQe2PkIwhdYJrsauO+kQbxmht + e1Cv7LQzBzKx+bRNMZI= headers: accept-ranges: - bytes @@ -2437,30 +2577,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2474,39 +2616,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=18416-19455 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - xfhyutjb1TAjz+0EeBafjo6s+L4rI5U60p1JwSVOSvVKfjMCkm0dCxbLcgmI3tjX4jcQhW+k32yJ - jBcL1VmY4UvOcGCEg0YaFpV8BHXuPQ0aVEwa0fw/MXCCZnLORU0uAG4KV6t5F3LsyfLtkR3cEEGX - 6JSzdR51XeqIvT1IsX6XCQtw8ijZKitYKuRsdl5LFshJBADqsunsiyf9rqMzTLAuVDLsVtyj+GlZ - ZJ1Go9QNw1l2daFGBfS9x4PXtsm4GgNlRxLZq8JTRluXmDqUIxoBzqzq8hX9lnRAN6pogGnHCx0o - CpY87AoLl13vi5FArMob7mo7uhwSkHn7vKRjjUd0yYtwt6s5q5DUU59HKlHzdGhnDNDaSNurFVSD - TgfaIJXnfluOS+EXFySoIZwpxKZREDIXhTIT6WP8qpMT54t7DHXvFeUumX6RScxHZp1UvI2EZ+yd - sOEjOLIoFGicWu3iHqGIItsVqYyEpxRTTSvEqDi2zbAc83KzuExKbxA9gPpuDIxIWs9eRZL8vxv+ - P372a5M6UiRMLhhM/55xDS0AfJ/nu1tcM4rxomlOwGKSCb2r78GdObo14ojDz/584xpXR4Xe9FV8 - M5R4ZM+Qbxj5NbJsThgbDldhIGCpOTk9xE1QcYDymkFvPW/9n6hvwWa0+rQWODUADA1OdEOLTUok - 0vHNe4lI6Z5KgvZTeqyHe04k8gfSAXwJorX5AHPPaK3a5QMtG+44KyEJLPYQ9CDuipJFOOmxpCKO - 40pbyswn32F6gJNPUck7gWOIw3NCDNkoAZWiD2SUAbL7e8PJj9G9IRVlBWvkwMBYoFpfo/EOxqpW - pP2NXlLheIxwXowsHBOffvgmKFKDZ6C7D9sDzMC36R5fRkVMGPtySeMGXr9kXcdY3EDoBr2Xs8cY - +/90HWon5k0aZ/Q0mupgPzpa3ESqj/KyCXlWXSYVoiYd26Jf755nwHYF066/QbeK+uTuzsXj8tK7 - 4DXK0Aj/A+wXuLv0nLsVpSMoTEAxn8nf/Jb7rB3inON+9hIVNkxdLx6+brb4XE/nnjdNKCJRcctm - sS4e1wibpSmLNXBPXOs6auItrUewwYLdy3x5g72r/OSo9ZixMbFOx9xsAH9yNC8Sbsxi5tTilqL4 - I/Y02kYQZHsc6GOmd/vaoogzI9law3WljKiprVGxAoL8nzegmiS6iU15rt0bSpl8RrweZdOCtSP3 - GTbnOCCfnjSOVegwSkuewhXZtmO7KdgxIctI2MNKkW4qRyJYJlNnWy0unIAN5hl32paNzy+Sz+nF - gCTnBNoa8Y+3w42ay1MbRW+XubuMisa+jkAun48rNruunTkK1oNuRJL+JEzZ8Mb1ew8aLCpVjBtD - bvy00dEzzsRnlNlrTiw= + aG17UK/stDMHMrH5tE0xkvkoS9jy8NR6GHmYTiwswg9oDdqipEjxu5XKMe4FyJFE47KKJvE3I3WJ + p1cz0T1yvFEquZyBS9rho3TPCKbCmzFmXcTYtX3v9EsgGawUbVcxSjtmpfo+72+OrE9loXtiHwnH + ObxlkMDAzrI5cLI/RaPrveOXwmT3DbsspN49d5j1IVq7ciRmsyqnPS/y+6jxb1W8u7mfxTZx70WL + oddP5B+pEJJhyPWTQYUVj0AUmrICdCJcLt00UFI4mSy/bbhXTUo+tZUBxms62e39K8L79YqBJwAM + 5kQ7GHI9qBfwil00wPKVP2KyPeRBkoiERGFzTwhSxFoGCCvn+LvuBpYmSrl13AGEj8vs1nVcaqJZ + ccy3fgyOgZQeXurpw/QxQa7otYKsr09y1KyqcGA3Oej1DulGq64AxAnYdkfP/Yo5MxKQ3hBvAjl4 + bPR1Cp93reIkNRdAppMdaEP6lxEXvNG9xl7zcSO8zlnGjNwrI75ddEvcoUuGnHSkDmsQWwDSn2ky + JWVqOQGIG+7wqJ/hENOkjJ6ybD8z5HAbx8s3sDfdfuz11ESYdEPi5tIQEM0T/Ydzm47Y9WttITaH + dCRJJnyumef4sfoYx6Y8eqEg0ISkq0ZBFljGK6YfrVM+3mv4rfbVPG1no9JZUfpf0w20ef/VPjeA + 7B7+y/aczLfpcmRgoaoaEXr1xWCVPAG4AnsRb6msexXJCg8sxhTMCmtgKzEalPgaKrFaJmuhYooa + 5buV0P/Njz/KrIeHs9kyqpVp3WFI9Ci9A8TJ4uvc5+8HwtKT7LUXTCmZMlQkKFhjQCwShd71voDp + UrtLfSHPqaaCDCpznXkxPoF1eqt029plapAwSWNL3jR/DHhz3FlX8z0yJQq5tmF6pC/hzLG6Z63g + L+nVeD9mysU4fYsL/4HKLoqnufSu3ccJ/82aofvaw1OUvfprjgsjePgAI2rDqZj47EQdMk8RMiUv + NhXsvBgQjxijMG39GqtI4xnGmVVLChOV9D203JX1L+xTUBidCijgVdfgGaZliLNOBvSxNolzmxIW + zgmWe7AsdoDtIqlZdjsMjfG1J0uGHAr+kC5JxoAsH2vMDq+p2aZVZIJWDvvb89dDdi1Qr2SWt9ke + fVxBhVcmBxRepE9xJVnuZ3PXrxtCz9u3fE7C8rfFakctsSRgouR4OqtBcW0siUtwnlhXLufOp5FD + PGlLkhsEkYF2ikP4ieq2hanb1K04Z2b05aKWThfpvhDk+XFvmXYnVWfR0RS/ggQ6YzmYuhegCbe1 + E+1jEF+fKEEl9UUnjXharZz1CcuIxjEd+Y/Yg7BK21pyJBA99ybTziIhJE1x0hBUMY1mxqCOXE5l + 1eGdAK+D4ZkqcatQ3JM= headers: accept-ranges: - bytes @@ -2517,30 +2659,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2554,39 +2698,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=19440-20479 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - G0Nu/LTR0TPOxGeU2WtOLL64bicXcWrhqcjLqdpzG6zTbmT5MLxGW2UdXlDWA+a+RT226TPvDKwv - 7izKK+x2b76pcRuCgCAm9HffIH3kRAQJoy/xTCr5US9YoFFf5sIotXYwiJm/sHi4+/DzLl99/qsE - Yilod2El5AofcSOqU9GPAv5okfC3NrmUGkIAYjt9m6ElSkmDPP9FLNweOI5jeFv+4TAq6SEjwRr7 - Rg4VAwP0aDsKE7NkCbwd5yvnKLBlgERyHByFkLKvH8hxn0ymgTUVQ/E9urGIuCuqDJbB2A1sYRiO - PAYCRA9kaAh9tVcFOVsELPR6CfuAvtXxFge0PJEhHmZ0D/ofu0+LibPQkEKVWbPuco8BOp1dMdpz - pcZKPV2CRHLySXiMxSMLXRGAACxLK8UdC+wnkPn3BOZXMascmM6uNJdl2gpSam3dX9JUCG+/JrIa - q5//dYGZskk5Dr0l0gl5IKxUvekL9D4SSy6YDlt9AP05PdBI8afuAZVYRKhdC9leZ9KTblWx9wDw - 0zBfpcuBlVm3ZafjaDTjBqQtxVdHsrU/cx3T4oAX6kmkV/P/x5ZKqQUlIRUc6xRiG6VOu1lavx+X - toGu5T7mvhRcNTfOIteoy8NWPAnTnEAEz+s/5cZC3mSE3amOCJ51S/VOvpg9hc3bk5X1kEhwjqJs - UH4tEhB0oZBfwK78fR3W4E8NxWyFI6rg0Jec6Zp3j++tQt2uQkCFXm7CQsJ1FA3X1NN8rBMnn/Dv - Bi9bn7VJJjsY+esJtHYDWBryKnY0Rc1q8xfJ4ot4cnLHPiophMKiQKKlZbdzQDFhoE80IoHmQH8H - ER7SM1J610rakE1TR1EPprgKRK2PRJ7WmrVF86ssa6oGbQHZxWY9J6nfIFeSUECgHkrP9211c8V6 - wriKNsgo37VJb1UHysnjNFsR7a8E0/imdjC6mYE0U+4RQJOx0m172Lfk/SU8QcNZ5WS2Cd0JIh2a - w/N+W1HJHnjbM2Hvr0u4OPhQy6s4MpKOTM/Fn3KffuBpeDXSitpyOuIfNLN7u3PQyRzU6btFsHzy - o9SAlcIUpCGf7DmuqEuwfamCWECl+R3zak2bQt7gSkevSqEOv6clLwg1nC2ZhXJ5aOIsfCvfRqyd - 5laNUPQOlyctdZmDHYxt7w94yLDedmrpy3Fgyd/PLtthig9Z+mZmG8NeFZaV/4WZYxEnULjqui4E - cCFpiEzsGaesUR4MsVoWID1Uwcq229smRmfjpZLB/CK7NjiZRwyKkBxQELZ5CFp/cImIZRq+nb0i - hZWI4qgyZddB/x1n0iLT8+MJg+ALVQvgy2iOR5r5Q/zMNllScYqTam2yYGUjse0AV4kTOx81TavV - rzFvspSCZjntGFDiLOk= + TmXV4Z0Ar4PhmSpxq1Dck2heG44U3vI8Pdn293S6is3TuGkaK9H+nRsUQh31kMW/qZbeDpc9gkxf + bTiDrmKAjKKHpbdSjtvgwxXuqibhYu2Yx+lcEGX/O1+2tw0DdcUuFzAqiQiqgcACtIm5WH2oUNSF + vJYNg7saVHKEWablFAyuIIC/CjErHuucEHfvBqU/wKJlS0BUKQlfjfO2x7xVUhMBsUy737C2l1Pe + gYdWLiQWqpP1nnjue8C+zEWdw0C9wAkoJeS99JL73/UdCDvsW4VKdhOBVXYvQH5Kzkb5RcwpDu6m + jsAvP7k99rNONfpLJv0cgsLoSqnvzOaGBYMOHBldLt08IWiQwEc725uWcbPqgnaB28RWWZLQhpqb + 4vgolfQOo2MboShlogqVFGMZEES8shfcPVlSnJrId2K2ETiuzbUY+5zOfPUIhJO3JuhSMfZNukg2 + qCETvCJfqNTnIofN0bffMnfuBPApyja12RGPKEB1BGHKEOxXvUMPlf2or4pZcEmNKpWqi0zzEMLw + lFdQNJ900l3Dd5kOVUhw5RdRKbQ9TJvgppBp5TZQ2cLPojrxkuOyurC31zrkoz8KAE/zU+iGAtSM + rcv1NEpobLBt6USfUT6hkWBHbhtqyM7JMdbbLwIIcIymjKjUlV8V5UMkplDjzDXoAH2qqIgCkKUl + LU0wT6G4sQQUVWj5gpknsYlMEinH7pqItVfND3X1bBTtWnMv7sVlh6NTzyVX8omFbh/Zl/S7slis + ncoIsqnYOE6OW6E9z9E/daeJXOGAT1J2hdhBXm3Auz1IWGsU+6uJUWvePpS2xqwTwtWGgy7QOisY + eYJWJ9qqToPiJlyF/99jVGNa7khbTrQNcsU5aqOfcgvO/pDobJ5TIGITI7RPvagQyRyxkPVOGsN2 + 4ggdQK2YLruAprjfqCo76Ut3bP/qlWSmXrc8dk7teMnNhLjgXt6zQlPGVJxvB/W6cKA0Hy+jj0DA + 2qUp2lWcX7K4XLkENqszSM+qJBoaX9oOFOKp/QYwr+R9c3XO8o2jDq7awBwF23kJ9MOMgUbEenim + a/5dRj/hBOksP2qlURbFScGOKeT3GiSpQ8oEybloz9qHc60UbDTb7+ZFYxRwI3MZ/qKdX0Eq9iaJ + oS0xZB1AtFM+nOTunDek2ed4ajISRRJFodQcDSzIQd+3PNEvOpCv6xYP0pi74pqD13e8+1RtRhwU + u2CsdYWQnvgdV5Rw0ixs6q4Stam0bZ2kw7w4DVJL7doTd+QO31S7W9fyZeREG3o1D85CIzTIYHXq + 8PX24PLpRycvvGkWLBXkZt5t/6FhXeTV2+hHaCEcNiLz89bDnh4OFkcduARhkdbxd2XqZfvKSODg + 2GLkFN8A5v32CSDDzeI= headers: accept-ranges: - bytes @@ -2597,30 +2741,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2634,39 +2780,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=20464-21503 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - q9WvMW+ylIJmOe0YUOIs6cDqxvE4yOXgFQjWHL5GqK3iH4LWzbB4j2voP+D1k7P8TvMxYVSjo0FD - PsTQIa82xzoiFK3YuinMwhQ1RpgUuyX8zbo3921d2o6Jwp3sPs9R/Er3JBur89r6uMC4ORN3lsQ2 - CmgJAJ8qs74GCDSKhjcAF3EuQ0D9cBJZE2fOckKzpQ7avLG+Q+mltT+zJ1NyL4kVVvORZVqu26of - hEkeVWGZaXAVfkVCTvnRXeS5s5hJjcHVYn7odFaPRSpGvgvlWwfd08+MAFUBJrPO57a3L3HUAKcM - KZGWRKpGuo88QMpikIlX1vjfwiFd7rW5uqKaRBHZHCjepGyDmdTJs+vSV9pOGXtW0xB8ZQUIzwHd - IiH+w7x4an3dUZnzWwqPcG9T8ymVeptEmUpLP/B4Og6vFP7uoI/I0nlT+elxVztaSggU1yhZXRlQ - 0alDVdnMGWFBIoyyZsyNKInOIXYkwU26pW45ZEmH1uaslg5D3tNusnXzbwy40qR2hXUEydICXWUk - 9QW3gXUMedfHDyW27cDqITZC/JdbNVXSNBXh/B8+i6YMbuAVcqLELi2Emeh+QrXesOMsIwBEDQ4i - gPQ+u7n+NXouiFCbas47i2XxSQOlrSf8IH09gJDX39Xg/EvqjW7UA8kijrrbewJtMs/PcEC9YFon - luOiRbu0jQ7cdr9unnqG/pM/3kzWbJWnFrAtkkfQvUL0Ga3DuZOZjS9DaqW2M5EEpRdYN3XGitJD - ksQvNJuXttmd9BSWQjJe4eqFdo1FInwoc6wCCZApq9aYN7YklXoVqyNliKf6ix+zsuHujJVqT2Gb - cuG688kkxvELwUbvkSxEQ2sfdoPBenyg9EMNAUGKRGYQQ1UfUjOj39x663SCP9E00D28ZyED/YTC - NecrxUTIP29YR94vIUrlcsukcVYHzpPvCokpuLBtcDwH+tgyk4HdK5vzYkBUQxut1fraS8w6PNrS - bTs9lidC4jheb7LUUXUEBd4b8oEYcx9ETfipQNVKCTiK/92aQ4XYNUavp0S9QMTeSGX3h2F7294M - /+VpcWyiE/P/MfA2Lz6wUzNr2Rey1qA5yBSWay7weUcKyEnjdjPy9evx1hX+42s2kHMXIvFTbpN3 - bxNjDUiLNhuE4rhTYBSqLxc/OkjZR3AM6TfMz3rlTQAhU2PYKCX4Pa2XqkqpJJb04m5mkY5K9ScA - LP5oLfcArqLqpgjMJ1ulkg6PxeHw6KiDyLeMMlPZnJRAWjHG5+clnBSzbDkfMLbI4U637VCqouFD - A6R/SSUi+oGSxuivmgZxoiHg1m+em0/uOlxNWsla9bE6yZIEXgQdaS/gMPesxAci5dHkysvKWx4y - JUShO7qh1qMWTIP+8UY= + 4ODYYuQU3wDm/fYJIMPN4jly0voput7qHJobta03BCnKyauIJoFR9zy40OuBXGwGDHH/ZFpq31zU + g/SNuacq9Gs9BVQ0Rfi+tc0NzKuKsIPaJAhTMOLmr+Cx3lJdbCSFIdPGOsnQNT730ZzoqZC2Wx6W + FR3ZSI1eL9LYsck62WMolCPNN0TgPD9gtDHGziyP8CzjLEv2Kdq3JuH2cGaTbbnlQfkx+3NaJP20 + YGRWRyPhu62O0KI7Yolf5qlCV7cxDu/M45XyDGl+DeSf81MJKNOZ1CGxW3ohgcWvUw9/iSN4bfTh + U2k3q8ZADYPVcT7jC3bLQS4ALdovCR0zNDMSzMFEumAg6whZucq1DwVAnwB2SNnR6qACp6gr78N3 + 0X2E+zC2G3dvL/mnYgvsf4d7wb+Yby2pH7iwwsDkdBM3GZAkYMF06uWtT6oCzDv1MNASzQ/bg8ZN + Twts6uIuJKh0bm13M+/fN5Lyi5VReyxE5e6obX5jRb/ntTw5PRA570Jq8FyA9hTh0j+npfI+x85p + lXb6VBQQRNQAl7w1zpw0gD1dRYRVLBpPKgVOwXlJGRNx8ZEzfBtXz9h75a+bV/HkuuzPsk+28/7v + 7vIpg1eWmign8v200I9JLDOQGZRO+Nc7HOyZDBRz8jDwXdohSqhfqw0kbc+n2A/+pO/6jax0M1+C + W3JFDsjBgw+/HMMz5/TLijo2b+6IKrFAfSM3bt1Q2Y9pyHO98mffRuB2RBeTffVdfEYILj3o8bSs + fO89AE5g9tr48uJXCPm9qoGRTSGPUnFgo1CSAlYrvOkYGAyraijDTSQrntW4q65hX6KGbITI8cVz + RAyc+BAoJ9isX/QtMSecAC1Cyi8HppjXkDdUgBQRS5YSmCa64fHPl1ueZ1L4JqlZnifMbTECwFUm + S5q3SK8gmdOuQUSCo5Gg31krQZAw3LMmp2J5ivjtcpJ+vmYfeDiP+eznjdDNwuhgglSW50n7G0V9 + 1ZLBqDZjS7Rv9XUjPZy2r0piTo7lmlcazA2XIiCOpqQfBFH/1L6EMuSSVkEeRvj+7E3gr6Wl2Fk6 + 4ljKAF1NcvhOm+in4iXnfpa3fF/njkXbg/EmMimxFinvUO/p8+nodMrcKksox5O1GqA5AOgKiQ6y + a4EVi+XNSSeY72mEhT32/NOgnWnymDDuX3AXkK6582kv8aavkFthK0u8UUIl8vrwza3yAhREJwFE + gYIVtJ30xM3KEzejJ2sDFBu/0ij6Zhjs6ATPsLAbT3aGAAnEHEs4SpU+r6cpuzG4Xdre1cwFeGbl + ENe2pXvB2KubPg1Hre8bX2IqlNDxcjX81U3jNdZmvLMj7PHQ5fYuCpRA/7AVNM8bFmtFUTCnC19g + dPSmGz8YX1NcGOfokqU= headers: accept-ranges: - bytes @@ -2677,30 +2823,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2714,39 +2862,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=21488-22527 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - HjIlRKE7uqHWoxZMg/7xRg76hBdF2giwSh9VkJJEuQJtdtCqQA1ouh8lof7JocpHnhYsXGvpaAKl - PCsSfTPbwhiGsON24mMLV+KyYdB4FdneTxIdAIxghiDXIKBW0VjLFG7pG6FrGveTvlChu4vwq2eK - 9s4if9Kn7Rcux8KQML7/tQH39JiNcGzyqFWHREmyTKSqlY48W8bPVw9GIAAcUdCK+kyiWoOQSMo+ - dB9WyWE9MmXpo0HVfhSgyPtrsbsIzvJfXYq4njNrzOlrqhLkOXfrSI2gUxobWK04dFDa/qhNsiq1 - H4xAS2PywjPZcXKUHx2BA6Rfd0Pst4oOhzRdWrfxP/T5byClDF34zIADkG9EGNOz+6Yf11CkbxgX - 9oXNMUiE87FssMmNt3dRTCscTIFgHdDeK0vwlt6pwYAOBL7vJTJzlELdcTy44v7mXZ5T20u6+gJn - 0NZAYNe0bO/F3hTQ7uvi9E9O8AO+fleTiJxL7j13gUZnHyDmoP6BvNUOwsM+HZM+xYoPvFdvgnzH - q6Sui6sfSeY/eX4zTmjGR/lZAQT14L0kqUaedbFoLmlo7meOwASLkiMRXgT/gCxRM9j1mukhuZbL - a73RXKGjUy6sgaMxSmPp5LA85ph27+X3mhZeFnlpvQf6et3htzb1w/OEkYfNIw5uoaKqgz5pIuUQ - f3CALbYix1aYHPtsvDG4pl7joWA7C4CEgBAjPKEQTKmlosmYVExl55kSHZZDFW63Tvn7bxluwJDB - ujRKKtZvA9R+hV7KBFBDbowB7RETlWF2ErznuSSy9ixYct3Rn7DbCev/riEMn6s5ofB7/Yj4WCiQ - 8IgNwDZemRuX/OFUSdBSKxblswJOQk8LsVx2bnK2pLI0uh7oaUoG7FHdEk/9fsjvqmYYFa08ayuT - DOhjxTempabY8JEvq1zUO54tvwtqVaaV/Tbw8mb2jlzkpy7yxPfW0pVSChd26QJpS6nJewIO4dQy - 8umuf62kkVzEmaELdM6hkTsP5q20vYqrN/UV9C3k1KdS8bbB+/JOYMWr8oMoV04PDMzhirU/yxQ4 - t926kTin1pMi5ozxHZEotTzZxfuPcrRYwbxQk7cKUyihysiYl6Y1NgsvvJUpxCHU4lQVau3mxhYl - mhrC0+BzeeotBo4A3EXspgXHm1zAJ4FyZiM20gxA0IvOLBU4AiYteMGFMzq7rEe3uDaX0XWj8gtN - TssNla3IEFltykziFvsqMo+gQ9SMMMH5JWY9SMJ/3glz5uBaMaqxPZ76O3AFkqDOKuc99OJ2+xPZ - HcbARFfKVZyy/sAzBm6EHJQsA4RiC0w1saJVnshKSAWbX7VzJYuuvL2QveBTxV7evdDqnPq0Ws67 - z1o0nKgkW1ldC4DKrdk= + X2B09KYbPxhfU1wY5+iSpSWTwJEvXgb0XxoX7z+CiP92KdiNoPiKj8mbKgOxew9E89T398L6EHU2 + NyvRP7+iE8Ie0WpAnmDiYguOik9puhtXxM12tVNQFn/eTsKBq9nGWUWP05hG+ovIJIykXzV9Psax + 8YLqWIiluwL7QlwTGgiYW9mzBlqSTCpRCayP6vWNZR+eKylQs0BQWlOvwQ0ayYZ42mHDlJHJITkn + qiLgvW/oErBD4I/aNtBvuPTA/10H7jyxlpdnvmLKbhVz+yByhmpDESvLkeK7WOARPa73OkfbPdk6 + qaPzqnoRhBzRR2u3Zr9fLQUMjYt9/1tH+uRU2qUH/V9jZ49NF96nUnKF6uOw4C4JbyTMrxxCugOb + Wt+QRkb5SXkMHnx64v0OcCafpg2ewF05zIJcxAHuWJy2TSkUeJVMGP/O8cACvko4DdYE6CE4xnxA + QN/x6bT2eRPY9SaPyuh1mmABk7uSgQp2NY4mnIhXaHUt2cF6PmtkMvznXOjg1B4+7tIf6qJsUVIQ + DXvrAL2HkNdAHWQklQalQBf7qP6cPSJk4BsXFIegVYNnvaDjmvtphSrFA3zRPMnXzWsxCFrj+7aT + In5yJrk9zFdLPCD9wfKNVV7N4iz31Iw0lTxt7cEDsZPMYagR00MgdSLOBUzlNw6cCpP7Bpclo4mE + DiVWBW5FXsWWZScRsEWLRpZOvfZOU3+Z9Nv5nlOcCd9VbbN3xfCFCCKEqu2/uwxfL0Yxct3DIpbu + ixYw8kwXcvO9Ra3x/sKBN1EjSGI6TwKED4oSOzgsYm7TWzoejdqxho0C/7rmMl4R5oTZy6KIcJJe + 8bCm3QdBTQW2Z4Af4XixczKCzSQ8Dj/+k7LRaFaUkk4hZIJVoXlROeuZfnidvjUIno4ZWjZfSRhF + Gnu9mMfZj4tgdszVE98VV7nythcfnS8ySAITJa9n/G8gYYcWyHS6RKkh0xcTMlZl/8eYkQ8oJrtJ + QCHg5OlClQds0l2tpY8AiueAVHGgAabErxygOyFih3SwqVTnTYQKr2MLrskGEyzor5BfdKybGX6i + n8lOTr7398/UervBU9Ldty/WDrI3ib6nT6gudXW68kUkGRfJcIVA5WnVGkVBmyP4487NceEbwgtC + niVUFcJp3Yfvn3nGVWOP/W9ZFB0pxbPJTYwhzGHAqMDTrOgt9oDkMc3zYK0l9eoU+3ZIM33QZ0Xv + L/YGNeQ6zX6oDC2i/VekNViU19IG2YHSqb/4IWI9oo+D4tL5dKQnV6+4X21g5N2u9Gov8EKk9xs7 + +Nm2CaUlxbe8OZ2Ui32+TvQ4qVSh3LWG2hdGncmswzH/JoyikAiUv5lhTgEVFBp7YxlwM2YwJzZ7 + IkD+7QXKv5AU2hSaItw= headers: accept-ranges: - bytes @@ -2757,30 +2905,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2794,39 +2944,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=22512-23551 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - zrvPWjScqCRbWV0LgMqt2dJLJ2rvQSMoVS42p+sMXygvJwQlGQet6fkZa0VibdJxYxJYkWCqimrz - 8eRIh7Qtfnc+XJnTX0WGh+4Ra5Lsyt4hfwCP0QUO6ax2gqaTRRk2cHFWGJnJ7JX4wLU1pADhHgCC - 9p2BYeog464u/L9G4ZlImDzVn33V2qri7VqZI7ubsf1VshnuTZst/DlOYlCC1GiKYvY4luoxq78C - MRKGGSi4+JCMtYDXFMYH8R8TOF7AGte6g5KPxheOwFfiKbP4HrLxesi3Cn6ly8y1XKqkFO4vc7TP - V8SAkAdpNKd9S9le6g61sAj/xmnRvJ4LKm6b3D3B07OI7QXS73Sxk0Qjvn3+9GH5qZ5wJjBVe+Gm - E0QOx6vE6acrda7di65AhDjDnrQIw1naXoqRD7f5vOBMemxesXAzDi/fSdKmg+dWhCzkPCjBN1un - QuNZxI905ugU2PEo8Awpt81vAqLyqGYlr2yiq6snT5j/y9iu4tRbzvugaLNhYoLyrgm32kZMpWzF - kGQPzy/tLkyaEI9V6l4m9zQ8zmyrJLtLH7cO3RrFwHXw97syMtq561d0CX9hhdMPKezwWR42OJCL - ELz+dSY5SbOO1cS19/l0htuQlW96trvgu+D4Hn9EU5MZ8LMfHqUBe1wuWSe9nzEdP55mEgKxJeRf - dzKMwRtmHGnZmdmK0mQN/plfE/3XxDppqVU2mvx1ncxBQ5cB0blX8t8fAqI9Hab5Qk9KiVKqDSd+ - Ju9MRPTfufpkTKd9qNJEoU4kklR5kucOQeJ6qH7w2yZ65zPvmgOXSSaqVkcaOI3qDrg2VJXhhg0K - 7/KPVLV3KRD7neZ/V9IDKp/d6ACf3yhPcPeVDawBlh6292zJq1MGw8dCrDlnNlxZIMEn0Aa/uZff - sw1IaVHZO5PvBMUcKjSzfCZ424WqVb/aEJoh1LFyaRLwweIbqrMHf/cTywbSCgBoUlmgNAJAcBhf - OI9Y/mJQxXhYjSp+ySc9lEKYPydI7oVa4TEefTkZfv7sCP0iufJY19yJf00H/94jUVp+Nv32xKXZ - +wFvJ7v6+AZ826evh0LrZ2smAAvMlD6piSrJcoq+AuWnxaN+3b6w566ugMSQFtQrkQkkHOWgWNaI - afgoVqLVu4tlRD8PWJoxTeWY4h9zV6HzoJr7pdE9gTNq06M/5av+quc/7uhbbWFl756+wLElQztA - Bb9s5y4V1mWtOQtma8BK4r1AQxKbaaiKuneSBXgKUynpkmTxrALjyWl1hMUGZY/qqhJqHcYTI7WT - HnsSLPOS3BdoJMnHFGfjPLS0Qx1ISEpwc69HQ3X9kxN4WtMYp8NFUNDbtWZwD/J7ZfzxPiJV4Idk - 1Ys2XG4gCyMKEr5uyKA= + NnsiQP7tBcq/kBTaFJoi3M3WAJjc6e9pRxobGHj+vBiv9iWO5l3ftCw6dmdmeZ2+Y8X6NxnmbBhF + ZIFWl0V0ByiJEATfrILU583p6Fylc2CSZJbrbZT7qVKJ514TcAJ5gaFa83VQ3XyKJbf10uKnUuSG + 3bZcNux5Tu0LcoItuiTGrpHAXvVNlVSQPswLai5coCiBNAj8HlzQ2zZoI662maEBbdUs3IDnNTuA + Nw7cNmsDu92r1ph2cG2C7EtBHNf1pk1FjiB3LGkcpEqCAj1VOyoqvR/aji3fR7u9xR6Xl3ddLOGX + yFzWk7rhxk2+IONrIOHX1Pjuhs0PtloY4qyiqKMfScJMJPbFa8CgpekjBqWuz0EtIN0qgJ1d3DqN + cEdwfvvpfsDJa/GbG/bcVztjMZnl9iLCGW9Hc8capa9JQJzlg2dCM6odIk1qI2snyfBSa4xM/RoF + 4bHNoLhvI1Bi8lk+t5R1sPsp0PZ23HKeUiXGHRNq1Ry+1BcUvD/RzXEYBdPnMBOeA3F1sCBeMsJz + wCUZ5fHHcBDD3zwolOa/fjbh2xOhshkZ4nJgLH+KdYZPCNvd39gdf9/Z+u2k9x+/8popaPu59KIL + FsrSwZ1kZgoGXQy0g9u3RwtMnSoyeWGxOZWVHYTRsZrHe/MS17rjke4LBB+s5nJSQ9erOucZDoS3 + 2aeYxLctpU3Vw4uRLmAaPwUGeRWyk/9ZBrIFbOgTm6qo9znKkd1rbTjHc5voi7eFA/Ab9DAf94// + VewEFCKYKgXhk952ohTOUmecf+6UX6LH8+aSneq3EmCiaWyUAnlDsS3iVxtNJ2O6XletyDLTlBjS + EHWzY8F1cPm+Qor0pu+QO3SEm5anIv8DXzQwv4touFFRSdwwCySYLOzu/pQ9/HtKScsqeyCKvBx8 + 8G3Z61lj8jSkow/efE1ADv/pZhK2zYi6hnbgmoDPy7Lk8C7GzCHC4GC1ezUNkQeLW0oogcyBcDq4 + 2DsWusqHSBtgONc1Ef4dUQceYHA4Sa6h8OZWFmnaXQ2d4pNVMRbo9j9TRD5mpUwF6ICJnrPYTp1k + OzhGtvGuBKIVL1wiXgW0JpaVrtS5BL3choOfj/PQYwAl858A+TccT3AqvTsz7GWk16sgUVnuDghF + /Dcstvwk0w2SQWG4AAgLRWsWcnfmgU8Y3QBSGRleF/xuyec3xSrPkxd/s4wrsBO3oSHG2WfKdYG2 + 0DTehrSxZJiep7p3R/pE92Azh9q670AaV4fnwqXhX373QPs1hFkJHwQjro++TpckZ41UGvRJIHcF + DqYpsF2kaNYQKrdT76IDNJo7hJRNzFns2KT4rRNSzMdrjhyvsK+rVi0+rWGAbZhLDf+n9Rz3zaDm + g4AWg/xt0aCqsCMMrqs= headers: accept-ranges: - bytes @@ -2837,30 +2987,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2874,39 +3026,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=23536-24575 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - h2TVizZcbiALIwoSvm7IoLZB+DBiPHoJ1oMsleqkRG3tjArcqOc4Mp2eWXZJqpnUbQaIfsmjMcVz - Rwc+W49EFY4KZXYbeAhmjaS/Mo3i2wCQ0cj1gwmKrj+/WQ/iV91fYnLoG3vLrKkPhYh/tN4gg8mc - CFfvocaDFiqSOG9m5UGXPLCC2K0k4or/o1hiFVBVCbWFLzQWH9HNXTWiEafQdnlojIZ6giYrE+6F - Q5tR3F2mcNdGMszuspghaezoNa7fzp9W51vgTC+m7TAjeZuwrU0krfEdgVjhFTd25bK5eqSBqxhp - xTo78tKJtqLlUDXrEMkXfrzM43B7YAlQXe7mZ9BhM/jea3l6hSdbLaCtjx+6SfWBcQ7PRt0q2K0Y - wbKY/ZcOcj0nGEsNoczCD2DdYvdqyoatvVIQbSMVPondrQnAGbNl6exY6jvU8oT0mJtY6aWj+EpY - AWwg8Q30Z08cLTFO6nEwu9HHgTSaCFNeVB3V05y2ud8dB37xO9eIjjsM3rpv7ghZLF8xVTekUV36 - WVqzOucyhEecuBYsvAoXMoQH5pdpBstpiCaetGcrGjDAnh76xHm8Aw+AavP17q1pvYGm/EhZSX3l - L3IGQQWUbKrwEMmtqIBRZCOpS2W3ldqXj4B3EOyk+o0gzK5i/6AbEzV68kkUWPjTxkl/TQso9gaH - 1qPIb2D0Wpl/WkRM5l1jlVFoDLdCkMVptB1esCApfckZEo+aLuA+y/W8HnbbRZ/PFWbcjxhNlAef - 9V2yVppP6O0H++jViOWHoP3Yd86Resfg6F0cZ965un9ozy0AOxwrgBkVBoSoA/pMz1Z9xBzKyTR3 - e7u8XmhnyTtch/LlnDAD03Fqh7f+zE3HXrxFW91UmZwPrAlyc696AB+Ketr15nz/S1+ndS7hUl++ - A5ce0AHFsUyZ11ZMP6+3KAAKwEinx7cYndP148yqNe24oJb0dMhHyHOjuQjPfKq2rI0NZ9U4m3ZO - tSe1yr69wJ713maeEszo/TkXlgDbAj4NozUvnp2KgOOWYrpXauBrJ1jvslAjxjTyOXlnzxslhIDK - fMOMNDn429jOwfK6FJyhVwNTRhy4VFzyN2Esr+uvSntDxQKGy3uDByxSz2O9Bqqpebu2LJYxDq12 - IpTsstmeepeQhCqmSmrLSWjF6xOdNoIEUXla5acEE/78POdC+fbvF10UTykbh4dCrS7Kfmf/dt1R - A+PnExSsUzONdzcH/iOy7cK1WiDOyHBFwwfbbHoh5JsWLkI/zEpttyvGOoU1xCWn+DhZIGR5d7Ij - wO2NItLWCPna6rfbL7nf7QXRgn5O7EKYTdDVr+4wEs4iBF4gTicyIKTCgwjzWgqgbTvYZxT2ljfJ - LuwfF817v/ILfBgqvPc= + oOaDgBaD/G3RoKqwIwyuq8ZdHS25I+e04vfEoe8Ne9Bi/CbIWpIpLbAY8rVSiusL3kqJFeZ8UMU5 + OqWJcUYqDh/9JkkGYJz+MpSy2CMlndkGaCYLRI/zqMxtir9o1DS+PKJIr7grov4hjvnRC3HcsIuq + 8jEHoDQVpAF7EGB7562C04C1gk9Ka+DgkBQSiakyuvDe2XWPwsu7UPO/4mhaUh/3FJSuAVx+l8Ku + ZaTlV7RZNHjr7vgvl0WuwvT/+t0jQebCiH8OjhvbAwGXXoA+8uJXeRCZj/sfE1WLodzz43V2FPYG + a8lM/xqqFPXKwdUbe5F4xvaLnh8W0FMHZbOBtgSqxsUdDXW/QiKwiioJtrMzKg/CLyYN/leDC8gn + mG1hZSulGb4EQXGOK3730LV3lLeCnarn0qlA9oFwngg3yZAyMeqpSX5STLMk1FuShRofOTeMGUy1 + mbg4IxhFhxhzi9qRoNc1e/Y7Z18bho8VoRna8gTFtAzjncrHvp0HAHMyr0CQ8NHHT1IBqJ8lhjNI + yNU8qfazZibWAkxh0v0wosIoxwstcasvbSA0GQL/WOkHdYDjlAXOh6Rbn81f/ktiuYPTy4LWkWxJ + NnxeIxjHCoAFCwVtvSGQKKc/yQ+nWOZofC0Unq8+LTKrQT/mL5/uwQFhKtHkmGjEB1BCzWvzJL11 + DjF/uLWuDMr22uR4uKFG5vAE3CIQY+xXHNhQrClNNL5csGoVRJcsm8nvxcOhq/Rlpdlbsgki0NMa + R9h0n0MAJh6O/OyQ6vo8qQD0bE+Z2xj5crbogIsLu2xWWkWxgOU+H3nDnnntQ3n8re1XD98XyTda + EbMWjOUvA8kN69BEL5szE1emm+hPoImvPYEqcu8r24Bw/w2M0xmOHZmH10H78ORhJkCHKiacCZxk + XjSWonUKGXJnFtnkfjmjnpMbKbVfZfqc9iC0Vb8W8INezrfaPZzaVkTVZHvY8O3B904Vj6wHdKDm + x5HgKUYBaYvZckqH4J3SozfzxuZE67PO5+3LOWVNWj6BfgS3Ana0XA0F10qtaXiMKCk6V+aKPuLB + 98DSCBuHjTMj56GL/HysJGVHKOumtbuC/bgm63E0+8wuH21ypolmQXQ39ZZ6hZqeBKCSOAZnYO5V + Pqx0hsopgS8MH6n3F4TuYjpv46cF0suN7FqPJvPrssbJwhblM4ox3Y/sGa+i5zWihzPEUsp/7Etc + OtEj6McNig3585w+KJMq0ErAGSnxqhlXJVnbBI5CIVHN/Ywr9mqSyKoT6JQ4cicgiK+TmZSW8UyQ + Ub2d5D+3rCaowwMMj7lgI3uOGN/nYjHkTK5Uy3IrFGARA9wfh7ygWknfD0Kfm9CbdPXdWvnmbLX7 + GVX8Y3yH8FSESYh8+VI= headers: accept-ranges: - bytes @@ -2917,30 +3069,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -2954,39 +3108,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=24560-25599 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - N8ku7B8XzXu/8gt8GCq89xQyA/0JCeDCmHhLRsAhZUyo+9tBY02Rh6Jmbbs4O2XRaxH0JNgoDsF6 - 9IipwZQ7SB2YtydpdaPkV2yKG71Zr9iPoxI9m+xXKa54m6cAosHi+LFDke/OORSPW7xwiv9EpAFz - GUi3UiUWhMrzbukkrm+0a8sfBwGdEWubjwaUC+TtWRCMmYxxxvrAZRASY7H5Pe4A6NdPCxF4y/ES - uv/hUQ6JNem3/HXrk3nJ8WbZfAEYCoZRsp/G3I9WPquvlVZyEszy0T9KYpiVQGbQMdCpCb6DwmMX - TfsbAGFs0k5LFlnVpDWW1X5iY7ebiQk5Xth3l7NANIdKSXZYKbvPY95eEGSfg4w7vNM6xdAfpJOz - v5kB/7N8fVYe7LtWuTerqp++t/bipfzVsbfYjvz6TQ31CkwKQJwaiw5KJhvAKn5rWQiRthIyzE4I - 2AqBt2hobjijx2UcJusX5/MfDPj4Lw+01W+hzLqdoVvvQv8mZNKDnrKPz4568V/ww7RN8Jib/tXH - SgKxG8XZKSRlpYI3GOuhDQ9E0l6rtK8K4+mKWhZoM6xjSbjhvhV2LzpDCcGV+z77hs2l9hMia9CM - QKaP13El+BxdLS5rV4AizyU7tg9mOpbJqekQ2RmmZux5yS1k4tsD46UCdrX9pOljQwh7TM6jzLLi - 4GVmXGZYkwSUPJtPU2TGywrA68LjK2L9rfDS0fbxbQPeQQPncCqxNT+CGZD/aCtUcT/zCC5bblyp - e72N1swHfNqt94yxWfH9nfXKoZmoWwMglITtVrhFwh13NLUFsKyias3TsELh7W3HPGMIhqMNV8p6 - b/KU3nHgq27/h6JMRDVQSUcWf71+ZGbKGJHZlGcpu0w8N851GPdp3v2xJ5oaKZzQUpgYHVtv+qKO - YI8jj64evNqBuEmCODfGCUKYppdgQnqSsKLH9rum4DdtLyaxb4R/DPoSAUIRP+BN2RuRfi9sQSCX - HR7c1TtIw6iQLTV9v0B0eJ5pV2Pu71gS/VZ9scR7MFTdHyxNz+7kQgjekbnrlZ04fPsv3Cl+/s6A - vjo2x94FJYYFEaUgyKwqdXQHnQBnEzDeV+VtRGzkCd085dYSX8PCiRCDCIVQSOqhH03No/VlL90K - T7osiqlmlS1ZAjDYu0HhLRENSgojN8Jh80g1DHLrBJHGQ3ViSDQJvpQgLt54m95XOAykEZZKZUY4 - dfLbzoB2aLigNmlQ+afsljCueEHJDcBfAi4cYq21qLXSQnoTSfd+pl58oJNC5TovRsxfC0bjwTHL - 5I2jFbIIAgIqF567jRnO/hGB9hH2y5J4Z3rIenLURIRR423IVXdzO4UQQLIYxiTNTuzG9YDvJEqC - njOaoKwdGcbV58JcciM= + tfsZVfxjfIfwVIRJiHz5UiU4WSyXcg6QQbHKVozral9xiBDLojbhd3PPRGK/JS10pPrS5hwrH8Ks + LpoGxe5Dw3xRYsg/TX04Rt7YyzmGtT/iNdWWuk+5BqUkMZiNaSc8sI482TDH2XhAYA3c+jRx6nVs + zoP5rR3ixMsrepg2+DloRiNdzGP0BA9bW7oFgMsnw/advya5Tg6V/apBI2R7l7MbQHEe8RHhLXQb + w7Dyolu8ZvjbRhXpEWwHWZdGn7nKvv7pwCXAKeQ+BQhu/Kz3a5P72zGRt5g803jQhtbbLZ7xjXC+ + KTdZHzbTui+lXYRsGd3VcRolqrE/XIJW8oSpKH1+3vaEoOVmfIC2uQ5VFL0urIm5kIrpN6BjuWfO + RCkgYTUQZZAvx7f1ULvhl/bgnrREPr9iydz/y5wrzcpcE20cp6h3unc51MKDHFKHw5qcFZ0JHkV/ + TR+4ISbSRpF+Ceg6nM+kAiCrhYck1cyz5EpJ5fntR7HQPkjYjFzaWkxfAxG3F7pARO6DsrwLOH9V + Gr22D9vuwGcj7YyeTAvsfoiNF7YujawOFrG7ck24dD4oKV4/PPhUCHdrLDdqafRfnLfH8+g6ECf1 + /yS+KpWLfdCwGlB/dEFZucxSdQfLpptrAOkWUj2PEV9P2bVEX0u4IA9AWBMqFOzPKEVDV1VBQE7H + jcYfRllvee1woXcYEyRvCc9xDFY0k8G/XynaAwd9FcM5vZWULeb7OE28fdW5jqnzVOf9y2Fw2Mow + oFY3Vax1UhFXuTH1wRVTpQ7gZX8fcfeQGuDUpOQHr4Zo7DpNoFxMk5KUMOC3IXLtJKniP0pjiItx + uQvQsa44xSPQEz3nzJgwEgMYY01dco5gRXditlyEKkEOpFYDECRrAZd9sGMevtfb2A9sTzM9TD80 + LNc8q+X+hIBPNnpoRx1iTYCV4okAH2svXNSJLoQwdpHc/mNFh6xQfoPZ2ilDe6xYzArOd8OSTVSc + Ptl5k/fS5tZMSkAwvRxg353+AW90dgZJQBIvAZt0Z9LnUMPXGEvREkhkv3TRojWzP3W00dptCuCV + yTfLx8VnZeuBCOwy4Ii7nM14HzoTkSJ3XgavJMJldyEHz5FbP74q7fbKXMrdMH/0GRJ0njtWbzLu + wmQDnua6eHxn33v70vpJAY34HwjCsBydT2Noay77/vBQ8Twfrdp4TGBBF0bisXWKLVuyUMFEFfw/ + QlmBV3azOkxqEE9HXqXEpsme7+60kwD5Ne7KDgm9kUF8/9LoVcAJCG1kXI7j+0DVmm4y8cf7Lk0I + SK2gXH7qY03w8VBVl61lmnQItC2V5EamUB/DnlKxm3hMJA92Wu+UxXjVrxMpsDjrt4hQpXbZDpIc + IgvQlPvvYnzNLsM5uV8= headers: accept-ranges: - bytes @@ -2997,30 +3151,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3034,39 +3190,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=25584-26623 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - SoKeM5qgrB0ZxtXnwlxyI/I+zRTa3NMlOKDis3O0cj92DqOSfxCkH2zMF4pAnXfcgnvt8kPs2gnE - TyLoO/srWx1jaKuvajaU4plKDGKUKHQuAybfHbwEEtYpHsihi8WcT8Pc7sJky+jm6mJs9y86J5aU - Jis1iNXteAK0lRgiiLyFUnBTQ+0fAYY9UnbU1QeSKJn/SmVqdn9ZVrWBrbE2qwiVTszWyWDjnppC - OAWU6yOYkzBWapX/RUdMkKAa6X6JsBuDJasan9hqfOvQsWQzXN+Okx6s6y8IpSEr64cKwN9AYLMn - P0ZslWV1QFlu6s0s4VJvTyzvnDAN6qxXrclSwIfBv8QJ0XbUbycm+WM0uEFyefKaCn6SD9HaaFXZ - n8N0UnTJo+JZ8eciIMwQ4MjEztm3XTTeXAvM/60dmsWGN0qGUJFKXiS6tFENrj166XHao40gz5rd - 14IEwTw2o4Falcuetna7CNMA4YNkYz+jrGgbtf+C9SG1is8daeeXNcsXTbnYF0MuhIsDasXBE5ip - lqRMlblOZOloqUbQXo7NAk8odhgdIZ7WIXmhGwwHhBJ45vFALW7uJI21GdlwYd6D936xo4If98RN - x+UgT/1HBxicvPlTGm6mlbGfHMx760E9wARUNenJXYJmldDOxGBIDxVUFU8NFTWLT3/kMnQ6QkaC - 7qjn3lVyPp0mSdkh6T7q4Mlw8WeYM4iBp3IPZqRCndFUcHJqkd1XxmCZxB4csQIFFYBDVJzGTi4s - 5KQr+B6eq++I69XzbxN4X/1ZedwaBEM7wZOWJFtDaxoYu574aBcYw9g7F6z/KNxfbSmcry6QLVri - nf5GwgqLAdgO/JG7d9S+URn8IqIbuVzPY0s2o3XZpKOzL1t1VG+gvtO6emTO9BXutp46NLrfUPZ1 - WcR54gMi6qm9vuelZE2bXKegzA7pLzRG0dB1uAYYjb7VlzgFZsvzE9kP1UR7KdknDVfh+8lKHGZe - WA21dKgCgtAnAniRaMCN7UzObO37BW8koJKUt8Xjh+v9booxjXhyrfSln3vkaPotQVkEW5h9FsAS - Rxa7kl2OsQ+dmITAuywUhbquehtHuM9hztn0ZtqTKf5KMK8vt6uNjo6UkBMmv9QVA3ZM7JB2BJZs - w3EPExD+HlTbcGZUTri4BAYy/D3tlmMitzn55eYZyVUgxDApTZyNjGbI+Fd1PgJQsnTtFDLcc8uA - UyYYj4cNULS5zG6CzY/ni8p+lBBIMwT1rKPQdIOoQh3goIc7PFYmXmVCYeEwvs90XMalQPeYyK4G - +0xDYAvCMkg71dWr/7rVITBcCR6TPIIgfZItiI0ghlRxyA69y+WJSpGDJtpksZmpjrPz9M/oTflI - BBcq2U3FY7LAAeh0jjs= + khwiC9CU++9ifM0uwzm5X3LaB2ZukRrbxEu018PxUmvCJForULk0SoeKrE4K+KDnJgsge6EX1tWx + vfxItL6B7DBfm1ow0lNGL6L/W0rva71f91UUFrNBZCdOWdDrx926dSDaIZiNMfbpVIntz4dulCmh + TtECpp2XIkPTegLb9k5649bexvs/bO+uwrLhOx+44FmPn0dri+pKfzHDDxf4vmjnpAetzioCE/q4 + DdgV3qhErO6D7Cwt1EBqRXo/VyfvNgVGh1HoweCy9laJGp4z7T683AjKvslot8qkf5YLi9NfOpQD + SKrq5Fsyg/DGRz0K9tfbnzniUs79JmRJn/60sNjHYw9ZArpLDhZKLCVLENsIirbPYUS+QD/ehF5Z + 3iO7MwQIkcm3SEMZl/cyiEkycwipZnzPPw+X6gi5NnNP6fdABN+ZmxfjG3ni95HgWloUWodoxYB7 + 8GyIZ8pPCzu1aX6EZ7jnV8VC8FssulVDCVVdv+qrkMZisgO5DYVcYIkOS0SkOkodaMD457/xfgue + Q6oA595UKiTtiLK2eG+NevU/klnJWdwEyOoTSibhmr7wyY04oKy3CNKsTypmhb+rt6E4VS4nVga7 + lj/pE4jrs9XQmSLliZzic1r0MQp0OFwcN4ISRL6Pk5mttBd+3Vn9tbjuOqjYcLc799iVDnFt61Ob + f/cuR2EOYwVnoLBTNNLuH/cs5eFqwf7gojbQmRe1i9+76X2sEFJkFpHj1+6O9vdB6NnMwGo32wE2 + Djj3NUEpU/5VPJzyExjaW/Ou80douagja6xxqux3vYM2PDLC2G5Vz41aeVg4OXlRksiA3FchUii6 + NNUg3iuVVstDiwWsYPI3KlY9eJc8IlBitqxSkA1efLPEhD3A31jwgxaKs8+1Yasiu1Pu6XSkWcn8 + hRbtL+lOILWbrRBSdmmj/SHmRKfJkvrrhyb51HuKnoyOOYANyuHAOxRqXrz33j6qhOogyH+CzGMC + VtO0VQWb0ALg81/cRR+7PC7jp9YufDLo5Tt/5pF3q2VNwmoVYdsrFvdZ4oAcfQd+8bpNXLDjQ9Jl + 2ZerGbvjl2WrCWSNnjuAr89364ZySgqc7IFtUniwJLSYqNM0qbAtybRXVlh6lnHonHa/pQOHYo6M + MP1+kFWiVcZP9fOzAdxNJQzGgJ4oJq5PVFiH2xy6eABDg34VBU3hiu9mpQacB4XkLrDmi3xtNZzA + LkZi6liycBDNERh4XCC70vsromEqcV89co2euqlFte8ll+AkHs3OPDU/UYGGZtIzL3khjTANQPyE + cEa0bCy+w7ecMt8BEmZjH93aRRcmsOx+wgiJDZOEUPRM8cWBfrD0gkxCfRloJ+thOuBW2n9u60pJ + NezV4T4cCnrikp329Ho= headers: accept-ranges: - bytes @@ -3077,30 +3233,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3114,39 +3272,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=26608-27647 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - +UgEFyrZTcVjssAB6HSOO425GXMKtDiHYGlN+GKg6UPK8eowuAtrsqxsHkn2+IM+tpAe/izeTJ5T - 7OtOxRPRYPh3FPMRF4mCE3UL1PcF+gOMQCKrSE97Te4AH9lSk2hVD2UH42gUrziLGe21gT1kTF/5 - roSDN+HLNjP6gNpWNeoZnfmUOKraRXuOoxLzUhMZs37AwvXvnqgrQN2LN5UVQ0AaEWZEU3jM4hrG - tae4t8I4jyDxRnam3vcAw2XTdhCgdyvuhB1JQwwO8y2oRzmJ7ZcxkS2DDS+0EzEdFxf2Ne/jwDPi - rC+gf8fWzzm3Rk1LL3w9v+ndvOdDXhsICvSjVcLU9PPQJS4UoZWetrpl1br7taJoQv8ea2doK678 - /q0m3DyBOqQGRSFORA7RZltlTjjG+hhguRv2TVDtDoeO7fTII5cDJfFOS6JxAxlcJNXWoUMohpgG - 3U6Ii8eS35h2QnGeaA/kNKiX2HpTr59OeiJAghDs70aeylgpYgUQnfNr0zX71UVGBmsuKCSACqs6 - AonjwUAD6lIoS0Ps5JqqIZJTt3cUqMsqtUyg2/JELPSNDnR8zZEmdibc9qpUX6dcw+9t0ZZVBr5y - HbxDXeWoYfDt50cARQbFstPb2ctwZ1EAZvIXHYp/Rg/KSifILjwltdCZ22tEMUbzBq6Y5Mp8tDNl - eSNh1wXBRimcrRgM5xQPBgC+T9O3+g9OT+glJ9V1eustCXPbGk3zCgTMm5RVW+e3wHzfQ87WVWY5 - nTai3Oryvuup6qj7CMMeNKTHn6bveOuVagIiMUel2oQ/EDxnU5YDGJC88O8tBQhpZ0249V+TPnfb - rPpYcEgXe2cgP+70UVhzsqxQhguomkrquMgdhy4knK3UfMMBXvMBAjFIXk+raxQ13O/KdFpYpM68 - piBV93RY2CKuETuXT5C3Mj6cZoDAMmOaI54qvExB3U3TgvMPNQM7sehrnB2Jdc404V9o+S+HR0qe - HhdX4Rtp8NKNFBhf20MQ3zo1uiqrSQoDLebYvccczD/0y/Ztm1lfkAN8uzlRih6NoaVnZ0S6weyb - JoTQpmtcsZx36121rXUtPI89E2rsdmtHVKDWcqcrLBQ+TXkKynnPacOolbgNbePf4qGPISdBhzpF - tAOEdoqwdxMFjW7brv+6AYBYp+N77O3b4iX8l7XWxljjCR3tOor04KTreNDevAsCRdenCfLl0o6z - FMvaApP2qHcRrdD43s/gjIs0zT/di3B9FUcSYhp92/TfeeXdzcoHwHL0ARNmIJjXc0M8Royh5/HT - K8uSFa4YLCip0fQnLNK5Rd4NO4Uyfix5JdI/yKCqnv4ZuOVfIxkFPmc9yG5lzAv3SA1PUfFgk4Vw - tp7NmS4deE/IVodyTUQ= + Skk17NXhPhwKeuKSnfb0ehT/oboUK1CtfSYElPaDv2ANWxZGyTvahLM2G8nq0YNNJaK6Z6+hnMLD + tIy3cc4lp/OWV7X1zWIwXO+HcWeSwVxyeY2ZGzw6HDw2wf5qgzdCz9AZ+/dKwU3W61Dx6dJopdrI + uQOSqcwrVEPW95fK5V4Ud34DZEVylsahV+l0OOReMx7JlxMfqmauwQ2hqi/FZYrGr5u8OeBOOm+K + zcw/q013mhWgyS/bsmpTbx7RYIX9mEJ0pcv/IZl6iD7iUd75vZToEPAv1T7NwIcNtYcN3GreMKlg + pXtypdLpZbtiNuwE7dC1SBiYOVL7TfZL/6EWAKuquafYuSi1oVanIeHsHEdJo3u6IY1mLoolmy+X + LdXTxnT4NuRIfudT2N2GR5D2xeUAUsQDUeBHvxD6uxypHkGgepDfU5KkpvCI9hOfoy1g6sB1IWE5 + /1rf55haxi4NCqseN3f3w6pJMQQjiCqLpzw+KJJKCUn9VlbUX2x57fLQ6Y0cbTd2Tod6s7kQWclu + A9XrxLgu8JwOLTxkNtwMzpxddAc1Qm+mLTxXruvFTwlZmT+bDXgYp5Oon11mOaGxYLK0eeIh2E9T + K8I5MRqN2ftE1kZZG/9y2t08mAgDMc1YE6oWtCHGbjeovSGc+34SkHWCO4WWXOgo+K2qevU7bRHX + Jfr+6of37UtYwYT471lrUZOU8IenfYGGF7rgBWVtPLTdIoId8dv4u92cqS2BTZV/s2UGeK1LVOOb + 4IHUhhb4FMeqpf1CBZffjWvIwkHHPhxcjeFxpwHt8siID66pmdZfs+7jxuPbxRbERsudiUtqgKa5 + ovluB7PVw5EdKPihjgVjKi6Td2mmTjHZgw797ACKQSaorXbZRnics9cvRY7HNt8zLd+L8CiIYXb/ + /wFl8cyQRCyj+uipOyKb0qLd/WXV+vrkIaYZpcpKuqhMgUuwZD0m99PCUyt4Kz6AtUqqLyNn8Td5 + lnU3ilN1YcUrBnlEBKiaUEsgUM1IfWMCXTcEV9OgNmF1pSJFauu3vWw8Wn+J79pJX94Bvb9PV6oV + 1iOZp8E2Cxt283OKnz2L2i6BbNayjvGTGtgTt68tA28mPDSZkzMVuwv7DQFMpRSQvPSdy9GNAOUX + MEpGbOghJRjqEaG0wy9R/yKgJCiyJYh90MWHuy4bK7rsQrO9LUhwpj3LhWhouWoCDVQRJoFHdLEx + 6w2E9pEZYIiC14LW24IOW0zAU5rN3Gb9vO3psxTB+nlievm4ZGjlxqNmN/2qq1AAkaPqQuR3eeAP + GKiU3CJa+QHT0FGs7Gzv4sDAu41AKzkYGB2inw4IyFZNr/vQi3AgYtDJE02lVsno9dbVVGQhdEoA + 7OWxCgpAOyypzGAvYGk= headers: accept-ranges: - bytes @@ -3157,30 +3315,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3194,39 +3354,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=27632-28671 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - hXC2ns2ZLh14T8hWh3JNRNTOtN1QOgWmlifq6s1tgcFaUIeTDArZ9qZkMHudbtAptM6DQOYGcC4i - Vvy3Qmg/PpandtWxrrlyieFNQSSnHXpNK5oN3Jyof86fdfNYdN+uMKFsX7vHduyxqEIxzBTt30mb - mljcnEon4C658PBsrSB5f39xjLXXHlBVcVRoml/v9WFZYXeloRgM/vrtHFwiOYT6EbrlJoOD5tqS - iQjnoDERFg11moGiCCfwL4wVFcY8HI5g/ZyCLJQ6AK1q6hU87PyaCuqUNFr1Sg5ZHE/T/Ud/mPn+ - G8L5T1WD19pC+JoA+FGe1ufmhm2S/im3IuwOLMOYAooTxFOBIm+HTkO7HjvAKmfWvmS21XclSu3a - HMVwYtghelOyCetp98I7LavxeR8WrrWem38mBSL7jxwYPGAaDxuQ84deQHi1MIfbsGlyLDLMTz8c - ZDueqwp7zsKK3+OOujfZWQ7fq22yrX2wCWFh0fD6hvZDH/8oBgtNeJVcx5eO6n30YD4i9TbcHwAi - 9B7YAJ9c65jigiymzUs9AL1OI8w1vEjXNmjkOElL5VzFS1zUHUFHEiA9BfsWjP6uUhXopyaqewaj - DN4fTX3IkEtQwVhNZ91NkYixY+Fod9qsBR5OOwajAvYOLYW/f1HfhrePZ4P6ZpKViazyl9dNtG8E - UyDUahx8v2s3VaRwPo6+MAv6FXk1wnqUy2RUg6UyGkgWBXxYIuRE666h+LY1l7goGjmy+8AzKgIs - 7OSVXdbJY+3XN9mwvtX6dBJMjxjWPVXZVtLqeJTEFfILJmrgXyoVjZOJNkV/+EkL2vjmR3utjyxG - SWXybBrzlQfzbtBR/qQ+o4sDGeXzLMOm3DzRG1S+ylcmuuvlysHzNoMP7Ith1AmsGfhc6nPQxik/ - 3HT3SovGjxZBQ8xJ+k5lCMgXXmwYYOaf2ALRtGkHyo1esA9jK4wa0BpG9FpgIMwCD4DCA2YiflPw - hsbb/pOgdeVp//c5bNCj7ut8EK1aWUIph6qVXH4Jy+fUoxkfoYdJdA9KSoFygtRjWRw6CwCmd1RU - fZ30eXcnwhJQqQP7kF6vvJgJg6Q/hiLBSM9/DanCL7xBtdeOuH+9Cm7o3y9Jm6pxwmrq4ugsr9Rl - VD9IT9PD/RBc/yHxg8qjDymWdTkgjIvWVOI4+OsGqJmAlZfko3H7tEv+A4iYn/zO8HQPs1ILzCuM - 8regzUo3McnjLFxEY84+DRV2nxmBsv0S1NJerldMD9WdMghkJ3Wkbu0AGKk1aZI6N5Z/Ec+b5gOo - 3Nn4KqdDcaBc/LAkRzSq6mBcS0dyky7eSRm9FzEl/3b5RGb1ULqRA9VPkzFk0RLxfgMuTA4OfdgB - 1s0/yxe3IwZ7hAZnDwM= + SgDs5bEKCkA7LKnMYC9gaZ8arTr2ywXAcO3DWhF3lnuXEoaPIqVlZ6I+rPKSnkZCxQI+QN+jYuyY + d5bGG6FcFxOjFC1uzF2pkFvTHjvsregXu4cE/QE3zorrjixcPhapZOxlpI3ODfr9F+QqVVLGAVRP + KMgpYpGuMxjkKGeN3No4pDuc/J6ZRqIsfRxZcBa4TjF+5bjO0xByZO4yxztHi1XV+kNTgEnBvgQX + wj7b5Fxfd0150OB7dZPZcy+aZqXvsO32xnb0ttRIR+TTnxBY8DrJt+Xj1IjfX45qzt89UF9oWMyA + fSgHaupcPMr5rSrES2ghGBRGX1woRQjtgBzFV4MYOgb/RXoL0NqyMB1hW5bw8FuFxqKV390Xltqi + CnYfLdJCCVRmK7ALvhtjFExogSVPGidh78k5YayBGVBThmiPm0iR7ohLSrUDIlyj9pgZXtvfys9X + vpHdmLRMuzkNmXPBPn4xFyDXaX+Zd+TTjJD2WhaZ4egvynj3T5+LN0MnfXFaLTmOtHM6HMJYiakz + YBaPqO/dR92EiG6FmTynJ08KKJY63147iYV8v5z1pZxa2GnG62Au85cp86mdj1KQ/y0j/ATn8ibj + myOPRC9OxicyXLpeonb3KhasmoC7OgQtHhnY8oVfo7/lDMR1XFZH4C8CA735eFHQG2Z/wZvJXqqk + xoSfiWUR4uz4KeyDKOKUzfk6ao9uMrg6n+id4rrR+HgPd2APkMF8VkysVJkkq4uknYHg5cAmkMXp + oBieYbufrJBS+9uHJJxwsTX20ZP4IZD//GVR2fwNWbXHOREyadrSenAuk8pBqVqKSAs2MyrHBWrO + YOT0B7Y+Tdd8XcP0s4AAt5jU5wNYtyaaekO39AoBokCVT/WI7lEUC2kfr3lvlHt/qb+MxEE5jd64 + by1MX7qDSATeyAefEgcqA6up1f9TSPXk7WFa65cWem+523iNcilOWJ96HVsB1wWEOxMHlObI7nuK + dCkjVpky9Us76pHAM0OFGD8YZt/yo+CKPGkP+Nwkkj79RTQgZClPQOxsESu4iN55BJDL+Id/aLaQ + aMbQW6FRl+zt2GC+rEnUE1PPFFCV7VXKxNBnPHOShQnoNNMUoYLML/WbCrntpGdrvW9XH5Zx8xTW + 1+Z8KMCfLfZeOcsWFs+DHc1LGeGSUC4O+C8wmES5ZHCtpfGNVNpRDsUxHKSAg0UkrnG0uwMGPcjn + 4E5cE1O6Yqp8jXhz9LEmqpQ2SMMSI7e6aLqzFcwslwvtmgxTsJH1q4zIpzLVCCa4v8k6/5HzRdTY + vGitINuh7R9Pu+SYegQjUJAR87HcuDAwD5MTfb4Wd3c8p1hbRd12x9bmaBvlqodfePcVcDgkzYZt + 475lR4kU11uSkO33ScU= headers: accept-ranges: - bytes @@ -3237,30 +3397,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3274,39 +3436,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=28656-29695 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - 2AHWzT/LF7cjBnuEBmcPAzXxcrMDx2CBOEBUHeWGbuRiszNwCbueMOTpx90ee1WeUlz8jjhKu8Po - RTtgU/tHQ129Yc7T2sf6mpqPRhfesyQjVnj8sqr3RQAkF41BUsnen+ak1DPrk2B0g0j8B5KtiLL4 - yw3l/E/zKCNLWLj+aN9lhi8SZnniHTw3CbFfj43OM3PxCGBgwg5HtmjQICzXGRyUJUoyedDZGIuG - QkCGqWr4s0QX/S5rX8eGBAOMjQO3QwTBJhUmjPriieSZYHUtz3slGt1hUemdmm3u/kPFy5cpBQEj - kz4dg3SB9lcpaQUxGWG6zRkE8Bdh7+KaNDL5QRGmCtSZHj92LQDMhxXr52Os0E4gF5yyU13DhXDP - qcj+A9KZYrzQy9+XFB3Zpzzs1MSf5dF7S4zC+vS8drv4xT0M+aWjh1EgFBsbj8wTXAn92M+0QTi+ - ozg6NB44SyccYvCupghnCjWJYdQNCLP1uchjTuwcLhkzjYj9Hsq9njDckPYpelS/opbC1VUsnOZZ - pMkwhzgvijWc7XUK8nxAwYzEllqVpZxh7ZEYVsbBK2HuHTPTRQA8KIsRKELKi+vVok4E4+8tE1o0 - DI5pkSxRqc1YA/pj5v9bCM31v/V2pIqToWIeW3bu06qRzaGf8R7ktjG4HNLV/IPkfm9Fhcmvn0ZA - qepzoZFazImO6um3g/uNWp4DRMWDBxja/0pXrYCuEtu7VigmruhlC99BrhHJkT19zrj7rdRkWUBD - 5nrkUILSy6GoUQVX2gh0pcEU6lBg7p0X1a0tU2xUcU3rxrhW18AhLYAEoE+3ac5c3LE5q2tgkDUX - XsgOGKvgwl4+yqCJSymS4KlhGEAzD9WKGVyPo2fsyIy3v83WTswIDMiak8O1pYa9la26EyVsQJ7B - JWAZI8h5BrP4ZComWawK5JqbGDd0sC7ZWPXFERP7Ey+xQL7ec5DBNSzxEqwqLzuiVKBmejayXmOG - jxHcTRGAJB9Y+HkNJiG/mf3agyMmhONvCtOQbqr96Tg/zpSi/2tD2Lbo2I0BkJ/nuTOpgmV8HsF/ - EChkZ3lyghm9M/ZWBVzR4y7//sNTf/4sumLiTqY9HsqsY3xWyUI3csf1esE7sBNrMDc4yaXjbnxu - r347ZXiY7/EQGUEOa5lubBc4BVWuAK7E95bQCX/x1uHaorpBpo73kB6hS2axtNjeW3ynbDJ79M6i - yt76a3ClnKv/GeTgjc1DKq6allF5nP7orrFQtn74RTpRy+RgOdePInHfgou6LFBWkEZ1vswqpxZ6 - lspHTIEJHBXU5MCRTx7OVhatwIXAsCaxCwNNZwaBWaxiRsu2jUuTN6ftT4KhCMn4329OpgbyE/To - TEB5YEstrPHv2Fzf5I0= + hm3jvmVHiRTXW5KQ7fdJxcpfEd1AtHy4apsDiHLz+p5sCJ32wkaD823+snwQhk2AKFPE25VlltrP + zTrVqjO/hJWI5+2u+r3ceZfpGSTgVunCSAR7hjY+ybUfaybMFm850wkDhKAEg7yMaOfu7nRzcIaF + mOjTEKO0t06cbhUfZduaODAMXO2eOVKZYLla9CDJzURwQDjasWmfOudYmhWWziVa/6kQBQubRdjF + mRF08SwE6gv/cAm4S3E64fAAIBQBqElMmqA4PMEymjAClm58aRxheoLB3vciPw6Te9L+SU3ukn1f + xTblbiDAO7bDfdhYP6+InHVORzBhe4b/8WK1c1xFAvdLgnGQ7Teno+cXJIZFHBqRbIAXeoEonwuW + oHJ7sxmDaFwLbmiyF/knfMlLwpZm3B3M+KOoEDRcjWNmJfZfmBmCRFZsQ3Vo8345TYppywOkJQNB + 8lhNmLYeqgeR+yjm3h9o9P0dh2NiHGI+9+9F9NIfELzID7RuAoKxSNg/KmpQ/miF2zls7FvJLBxU + j1dy3N8CDjY6n6iKfegrul0FS3XznVKcPkghu4dwEmeU15Y3YbTuHYMwMfErjF3Mmz34mSABmrbx + ViRrKHM4e8fXWkKpK2CeKh3sUQUpVB4wEih/1cb3NbK15MZUWPU31QrkJEms+h/iqW2h2ziqKRF4 + tDOFUIADTtXqxlsmYqwMKya4iIEa2JGvZ9Axg+ZkUCIxiMyoYwK+EOvtXCZZHmIVjEvjH4prnd3U + ui2y1tD9fcQY0rTQeQsMeCNS5vvn3g/njhsKqYz0s/Y9++tBwlXSE/EybJ59WRzyD6hfVb3dQDjY + U+OX8Bq2YPqN+tZbd6V7dWUlFXrfE6Yyza5qLESP3qx8yIu/Sid3ORh9DkGN6aThyipXgLKfk4xE + C21MdPQsGu21+tjMprJ7H8mDROPX/rzKEVSo+khxRYCoxSJGFKUpMBGMipE8GQKYyLNhqg3LHf8Z + R9UIW0rhk632acvl9zKNl9Dzo9HpP631A6WfTIO6kHMMM1TSus+tJh0ojk0NIe47n9VYLaZS2Gbn + mmUpdWvP15h0rvMLFnbxhGRd/RxiTWLfL9m9x0EEp4oz4pQNL905DZEFDhe+4uq87qmv/zHJrE0o + RHtfPoH8a3R5DjEcdae9w/0vPHEXetemhkAy4Kxx5Ukt8VabyuYP1fzqF+WXnbRthyp7H5CLGJ0G + yFSH4aeqaagknsWcl3By/SodbEA9jqEqwq2kQvoAeWUq5XLao2n8CWZvlL1wAi260HvpaolvquZW + NX+JXEy9yABG4qXqXShS/COQEX4NqiXm2j7MxVYCvaqDlDmItOlTgMVs6WqAM3jdT1uoCAVFfAzh + DDJpP/af0urAxFX8eN0= headers: accept-ranges: - bytes @@ -3317,30 +3479,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:12 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3354,39 +3518,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=29680-30719 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - 9OhMQHlgSy2s8e/YXN/kjTEDnEps616MWIghSgQEGAp02qt9Bimq/p+NgJwJE8peD7T/tgi8XQ87 - LkfSWTM0ht6gdChUKV41vTpAes/MeDaPhDsQ/d+ajmGYmCyOcHKCjdO2jmPYpkalwDXkZEn336Ub - rCEN0SD1ZjGBhRFeT1f3vWEjalqfD1pV84+0+L21uaUoer++1NuJi7uzqwWdPvN71pVCHT4OyTzk - FP4QEnc7ICXyPWQ3qFji6PChIIpFTiJRiSyVMCdsJzpG8Ibp20aNcCWpW3Z9xOt8SW5+sWP4ofLD - exEbVYUDokqjl1pNyEiCLecIvjX/9DeARdzp+yR4LoX4kyyMCClTbg/peYOvInQ43bX7oO+eZD25 - Lyc3g4i6ehzNXQ6C6LftaQ07jsiPLPHLFZZSS86I/W3TZwyUh7leMY8kH5fXc7HK8ivhYrUKrS0D - 2VlV+HNecrF9WoE1+BoyVLqVEuEeHTT8ImYathMEO9EoL2Rw+B0K3OewfxCOPtdSp4QKMBtdwL1I - LmBjfAzCK3Q+mHDURyZ18xOHzcr+bjGBBgR8VRqTUdMwKzgNNYiqi87XMK7vEMeG33BsQ1q9gPZH - kHIR/P67aSGw36Y+LubHIEQhivfrQAMAMSxd4A1ICLWtKpAhBQwFJ7saw9bz9GdzXxJAKHgAWKu/ - jZTA0qrrsF4ydS+S3GfNFgByCttJ+SyYliGkp8kHbPGw9rZzhDKrZPiWthTwVRCt1WjXqpj5ClnN - OsOtYABoigsppuCdieaF1sFyqmnQ03hNfkfFYP36oJzfGr8JQcTk7JrY7f12BAhfGw6RkWnz0q1v - u9QH6w+lLHEZ6unPBOGW7aZAghp7i34K3QR1cb94cZ1wCKU3vCliBSVvzikcaDTw9RrBtJ4wwJSK - TMOG6o0mqU7apLeDMJHMN4534zwemHwNis3fvRxLvel1IFMjIGWdQlg3YQe70iRpZRcZzrlKECnP - HuDw8AJPo857JUUQZfltmKjjxbhy55iWJ12rzgTveVj+5DX/iwVb2MnRS1W3+bF9XGocMIbEQFQv - CyIsLxT3fIqZcJ5MW+ZsU1kcMHczFrBG+U94MRNJmjyXHEbnsMqzO0dmYFsiP+dUmReX8nnk3eoP - 7CKgBHaIbSnR3/u089AA8fNQQLEKbZo5FU5DmdXWo1u3lmdl4MUD8WACTCYaRKANa/ho1wB4OXhG - +h44cW+EQXwm/4ThXAdIdXXMg8XXfZpf8khUeJTKNAZgfK0GPIYB+QE9K84NBaBY7FAChNLzoyO0 - jqjTiPSL/zvzzwAXWSlOQDwfIs0JgKhU8YwTa7bm4Tq6BGGAu0Xb8ViVLcs7s7Z9hSFqby1qwvi5 - UnVasmL59xAh7qTju/8= + DOEMMmk/9p/S6sDEVfx43ZbO6a8LAlfn95U+1GhPc3upQOKEmm7Z9qLMV/VJb1sZ/uE0qQWGEABU + YxDDr2Q1mj2lvvswlvJ5cLtx0rzdvJNmjkTbYEHV2s/in99XQXpdecsUJzB+swgZghnWxecmq42U + Vp86g0mHBtbtiMInTsRBwXYB/EBhuPB2Jjnj9E/FdMHhsNqzJvB3au7bj3QisFuuDS/r/P2C9b3V + axW/AtAlMy+QHAXGCogXcoUaDOgKga7qJxNCES/sa5m9J0gqQn6nuryBFNwB6KeoMcjb0pw1BQnb + en5qqB0A/0XOTddws2og0r4IdcbYHnd2fM1LtSPyowwwRDIbf6npN6DmiKB69YVciqMFl/0vf3ks + 310e3AZUZgUlPQuPrV37u20kuduUoVvhzqOtHG6t5HCyhlrd6+sgakNnP2JB2K1Gpb6Ud/jnjdNK + awfrHsej1N9dkJLd5Z/To7oDWKBNOGVgOcfaSDX8QOAT4V69ShtWR77O6cAvQ00jn0Y8dkYgnBHD + c9rxIm4HGB9BFrYgnQHiIpyX2Y5SNncc+NoOufpR9oBK2cV9tnzdkjQ6N7xU5jT+dqa3Kobnl/ox + nJ8ChQJq24ePlrlNpkaHyYxuuc2i4AR1FJRp8gz6NHwbcSjAm+8244rpDlcy1FNIh1adrAliwRtc + ENXAk6ee1EYLYz5b8Rtzvju27I05kHtMF3M8OuBELKGzGl4ieq5jModOqms7Kxds/eXx3ALey8WJ + bDPoK2+WmokUk4FMBmLFaktsfNAF317tNSjIBPFy8H8eNyIu81ppIi8/Hp/M+gWaOqsqHMpjZra2 + J+mG36ALRuLDTMAMDWdnwT4V+LO83AD0gTr04wnQUFi61PRDkk5Xv7FPiEaynlW3+kAhPTDlnj6G + dppP5haOQU50FTz5RyHI6wShHyUmzGnSrYBcG9yJN8ZBaJPhMHSENDaCKQqOFFgFmxtP1DEnm5zC + M4WWIT98N2z+qUaidNQm73T1UljXKdaWa2wEgeVm+M9zUOeS869cCAuuIhpdEiuCWfkTSDRLmzxc + tf6ELmb3q8FlwG4lm9tArzZkXRcQTbF3Gp+M9mZJx/JLrJUic0rAFxE/ZFkfz72E6gmLJzM5goMu + akPqKwvarVue1NcbXyNtufAuMEszDAfHFkn6c2upcawWf8keVL4bcmtJp2tY6kE7wTKyt4m8ZnuG + clvU/Ws6TzLfaJl1DB/iN4U8MFE0TM5NIxb4c/GksNjYUdqjMJ/Ur4I77Q1ZOz0JXY91cxXpJt4m + kxVsF4595hdw9EgbvxZbbjQzDRMg3tdgRPc7SEHN9649+O5lJ4FjRpATeW+BECVe3JSUO/idmdXN + XOkzE7ECQfUiBFEEKo8= headers: accept-ranges: - bytes @@ -3397,30 +3561,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:13 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3434,39 +3600,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=30704-31743 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - +LlSdVqyYvn3ECHupOO7/0LllxkS7ZwLm2O+VHUwUM6UXjai3RsNOkHQdlVjmaxgB3lOfBklvMJZ - +bqXhdU0qPNLM9wETeaF0h51YRwAnRxR7kbEVxlsEG4vSfKRGwSIrF8Wf108Qm37Sx5Qpn3/Qs0E - 4ndRRUmiNX8Qb0LNZ3KsM1jJ25ZrnhDRP5hE5buN39EYZ8ncGVBzM7Nzwt6jLJu6HvPc/2BSxDRD - JNsQolZjnUmEILEQt81B8VjnWTBO6Bv7h5oT6ipIwgZxfbMT8BXnrUk73xaEcwgZ3NNfYVwlOtRA - dpeMdLBERRx6Tm2rKcvukDkmqB9cMHWXXxs/pe/54+2srmPKaHeo021rI1oI6+rzbc4doERRVtXh - seuVxNdhqDk4WbEVxtJzM0TXKIqwNFgr+VPwzufFFm1chB6Ghs8ivKLxUdzUXI/eVwRQ1bqnUTIy - Sln3H9cQd4R9zNHDCtffARlbtTHORCuflkiR/HxAFO5jMu30RkKyBE8lRIvJNmd1atRyHFU78SQq - TCe+rwRW69KUVgxHb7aLdmegK+LY2dNWEgn3x4cziklSlOH5DPBqTWSwskqy4dIgvAkx7x9S5VCG - I6SnBVSUwvzCRlaz2T2lnEhzRpvt2WQzzSEoGpc0oujCE7vfx8YRfQKcnttBpFyzy1kX+06zDVXP - ZXUI10GizXq0Ilmj3VuJ1GXvAFb2yyQ87//XBU11myG7DHay86IuMeX2qqVOR9LpBjlpRNrRtqgb - pWFubRjjGM9K3erwIE/C1AwLhMS+5Fbx/SrNAKubfn/rd8W9JRsbxjwrpnyyR8URZk6D1WT72BRp - jVrOZWno9CEcArXI+N4NaIVQhYHlxIGN2gyE21dcp3hY0QdGntSmS3UD4vkK6ATOGc5d9dvZJkbv - i6PaC5T9+dDef+/a6+o7ND77Qr7BSw9lH+6JOJqoc7j+y3T8H+gfRJD5UFPsqv+CHc/MnHeYIxTW - XdnIec9gcxLDdCA73Veb+foHqiiGI5AU/N1CVv8Osf3RYANnzpJIGrgu+TcdhhVk13SNlnKCfO06 - fd/G7+BIPr428m8oSk4pUZPNDDS/eLpjfvhFOH85n/6JB+DrV2mgqiApghMzbRb6cgNw8THJ3hQc - 0j5s9GH9uQJs7L4z3Fh1/ZeS6d6kDdelNXms4tmG29xDnL9s8HQPd/3aGy6AOzOdWN3cGbgtMoQ4 - l/wG2AJ7Rev0lQyRhYM88jQQNdyTSBdjF/0AnFYH2lM777OUE+zpa0qVf8F41TU7vEAkl5fcwZtl - bPeN3o3UgknGdxTET7xEdbVz9zga2+bUaXbwZ3LM/72p5hvOCu5FQYanObnzQP3Jy17oTZPw0SRW - YjplrlwYsxw2+Dn3Ajs= + 1c1c6TMTsQJB9SIEUQQqj9mYac6i8STdEbAh/SXP7LNQzsEfS+zhWvtoy/3m1nq0VH+T2BTBG5i3 + 3NaCNExvfE5/JRppB0YWkA4x9LG6mYIVNT+73cwALS0wbxYi6G1+TU1ROEpOw71FWwj9ohRv7J7C + rcmIaNMzsL32LjX69tCq3SviAqxlm1ao6xoJpTgXd3ZrYRxxbzPfZqz0MTlb63MQnsWoD25ix5cn + 9m/eOvYL6mfIBKygHK8BajL7JCZ312Tl9ui3XGLt82+FLDW/8jnM9ETxDpl863gqujFPt0sGdhAr + NxShjHoT8Tq++x9ADnGSFrScIle8WIk4PNjWGO50aHnD4EyqfelYOowQvlnRrNNZS1HKN1PNcLMe + YhotAPO5k+R1KF1naLVWDDu5KLmWSvC1QY6X8MGWFsZnCqPpgGLtLHWKlvVOzcjlQ7+pdDGp+wEk + NtPLQzahxDON3VxfDUnxgilB75K6PPGLe3fRUvybT6tvurcPo7t08XE42PzUvz3jVahzErX2Lb8k + chXbBdHxZ2masTqa3v7fDUv3SwfaXcDMswuOZFh9k1fIt6WbHKz6ESaiKYoxQFjCpflFL3BpgHLy + 5GE65XH9ygWmFSBkl6GU+qtc8UqNRhphRt6FfzDe/LjBD/qukJEKO0JHkp5WbsttZ5Nyu6HbkhN0 + Ipw3n2VdydZvLy08t7huqyAK9E/hveEWdPLLSoCUT0jrs6jHTMXXmGgf6Kx4qGFajJV3cuXDMb7x + k4DNYrJqnRmoLLjpexVbebU0cziEKncaLOaMrbnNQCiBL1+xxne/a6keG8CpaOU2KsF1593ZBVaV + Yv0vjppznO+JbaM0NpfzN+UA2kSE7Uk6W8KnXFYUxxukXwykUaP/jOKORdKbEXR872sZtvOWGPVH + kDA8xcZ6GWmreLHgMIzJMVsgGSFI6QnmXyzC5yyw4Xc8HjUk+SDxZNtzZMPH5PZ1M9Zk8QVUkeP3 + JBAqJE79+y3tI2OjAEdHcJ4+TdbiWqSrFesFgVpHX+/k/bfHOkYBXUdGVii6Eyr6rzS+mhnyn5tg + sYftFrg+1Py3Obf6Pwccc/tS3Jqc6Fsud37VIpvIlWO8cOuYTHoaVx+XabMHqLp3KyrIPQ9hKxl8 + 2Hu9930ihhB3LKODGgruIVTjL4H2R2Txt67Te7YmGVtraRvFa9g3lV2Z8QPtT/fUGjzXI+Q/He7H + Y/JKaw2QI6w5e1MRIqoOeWcB8RLHLjhaMiPd24xkMaMG4HnBkfU3KuDl93JBdVQrEGSeSYKxoGPu + bKrUphrI9JQEf16U6KbcZ6a1SynoASB36nxtpKTJ8XEyq2TCCz9igh+7ZyeWjg7RfprzBB86NjPH + Uo9Om0TlVfxt/LDUthY= headers: accept-ranges: - bytes @@ -3477,30 +3643,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3514,39 +3682,39 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT x-ms-range: - bytes=31728-32767 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - JFZiOmWuXBizHDb4OfcCO2k3V6uqQiL0ge2iTMdbCwmMOQGf1FZTlraa696LbL3bwDuY9t3Kg/u8 - kJni3qpUPFI/oux37XIRYiWRoIlD7EkVebs+U8HMSr0aj81LS8acIm6olX/qS0ALqXh3A5TZi8jQ - oj3S2VvaR6SXey9T/LH3TkF1k7bZ56l1aekKvzsqcqyDDWlM6xYUgEDUTrk/jMh+l1I5sJjkeO1g - 9jo8olIstAQWNJEnVspD4fzDxc74/z4lpvfPaSzEQuNIKZ98EM4eGAgfnThBw9oSR6J5G+utHgu5 - wBpxy8EgklynMgc21aRJRYyiUk9ZWegmqqtcA73ORuMrQglVHnoRulmh9948Lk2D12qZZPPEdFcJ - 0ZB1+5cwV7b7TTUebESrpFFsyiURrZPbWuve8ikYPBvxTDCt3Q31zAUlEXjMDpycCVx0pr4ReXDG - Ug45bQngkoJOj3st4HgJ9S1gjXGTBv915qvOrurCNKAXTnfhjVyTk8ODWNfnkCZzjKbsT+wIMSJv - JrygAYruurIevTIpZt2YravU4S8MbUQ8YDi0wOLc1g7PiOXNmBzjS5XfGsAj0C7L4ksVYqF5IsFI - CnLhveXf2CbiYx6RAc+0b9h6/2+VDKTNlNTqXoDGTQWevJWe/Gqn3cRBUKrqH87J6a4uWpPE8u5C - MleuAhHv0Hpr8TO55ElAeqKpzJqwBMcQxUNtji4CNLoxerEEC7GoxZKNFBQfhjVvE/S/DNfWOrCA - 8+7xs4jnv+p31ssRHv9uMdyR1BeXmtiRrV2PoYfg5bV3wkUTzgRAxMSEPRt7pG4A5xTM7g9ReH7y - 6nOE+qp8U0c+9xUGRmnI0JMM2EacKHxFVsho+vCbcpmINOIuuZkAiB1RbrITeK6XMqprCAj2m/gM - 5lXRy6l4iVwalu9yNB5ULPbW5RyXw+Qq+oWWLimX0aWcCJ1H8L916EuoJZtdGirdK5h/3GokOun/ - zadkLSEf1YMLuAJVCOQjmeJ5nTH5dEqr54T4F2Hv4/2E55qtQPoFXgyvvjElXk2Kq0/0AwV3CUqO - cPs9b+/cnDMOWptqMzSq1xvs2JUnzDJTrKziufc8myv3oW59R4YLEi0+tRHFihWeCkSMJmCLJER+ - 0zsGAnnQ85L5Onq98qZETxAf0jM5Jee423+ksKyOaMHP5OGARPBj8f39foOCGkJculTxmLZLAhAL - cSP42cxTqGGm/E2wfejdC8Q0c9ReT2THUe630jLUTgoziEArFwnuqt00m7N2Oz3/aFvs7pwKFtxo - UPlP2HaNipPT4Z8CHPQew7QuGKHQ4GHxbDfic+29V5nluChNOhBYKBoijKSD+ZqRP2L/yZ+WBVyh - IALMHhHh8/EnJuGkG1I= + M8dSj06bROVV/G38sNS2FsIjy8+4W3RChzhZrzeC2HXWSA4bb605qOoIl5LiRvnM2js6ubZQrZRa + xrTPGrYlyEhDbu5zJQLAH4knC2Ngzik83lJQwGXW6NhLOZyY2THGmWpNMbPLIooa4UAtmMHbUDbv + pnRcSIrpjtgru+zFMgJd+AsnSXxYPcKsX1bJuAnvNOePsv/yfXTMmQ8r7shXohetiDcRGAHwtkzx + do3JLXBnfQvtLTIZ0iLxH8nlrzU0djdcP62KkfaTdL82J8s1sDzutmeMq9Z2XyQqPe6vmFdJ8AsJ + 7BxBCZ2li+xRluWS74KxxP9KK4WSV/mWM9QPPIPQlf22ZsKoVcdqfFBFvlAnzFOUapZGWhkGzGMZ + kNSYZKlCxja4Sgw4H+d05SM2v1NH4pT9m3QSNXm++L3uMI/eoQjJVTgVe/VOYYA5TNf//r2bfZ7P + MZFsQpCz/ZmfhFTfO7JH5IjHdKswhQ5nSvQIzg35IzHx11QhV+LidAoVRGdbnxJCR881yA9Mn/k+ + Qay2idkqCZz5DeL0q/eMELLKqy4I/Wg+5UZE64aUVNCtg5DDq4R5dVPS+hwkHTQFJUVXSE0Tkcmn + RzswiFbgvKoYsOCZVpvhsy3TNzl/v07z3BzbCyiWCEqjVj9f7kKhdeRLpZA90SPi59ZkiV8G7AVf + 6GTD1wSHsU/BVAYtWofJ/ieOCruySuhvR9PSmIk+GvJnVO94D3n5HiVkqIoyjjAUKGVxAsxBdvKK + aA291MsgxBPPnXOGyfD24tBPT8JxwzaLbRv3Ks6wWEnap/6CeSYsvOt6mnZA1F3cEMSHM3zHd95H + IbDSbsZDuIBBIkrYqq63sKBr1BtvAgyxIyvTfsFGttQh+XOJAjiszMW1SWa0Dlbw1lVOTy45vz2M + N9WCF3Knnyu4ERBrXenL9fYMsIqz+8ii6PF4f8VyO272EsHtMf8/gPHLkbOey0Ug7WbTW1b4Ij2e + 1OUsT36TUopUiAAxvczMVVfnec5/DuNMdUF1+XzRxEYDmAKOU/IardxRQ/Os48hHmFxc0IUN7ty7 + vlbnTHLeMLbnQC8HWMcN1ayR094tTeuLIVpGfavmeyuM7xAUJX6Y98Cp4LVGn9WyH7cb594rJ0nL + sP6wmqZpzBiiT545aCcemP5tNBR0zi+uMCb8JJjc6pePlsAaW1ngMBoKbqEZ6K4RdIFUl6TIvsqS + C4G0BJ3eHPohqxOFTPDbN9t2gQrTp44dBTXTdoJXjCj1XzgaRAP5f4O8VUWnAnOcI97n/nHfuiQH + Gu3T66Mjb8PFLZBJYHC+b+5sKU6dMHFoZG63f1kg0leGcLKeyA9AS0lrDpw3rRpKR1AlSjzD+ymU + t1I37GCufKNAKRxfLuU= headers: accept-ranges: - bytes @@ -3557,30 +3725,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content @@ -3594,21 +3764,21 @@ interactions: Connection: - keep-alive If-Match: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:14 GMT x-ms-range: - bytes=32752-32783 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerab6b1786/encryption_block_blobab6b1786 response: body: string: !!binary | - XKEgAsweEeHz8Scm4aQbUlkto0yN5xI6RD28VWTn6i4= + KZS3UjfsYK58o0ApHF8u5YzSscFkEvyIWC08rAWRzI8= headers: accept-ranges: - bytes @@ -3619,30 +3789,32 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:13 GMT etag: - - '"0x8D759729BBDF654"' + - '"0x8DA480E370941B2"' last-modified: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:47 GMT + - Mon, 06 Jun 2022 22:45:11 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sw5sD2XjpIk4twvRep1TJMbWId+32tDrVTQooT3IJk8ugbFD+nTngg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "PCpW2XO/jcWM7luTNz0WeJBxHzOfZRU1lfuH20Zl6hlIpNUqa3JY0A==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dzt4BDaaH4dR0IIP8KHQOQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DKYaGLEQ1f1TTtf3l6jY5Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_strict_mode.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_strict_mode.yaml index 2103c96f4883..a06019ca6aa0 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_strict_mode.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_blob_strict_mode.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:54 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerc0121309?restype=container response: @@ -25,15 +25,15 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:54 GMT etag: - - '"0x8D759729CDA5D89"' + - '"0x8DA480E50DB18E2"' last-modified: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:45:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_block_blob_single_shot.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_block_blob_single_shot.yaml index 9120641fc28f..2d448eddb161 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_block_blob_single_shot.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_put_block_blob_single_shot.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer39421575?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:43:39 GMT etag: - - '"0x8D759729CFDDC52"' + - '"0x8DA480E00CCB17F"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - 8azSr35u+E1fFX58Cs6Ngg== + 30iSGQs2nMtx/K+CHhrQSQ== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "NS3sd/hZSvt27USSP5B/0w8ihts3//1C/pXz1uAaNdm+szsr/nqAAA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SlY9dZCiFvJeE/GkWmT+lQIJ+wZq7r0s8onUVkB3Aie3tVH901FwLg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jhvPSP6ZemK0FPHKBdtp7Q==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "m3AB+SkMZQDcy8i+3CkmkQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer39421575/encryption_block_blob39421575 response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - 0Mdtg67oXrmhr0srNxShaw== + - HWRbYBkhRI4pzn5+ZTL1YA== date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:43:39 GMT etag: - - '"0x8D759729D06DE9E"' + - '"0x8DA480E00D73470"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - WeiITb5LxW0= + - rgVYXd5Jcxw= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,82 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 22:43:40 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer39421575/encryption_block_blob39421575 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '16' + content-md5: + - HWRbYBkhRI4pzn5+ZTL1YA== + content-type: + - application/octet-stream + date: + - Mon, 06 Jun 2022 22:43:40 GMT + etag: + - '"0x8DA480E00D73470"' + last-modified: + - Mon, 06 Jun 2022 22:43:40 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Mon, 06 Jun 2022 22:43:40 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SlY9dZCiFvJeE/GkWmT+lQIJ+wZq7r0s8onUVkB3Aie3tVH901FwLg==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "m3AB+SkMZQDcy8i+3CkmkQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-06-08' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer39421575/encryption_block_blob39421575 response: body: string: !!binary | - 8azSr35u+E1fFX58Cs6Ngg== + 30iSGQs2nMtx/K+CHhrQSQ== headers: accept-ranges: - bytes @@ -126,32 +189,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:48 GMT + - Mon, 06 Jun 2022 22:43:40 GMT etag: - - '"0x8D759729D06DE9E"' + - '"0x8DA480E00D73470"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - 0Mdtg67oXrmhr0srNxShaw== + - HWRbYBkhRI4pzn5+ZTL1YA== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 22:43:40 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "NS3sd/hZSvt27USSP5B/0w8ihts3//1C/pXz1uAaNdm+szsr/nqAAA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SlY9dZCiFvJeE/GkWmT+lQIJ+wZq7r0s8onUVkB3Aie3tVH901FwLg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jhvPSP6ZemK0FPHKBdtp7Q==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "m3AB+SkMZQDcy8i+3CkmkQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_validate_encryption.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_validate_encryption.yaml index e25e4af876ef..8e098efcea11 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_validate_encryption.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption.test_validate_encryption.yaml @@ -3,7 +3,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -11,11 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerabdb12aa?restype=container response: @@ -25,24 +25,24 @@ interactions: content-length: - '0' date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:51 GMT etag: - - '"0x8D759729D2F1148"' + - '"0x8DA4815FE4EAB4E"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created - request: body: !!binary | - L3UFOE1ongXB7rwmqC7R/g== + Cvw7Vvi7xFuwYWmnv/S4nA== headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate Connection: @@ -54,18 +54,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "oPCVX0Zz9HSqEyOCJ/CtBBJuHouZUm4vYPcvymL3Hc02GhJUOx7FsQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wA8IJNjQdrCmxUhWsM/Prt6Lo6ZzTIaaAGQ128LP7TuguxTPpDBA2Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "IE0IL3bMhhaDbHeKK1AX0Q==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Xo/sY4a/g8ItkRSKr8ckYQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerabdb12aa/encryption_block_blobabdb12aa response: @@ -75,21 +75,21 @@ interactions: content-length: - '0' content-md5: - - ts+5BTVKaLR97my3E6QjmQ== + - wENqoPbOif7olBHZgcV2Bg== date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:51 GMT etag: - - '"0x8D759729D376D57"' + - '"0x8DA4815FE5AF199"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: - - bMT/ImaYhB0= + - y3BgZB90Mrw= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 201 message: Created @@ -103,19 +103,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerabdb12aa/encryption_block_blobabdb12aa response: body: string: !!binary | - L3UFOE1ongXB7rwmqC7R/g== + Cvw7Vvi7xFuwYWmnv/S4nA== headers: accept-ranges: - bytes @@ -126,32 +126,34 @@ interactions: content-type: - application/octet-stream date: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:51 GMT etag: - - '"0x8D759729D376D57"' + - '"0x8DA4815FE5AF199"' last-modified: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin x-ms-blob-content-md5: - - ts+5BTVKaLR97my3E6QjmQ== + - wENqoPbOif7olBHZgcV2Bg== x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Fri, 25 Oct 2019 17:41:49 GMT + - Mon, 06 Jun 2022 23:40:52 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "oPCVX0Zz9HSqEyOCJ/CtBBJuHouZUm4vYPcvymL3Hc02GhJUOx7FsQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wA8IJNjQdrCmxUhWsM/Prt6Lo6ZzTIaaAGQ128LP7TuguxTPpDBA2Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "IE0IL3bMhhaDbHeKK1AX0Q==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Xo/sY4a/g8ItkRSKr8ckYQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: - 'true' x-ms-version: - - '2019-02-02' + - '2021-06-08' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_block_blob_from_star_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_block_blob_from_star_async.yaml index 86da098b4591..6a8a4a75c920 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_block_blob_from_star_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_block_blob_from_star_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:41 GMT + - Mon, 06 Jun 2022 23:54:58 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B54EBE4"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6B93B68"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8?restype=container - request: body: !!binary | - ej+m8QcBd9dz1LviCK6sqw== + +g1TpNMHrKCs7lKJo+vjPQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:41 GMT + - Mon, 06 Jun 2022 23:54:58 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "kW4hk4DazVuHYkLagB3+rD4VsXvLV7AQma/0CttFqj1g8AnmZx+KOA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "rEaBfaXMgvYvHvi3NzIP0s9vZBq3RBuawH3pt0NM10KwfkZ5kUTcOQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "WNotInt5WuBpMKEdl6w7SQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "JX/tmzxUmv0//TsgnHtZtg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob1 response: @@ -61,80 +58,112 @@ interactions: string: '' headers: content-length: '0' - content-md5: 20lSMzbn5HdoWm/sYduq0w== - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B5E9E85"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + content-md5: LeueSfpw2hbTvnKfrngLxA== + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6C3FF7E"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: RcupDOrIva0= + x-ms-content-crc64: NngJqS/JMBo= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob1 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob1 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:41 GMT + - Mon, 06 Jun 2022 23:54:58 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob1 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: LeueSfpw2hbTvnKfrngLxA== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6C3FF7E"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:54:58 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "rEaBfaXMgvYvHvi3NzIP0s9vZBq3RBuawH3pt0NM10KwfkZ5kUTcOQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "JX/tmzxUmv0//TsgnHtZtg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:54:58 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob1 response: body: string: !!binary | - ej+m8QcBd9dz1LviCK6sqw== + +g1TpNMHrKCs7lKJo+vjPQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B5E9E85"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6C3FF7E"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: 20lSMzbn5HdoWm/sYduq0w== + vary: Origin + x-ms-blob-content-md5: LeueSfpw2hbTvnKfrngLxA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:41 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:54:58 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "kW4hk4DazVuHYkLagB3+rD4VsXvLV7AQma/0CttFqj1g8AnmZx+KOA==", "Algorithm": "A256KW"}, + "rEaBfaXMgvYvHvi3NzIP0s9vZBq3RBuawH3pt0NM10KwfkZ5kUTcOQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "WNotInt5WuBpMKEdl6w7SQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "JX/tmzxUmv0//TsgnHtZtg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob1 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob1 - request: body: !!binary | - Bsv9yMKIDXQcUEryh04mgw== + IRQNoCuTtjZ9HFmkXxtBLg== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -142,18 +171,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:58 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "tFZXvbUlcIO/ENhLyk5b0vubwHoHbnJVrITfSV89jDjFOEuXLqVVbw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "vSL38dgce5lJAEyIZ358KxrV6kFqkuMtQdIwgQZV2sOpsMMnbGeTZw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "YbM27Zz6a+PrF1PzOv8Rkg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "BFI/ml4AsC44bm44t0F+/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob2 response: @@ -161,80 +190,112 @@ interactions: string: '' headers: content-length: '0' - content-md5: UdNtaIW23ZtF2oEVQoqBzA== - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B6F6A4C"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + content-md5: cDtkHAaJUCdeUHrU44tvCQ== + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6DEFD95"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: F2TU+Z3+Elw= + x-ms-content-crc64: nZ1iTse8woo= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob2 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob2 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:54:58 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob2 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: cDtkHAaJUCdeUHrU44tvCQ== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6DEFD95"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:54:58 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "vSL38dgce5lJAEyIZ358KxrV6kFqkuMtQdIwgQZV2sOpsMMnbGeTZw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "BFI/ml4AsC44bm44t0F+/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob2 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob2 response: body: string: !!binary | - Bsv9yMKIDXQcUEryh04mgw== + IRQNoCuTtjZ9HFmkXxtBLg== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B6F6A4C"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F6DEFD95"' + last-modified: Mon, 06 Jun 2022 23:54:58 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: UdNtaIW23ZtF2oEVQoqBzA== + vary: Origin + x-ms-blob-content-md5: cDtkHAaJUCdeUHrU44tvCQ== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:41 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:54:58 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "tFZXvbUlcIO/ENhLyk5b0vubwHoHbnJVrITfSV89jDjFOEuXLqVVbw==", "Algorithm": "A256KW"}, + "vSL38dgce5lJAEyIZ358KxrV6kFqkuMtQdIwgQZV2sOpsMMnbGeTZw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "YbM27Zz6a+PrF1PzOv8Rkg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "BFI/ml4AsC44bm44t0F+/A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob2 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob2 - request: body: !!binary | - LjjajrtCDwD2e4x76gZsPg== + uCqoEJbN/gLWi3r14YnY7Q== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -242,18 +303,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "B16RAwfCQ+XVzlQnCL48XxOq2yQH1w6b2iyngmCdkZ72YKlkhxp6GA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ANndmJrnnnfDLr4fnXsrC1RCE0JGWnDAaUBsxZbxNTlSNabvWcJhBQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "pJtufx/G8IqwvqX/TdDqYw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "DLE36ZY4xzeCFSgzK06K+A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob3 response: @@ -261,80 +322,112 @@ interactions: string: '' headers: content-length: '0' - content-md5: jkzszPVjO178kyrE3XAppw== - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B7EFD5C"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + content-md5: bL1Y/gL2azfNmQUoV9lplQ== + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F702D406"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: hviWLCROGRM= + x-ms-content-crc64: balytiYLFPw= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob3 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob3 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:54:59 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob3 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: bL1Y/gL2azfNmQUoV9lplQ== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F702D406"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "ANndmJrnnnfDLr4fnXsrC1RCE0JGWnDAaUBsxZbxNTlSNabvWcJhBQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "DLE36ZY4xzeCFSgzK06K+A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob3 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob3 response: body: string: !!binary | - LjjajrtCDwD2e4x76gZsPg== + uCqoEJbN/gLWi3r14YnY7Q== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B7EFD5C"' - last-modified: Fri, 25 Oct 2019 17:46:41 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F702D406"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: jkzszPVjO178kyrE3XAppw== + vary: Origin + x-ms-blob-content-md5: bL1Y/gL2azfNmQUoV9lplQ== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:41 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "B16RAwfCQ+XVzlQnCL48XxOq2yQH1w6b2iyngmCdkZ72YKlkhxp6GA==", "Algorithm": "A256KW"}, + "ANndmJrnnnfDLr4fnXsrC1RCE0JGWnDAaUBsxZbxNTlSNabvWcJhBQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "pJtufx/G8IqwvqX/TdDqYw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "DLE36ZY4xzeCFSgzK06K+A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob3 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob3 - request: body: !!binary | - wYb7ruB70LmQODYcM2I5WQ== + b574p+mAL6CTmdafmorA+A== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -342,18 +435,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "yfqVfFNKDl/0BezF4A0skM/gKnyj2Ny7SYj/j4GxDdOOhq+ZwS3qGQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XtxyP0qnFoSXrX8AGqWjUzeYFatvoGJv0wzm3tHHbfkKg75j+0yQhg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "P2HW1TbvbAPF9XfbCrNf0w==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "6iobOQx7tN8mWCOjZS754Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob4 response: @@ -361,74 +454,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: 8DESAYtyxRawrgXFCRddHA== - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B9128F2"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + content-md5: VZYpupeqNpvqI//b14QPqg== + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F71EBC68"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: T/gB9qfXaH4= + x-ms-content-crc64: vd8VoIFij3o= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob4 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob4 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:54:59 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob4 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: VZYpupeqNpvqI//b14QPqg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F71EBC68"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "XtxyP0qnFoSXrX8AGqWjUzeYFatvoGJv0wzm3tHHbfkKg75j+0yQhg==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "6iobOQx7tN8mWCOjZS754Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob4 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer734f1ab8/blob4 response: body: string: !!binary | - wYb7ruB70LmQODYcM2I5WQ== + b574p+mAL6CTmdafmorA+A== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:41 GMT - etag: '"0x8D759734B9128F2"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F71EBC68"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: 8DESAYtyxRawrgXFCRddHA== + vary: Origin + x-ms-blob-content-md5: VZYpupeqNpvqI//b14QPqg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:42 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "yfqVfFNKDl/0BezF4A0skM/gKnyj2Ny7SYj/j4GxDdOOhq+ZwS3qGQ==", "Algorithm": "A256KW"}, + "XtxyP0qnFoSXrX8AGqWjUzeYFatvoGJv0wzm3tHHbfkKg75j+0yQhg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "P2HW1TbvbAPF9XfbCrNf0w==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "6iobOQx7tN8mWCOjZS754Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer734f1ab8/blob4 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer734f1ab8/blob4 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_page_blob_from_star_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_page_blob_from_star_async.yaml index c39b474991a8..3c6a863a8b97 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_page_blob_from_star_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_create_page_blob_from_star_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a?restype=container response: @@ -15,44 +17,39 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BB9E9D3"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F7532CD7"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a?restype=container - request: body: null headers: + Accept: + - application/xml Content-Length: - '0' If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ZbAvw4LyF54M6KwUCQ6CNMqbdRqYhkngH+a7rvXF0tTOYtMA5qhNFA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "x/UqJ6Rd8InmDk6GzYaXuSt5ymlVQIAowqNx0fOrq6/EKAMvo/EKyA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "v+tyfjKR+my+qFSQn/fVbw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Dbm4U4dcM95nmIXXiC6riw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob1 response: @@ -60,51 +57,51 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BC20562"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F75C3191"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob1 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob1 - request: body: !!binary | - kbI3V5c4PjdVGxH75fgO+F7vMAC5Q1HJyduEev0Jl6B/u1ca4AeqBjAt6a7hMR2AS9+btgC2fiiX - PVy82OJ8I7x2UKkLFiTlbpBCFJNK46vBuEkgapn4+3YH86tvuPoF6BGF8HxphMl+oMzysnJ0XQad - 3MkZeMyPhPaX9sZj4fL0uguq9q0Tunl3oCA88+7H1I3l02rZxYzJFw/vQ7aPMb8qhYg7N8PggMIT - XcZbSqRuaTHf9g0e8CmY7Sc90gRJHLRdApXlOO7nbOzm+IByEUY7c+2HTlrUJ0uE7x20DyznEFFe - eqoY4+Fl9ZgggePoxqNbFcQkkXuUTYfum/RUHPEUMK9Y7VS7eJgN9qYrDkhoIajV7Yf2kw35KZPQ - wZxLFHFdDkAaMCE5AzPC/tRYzLvV8vY9KfOheZrYVytWUYIDNiVhthlY2qaMYXHBWEsPRwWZMij7 - oK7TbWEKRw51QOZpaxQrydlM3I6OtYL5VDzWWRihM5GtcvKGe2E5ZZcFtU2lx/gZ7g/5KBj7srXq - 9180N7W0QJ+/LTFsyMQTkEqVdn7IygUJFNv1z3wvS+3LkJx0n+wkzyCQZQhawS+Q6ZApkMZmmWzg - PPLr+dkhLAjoyoIc8Q/HrUa233bfQRyD1zUN7SVQaz8LBuvECh+6ZouhQmohZ4MnNNVoMjV+3kk= + crcJ3TUxhI4vLxlTrrEqSloxRoUUJ8Xzjk0+/LEcM3MmFFMEJZ5tmo63YPkgX9++KJ4HojwQnLZC + FWuqzaxIwv3caIQoT6ZlVqJ+7x0KcT7uD7hGUfrsSwmk2Kg8Yx9OjWrhbrguBjQmhv42XgZ98pUI + X5VMHV4RpuP96tJ+Smmxgr9l6Xp/NyXtTN8AaOAiOT4J8Gl9+DGiGIOSnMEmvaiKkNtcXs+O3h1I + PBfmrmsFYyD5k8BQT+WHKjVt+5BTy5v/DveoOvFHEIDdaxhJw3ei8UDcQM0s+Etsp15Qd5H7FA9w + plhncJKzo7ZujH8yZ9q+mCYzvXJf+7j4fZ8aFS5XvJyDPWfhhdswJtmWZr6jXOXlbVGhHc973IR1 + 2FgqsSr54fOcL+qq80j7bApWCvzK9vymOlDWAovbQfwfwuoXq/rh+sqrkndvmzRMopRlF1b3s4Eq + fE25FENSFRVZzgSlN2Xb46yMOUtQxLNiFHGaDXF+5owAME2kyCAumNZKdKy8z8gZhjq0FP5IiLyx + 2zC/pAdPgNUh3+bRliKnBcry3IA/4A/6J+rgsJO6JtMIiWVC30SpXN8XDDs3zjZUQ3OEnY7G5CVI + e7JgtSXTHu4S1ca+q9zluNzw+fsJkIHnRKjhLJrz7RZ2EVWIckhHSjGZBkbA1g2ckcy8PYW9H10= headers: + Accept: + - application/xml Content-Length: - '512' Content-Type: - application/octet-stream If-Match: - - '"0x8D759734BC20562"' + - '"0x8DA4817F75C3191"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "x/UqJ6Rd8InmDk6GzYaXuSt5ymlVQIAowqNx0fOrq6/EKAMvo/EKyA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "Dbm4U4dcM95nmIXXiC6riw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob1?comp=page response: @@ -112,142 +109,166 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BC9CEED"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F76509EC"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: '0' - x-ms-content-crc64: hWpAlKFNBAc= + x-ms-content-crc64: R5oL9bE+SKk= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob1 - - comp=page - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob1?comp=page - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob1 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '512' + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:58 GMT + etag: '"0x8DA4817F76509EC"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "x/UqJ6Rd8InmDk6GzYaXuSt5ymlVQIAowqNx0fOrq6/EKAMvo/EKyA==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "Dbm4U4dcM95nmIXXiC6riw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob1 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob1 response: body: string: !!binary | - kbI3V5c4PjdVGxH75fgO+F7vMAC5Q1HJyduEev0Jl6B/u1ca4AeqBjAt6a7hMR2AS9+btgC2fiiX - PVy82OJ8I7x2UKkLFiTlbpBCFJNK46vBuEkgapn4+3YH86tvuPoF6BGF8HxphMl+oMzysnJ0XQad - 3MkZeMyPhPaX9sZj4fL0uguq9q0Tunl3oCA88+7H1I3l02rZxYzJFw/vQ7aPMb8qhYg7N8PggMIT - XcZbSqRuaTHf9g0e8CmY7Sc90gRJHLRdApXlOO7nbOzm+IByEUY7c+2HTlrUJ0uE7x20DyznEFFe - eqoY4+Fl9ZgggePoxqNbFcQkkXuUTYfum/RUHPEUMK9Y7VS7eJgN9qYrDkhoIajV7Yf2kw35KZPQ - wZxLFHFdDkAaMCE5AzPC/tRYzLvV8vY9KfOheZrYVytWUYIDNiVhthlY2qaMYXHBWEsPRwWZMij7 - oK7TbWEKRw51QOZpaxQrydlM3I6OtYL5VDzWWRihM5GtcvKGe2E5ZZcFtU2lx/gZ7g/5KBj7srXq - 9180N7W0QJ+/LTFsyMQTkEqVdn7IygUJFNv1z3wvS+3LkJx0n+wkzyCQZQhawS+Q6ZApkMZmmWzg - PPLr+dkhLAjoyoIc8Q/HrUa233bfQRyD1zUN7SVQaz8LBuvECh+6ZouhQmohZ4MnNNVoMjV+3kk= + crcJ3TUxhI4vLxlTrrEqSloxRoUUJ8Xzjk0+/LEcM3MmFFMEJZ5tmo63YPkgX9++KJ4HojwQnLZC + FWuqzaxIwv3caIQoT6ZlVqJ+7x0KcT7uD7hGUfrsSwmk2Kg8Yx9OjWrhbrguBjQmhv42XgZ98pUI + X5VMHV4RpuP96tJ+Smmxgr9l6Xp/NyXtTN8AaOAiOT4J8Gl9+DGiGIOSnMEmvaiKkNtcXs+O3h1I + PBfmrmsFYyD5k8BQT+WHKjVt+5BTy5v/DveoOvFHEIDdaxhJw3ei8UDcQM0s+Etsp15Qd5H7FA9w + plhncJKzo7ZujH8yZ9q+mCYzvXJf+7j4fZ8aFS5XvJyDPWfhhdswJtmWZr6jXOXlbVGhHc973IR1 + 2FgqsSr54fOcL+qq80j7bApWCvzK9vymOlDWAovbQfwfwuoXq/rh+sqrkndvmzRMopRlF1b3s4Eq + fE25FENSFRVZzgSlN2Xb46yMOUtQxLNiFHGaDXF+5owAME2kyCAumNZKdKy8z8gZhjq0FP5IiLyx + 2zC/pAdPgNUh3+bRliKnBcry3IA/4A/6J+rgsJO6JtMIiWVC30SpXN8XDDs3zjZUQ3OEnY7G5CVI + e7JgtSXTHu4S1ca+q9zluNzw+fsJkIHnRKjhLJrz7RZ2EVWIckhHSjGZBkbA1g2ckcy8PYW9H10= headers: accept-ranges: bytes content-length: '512' content-range: bytes 0-511/512 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BC9CEED"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F76509EC"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-sequence-number: '0' x-ms-blob-type: PageBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:42 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:54:59 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "ZbAvw4LyF54M6KwUCQ6CNMqbdRqYhkngH+a7rvXF0tTOYtMA5qhNFA==", "Algorithm": "A256KW"}, + "x/UqJ6Rd8InmDk6GzYaXuSt5ymlVQIAowqNx0fOrq6/EKAMvo/EKyA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "v+tyfjKR+my+qFSQn/fVbw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "Dbm4U4dcM95nmIXXiC6riw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob1 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob1 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:54:59 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob1?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: application/xml - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BC9CEED"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F76509EC"' + last-modified: Mon, 06 Jun 2022 23:54:59 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked + vary: Origin x-ms-blob-content-length: '512' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob1 - - comp=pagelist - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob1?comp=pagelist - request: body: null headers: + Accept: + - application/xml Content-Length: - '0' If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "amDkiQYVRF63QQ+xvSREA/0f5MoTcRLU0crHEN7MwsN9O/qXzvgKTw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "NNxuzYrg8LBwmG3ZbFyTxL8gHplsifac50u/z9gIFVmk74lLYI/47g==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "Qe/0UkugbtJDrdWw2qel1g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Oq1lAdJnzs3nC+t329bbDQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob2 response: @@ -255,51 +276,51 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BDFF2C9"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F786219A"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob2 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob2 - request: body: !!binary | - 4G9x+8XZjYmgs8h8b6hQ0rWnQrkVrXkzc5ExtUk37+7dJwR29kMz9YprLK2qKTCCQwSI2MU82EpZ - W1ekUXtINSOR9au1ZeqpKRuhnuygC98mf39jDS7lJWpI40LHP20wD6ncakzesld/+0KHw3CKo81t - 9jUKwGSjm3xjLcvJG+Hf3PlUxnZ3GZwORlJ5SiGXNQCkbpaVijzFyoOwbgsvbNWVi9WKNvzWaSVu - yuDDgBUz1/+jUL5yQWZy5wqqbnkDF+yWOwLhhXzqWEdhoTIyrWYwhq8NnqWX+pyqfGOhJsiNk0qN - HgGq3BHf1/imuspNLwMOYAOiE/f7OstEbezn+AxrKF/UXD9UTVw1ez+ljxujd5MqPQGDCC3uPZ4G - QTevohZOBl2RR/Zw5Z/oDY9Ipt5fDFpERkkf/wW0VaURebpJSiiLMBVmkFvS5GdHZtI2oy5c3hLt - TdX45mSdTE/6VFetnGrB/ZMILvEGQDKQ25yGTu68GuB4wH1uv2oXvtLU8sOOitV6tMHFBglzsYvi - S+3kxr53Glv6XyMcHyRT1RrqzdGZ/l8suKfFuTOM5AN5xh4XPduq9iiBDAjmHEyTG29zERK6tv/3 - CWOOY1WrVMn2Bm5vs8pgivihF+Z2RpXAdviHwo9rxNid6LuYn759Rgk3cTDMehcXZKVN6I90BvM= + fVm6l1PQkTxFh/E5TR8i3o4PpQbypDxhgx4s5MJNuOlGoQ0v/QpQBLDHYLq9AKeF/i6eZ1l7cvYl + XLDQ9kGAP/6dPM99vJ+d6uVWoECTNT7UDFS3wY66QZNxTOaqX4fFlkNe4HeH+nK+4+i4NvAlKu79 + feFupJ9C3YLqONWst3/M/yFWnm5UV2/6/r9AOTJ7hjZ6qk3Kgto7Rme9OkoECsjxvDwk/CcWZXoh + QeVcgff9DfZdmpt31DLiFS4yNncJ9NNtgZlc2ZqXS1/m4zzRdTWbqkh3wdWbJuO74CGYMA9eFIuh + Kxg5luijCnkqVhgw4kKPple6zhdFt58R+WSnqHF6dpFj4YvoDjyHkBs4aLWUFbj+TlSoax5GJPuw + T6Bh9jMxImKajr6qLy1ATAhCAlAK/9KrUzy2A1IyBT91zhTBuwnBhcafmuF+v3dARC1aVcpwxe6/ + Qw16XMX3uPUUvVZpCaBIpFGIldQpsJq9Ofn84JjtRCyLCxNQ52q9EihA2sX/5xv8IocxeX1uZGNH + oPBx/lJ+ERRNXrFN5wXXaAPWYZF+B7dZ3IAlgcvM8fnGvAqM0SHIGVtb2m7dDVnNTABazV39jIgW + gRMHCO0Jz/DnctChHU8HQkgwNRrAWewCCfIvwB2C/H8bJu02E7fWeEXxQT9dTpEvB1WyqxhWW4I= headers: + Accept: + - application/xml Content-Length: - '512' Content-Type: - application/octet-stream If-Match: - - '"0x8D759734BDFF2C9"' + - '"0x8DA4817F786219A"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "NNxuzYrg8LBwmG3ZbFyTxL8gHplsifac50u/z9gIFVmk74lLYI/47g==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "Oq1lAdJnzs3nC+t329bbDQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob2?comp=page response: @@ -307,142 +328,166 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BE7470D"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7931809"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: '0' - x-ms-content-crc64: aGnM+aWu99E= + x-ms-content-crc64: nRVYmGOQR5s= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob2 - - comp=page - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob2?comp=page - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob2 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '512' + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7931809"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:00 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "NNxuzYrg8LBwmG3ZbFyTxL8gHplsifac50u/z9gIFVmk74lLYI/47g==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "Oq1lAdJnzs3nC+t329bbDQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob2 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob2 response: body: string: !!binary | - 4G9x+8XZjYmgs8h8b6hQ0rWnQrkVrXkzc5ExtUk37+7dJwR29kMz9YprLK2qKTCCQwSI2MU82EpZ - W1ekUXtINSOR9au1ZeqpKRuhnuygC98mf39jDS7lJWpI40LHP20wD6ncakzesld/+0KHw3CKo81t - 9jUKwGSjm3xjLcvJG+Hf3PlUxnZ3GZwORlJ5SiGXNQCkbpaVijzFyoOwbgsvbNWVi9WKNvzWaSVu - yuDDgBUz1/+jUL5yQWZy5wqqbnkDF+yWOwLhhXzqWEdhoTIyrWYwhq8NnqWX+pyqfGOhJsiNk0qN - HgGq3BHf1/imuspNLwMOYAOiE/f7OstEbezn+AxrKF/UXD9UTVw1ez+ljxujd5MqPQGDCC3uPZ4G - QTevohZOBl2RR/Zw5Z/oDY9Ipt5fDFpERkkf/wW0VaURebpJSiiLMBVmkFvS5GdHZtI2oy5c3hLt - TdX45mSdTE/6VFetnGrB/ZMILvEGQDKQ25yGTu68GuB4wH1uv2oXvtLU8sOOitV6tMHFBglzsYvi - S+3kxr53Glv6XyMcHyRT1RrqzdGZ/l8suKfFuTOM5AN5xh4XPduq9iiBDAjmHEyTG29zERK6tv/3 - CWOOY1WrVMn2Bm5vs8pgivihF+Z2RpXAdviHwo9rxNid6LuYn759Rgk3cTDMehcXZKVN6I90BvM= + fVm6l1PQkTxFh/E5TR8i3o4PpQbypDxhgx4s5MJNuOlGoQ0v/QpQBLDHYLq9AKeF/i6eZ1l7cvYl + XLDQ9kGAP/6dPM99vJ+d6uVWoECTNT7UDFS3wY66QZNxTOaqX4fFlkNe4HeH+nK+4+i4NvAlKu79 + feFupJ9C3YLqONWst3/M/yFWnm5UV2/6/r9AOTJ7hjZ6qk3Kgto7Rme9OkoECsjxvDwk/CcWZXoh + QeVcgff9DfZdmpt31DLiFS4yNncJ9NNtgZlc2ZqXS1/m4zzRdTWbqkh3wdWbJuO74CGYMA9eFIuh + Kxg5luijCnkqVhgw4kKPple6zhdFt58R+WSnqHF6dpFj4YvoDjyHkBs4aLWUFbj+TlSoax5GJPuw + T6Bh9jMxImKajr6qLy1ATAhCAlAK/9KrUzy2A1IyBT91zhTBuwnBhcafmuF+v3dARC1aVcpwxe6/ + Qw16XMX3uPUUvVZpCaBIpFGIldQpsJq9Ofn84JjtRCyLCxNQ52q9EihA2sX/5xv8IocxeX1uZGNH + oPBx/lJ+ERRNXrFN5wXXaAPWYZF+B7dZ3IAlgcvM8fnGvAqM0SHIGVtb2m7dDVnNTABazV39jIgW + gRMHCO0Jz/DnctChHU8HQkgwNRrAWewCCfIvwB2C/H8bJu02E7fWeEXxQT9dTpEvB1WyqxhWW4I= headers: accept-ranges: bytes content-length: '512' content-range: bytes 0-511/512 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BE7470D"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7931809"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-sequence-number: '0' x-ms-blob-type: PageBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:42 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:00 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "amDkiQYVRF63QQ+xvSREA/0f5MoTcRLU0crHEN7MwsN9O/qXzvgKTw==", "Algorithm": "A256KW"}, + "NNxuzYrg8LBwmG3ZbFyTxL8gHplsifac50u/z9gIFVmk74lLYI/47g==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "Qe/0UkugbtJDrdWw2qel1g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "Oq1lAdJnzs3nC+t329bbDQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob2 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob2 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob2?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: application/xml - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BE7470D"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7931809"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked + vary: Origin x-ms-blob-content-length: '512' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob2 - - comp=pagelist - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob2?comp=pagelist - request: body: null headers: + Accept: + - application/xml Content-Length: - '0' If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-content-length: - '512' x-ms-blob-type: - PageBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "GBHlr46tTL7G7OFhnHQHFDNi133AD+WDrfNF5rRNYL05iO/ivlACig==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8fgbr5NikEyJrtg4B5cN073txdxwkb+PQA/DY/TN2JILigyOYOGmMA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "LVTeJ99hXMgitd0bxbVSMA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "tP0+C+cVTNPhY6aHXtqKjg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob3 response: @@ -450,51 +495,51 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734BFC323D"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7C321B0"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob3 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob3 - request: body: !!binary | - tZ5tmlEaKDj7mrakBq70gjUYDrnk7+CXbpDn9YhXaytc7lEv0jKe5DzHnJkWsIuCZVG1rJlxJpSG - n5ga3rdk6BFAlCCZF5Po84oCEf79y8usPDePmgknmjxVwcKflXT3BWAkysBXLOZZsQAJgK/IChtZ - Hpn5YHAHLeKtidIxYo/3hVtETp8qr8XqLDyVuTc30Z45pZXWSLpEv/bM4Z+JmjVSbHzk0LR63z1u - 4YHllwq5rm7s+2w5Hw9SCzV2H7ZLnpLhlZVAAO6jqpVM/lW1JuK8SG0hrVQYL3P4DCySR6Peu5Fo - oWGm6FHCZ8/gGDGjlIR4kc+xECd12kQlOHUDex3jzZNfNfXFuozG56VrToHyIByjWZoSava8jNhm - nFMojDVtrXuY7SnKat/usHmqXVKYG839+eDpEHsgy5sOIN2q4eihZEbe5yW7be4NIFllbHcHhh8U - f7jrqDwV2J1PaZt1mwkQmxhAsQ4Oy728WwADy3GWgbnQL71f8wY+AUDkehRvQ61RJPAVoKVBqWku - NKEHltvf8mDdluOGplUlTLfvmetJPpb9+uCjPDjkWzogZNHJa8j3U8iVWIP+gGrb7k0a7pqbIb5x - uoxZ/qoei+E4ylTdt7kzX+HdbUsPPnfA/rNgLvsidEJJlbE6YHge4+3KWq5SJ2HYq5kzt13UQ70= + QFaE33V7vp8VH+CTggPq3T6IdpbmtnaWlgHrAzCykaasBir4/TMNNEq8knDAVMBfqPysxWbSzkjF + O0gvW9cqlDHpsjh4PPCdr4J5hz1fe1y9wtYmgEXEFUhdWi5xYsL12UOw77IkoiI1g8llVka0q0R8 + mykSWABui8oUdYAw+Ur6GJ+IUhEVYmKXt0Rgo4NufN12YzXRvIT6wKGYiq2v1VX4OuAj1kZKLA/k + S3q8Mpla1KlSr4RVDMLXKGWbLtFZSmrkIINz08MBcE11Kt5idSLfhp3bZCTD78V2lLXwKPa3g0qm + MeFR+I0jUmeaJzL8+OC04JCQjzHVXElig0MFB7dcq2VgyOqiYO1Ed5gsRAhUteZt6zCTSPriBgcE + UL9zzaYeMFyPA3UunhPjN7N6+gPbkAUcfJzb9NSheFbTHhhuyihEnsfMma2zgwjB4I625W+chQbQ + T+ZwEh3nNyTmUvw8oyKmqJB4lSAPJVBAaZaxOnqVuOBLYYyLPAT99BEyd1N3xH9uhhGqqP4Xmepp + oV8eWgRXEo27Pg/y8mUx9oLjkc4iCMWVipl5YPJYLaXVeWtWEdYM2QcujMWwvlosPA9U9JZP5dHS + 01Qts2m3rjElgFe92mMicnDSd8V+Nw6WQYYxmF8S6D65BWJ3tktkanKAr5cIHQJWSY3l3spoF8A= headers: + Accept: + - application/xml Content-Length: - '512' Content-Type: - application/octet-stream If-Match: - - '"0x8D759734BFC323D"' + - '"0x8DA4817F7C321B0"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:42 GMT + - Mon, 06 Jun 2022 23:55:00 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8fgbr5NikEyJrtg4B5cN073txdxwkb+PQA/DY/TN2JILigyOYOGmMA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "tP0+C+cVTNPhY6aHXtqKjg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-page-write: - update x-ms-range: - bytes=0-511 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob3?comp=page response: @@ -502,118 +547,140 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734C03AD9A"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7CB0FC8"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: '0' - x-ms-content-crc64: UXEs5PCtCw4= + x-ms-content-crc64: dsfkKdrv2JM= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob3 - - comp=page - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob3?comp=page +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:00 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob3 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '512' + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7CB0FC8"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:00 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "8fgbr5NikEyJrtg4B5cN073txdxwkb+PQA/DY/TN2JILigyOYOGmMA==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "tP0+C+cVTNPhY6aHXtqKjg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob3 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:43 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob3 response: body: string: !!binary | - tZ5tmlEaKDj7mrakBq70gjUYDrnk7+CXbpDn9YhXaytc7lEv0jKe5DzHnJkWsIuCZVG1rJlxJpSG - n5ga3rdk6BFAlCCZF5Po84oCEf79y8usPDePmgknmjxVwcKflXT3BWAkysBXLOZZsQAJgK/IChtZ - Hpn5YHAHLeKtidIxYo/3hVtETp8qr8XqLDyVuTc30Z45pZXWSLpEv/bM4Z+JmjVSbHzk0LR63z1u - 4YHllwq5rm7s+2w5Hw9SCzV2H7ZLnpLhlZVAAO6jqpVM/lW1JuK8SG0hrVQYL3P4DCySR6Peu5Fo - oWGm6FHCZ8/gGDGjlIR4kc+xECd12kQlOHUDex3jzZNfNfXFuozG56VrToHyIByjWZoSava8jNhm - nFMojDVtrXuY7SnKat/usHmqXVKYG839+eDpEHsgy5sOIN2q4eihZEbe5yW7be4NIFllbHcHhh8U - f7jrqDwV2J1PaZt1mwkQmxhAsQ4Oy728WwADy3GWgbnQL71f8wY+AUDkehRvQ61RJPAVoKVBqWku - NKEHltvf8mDdluOGplUlTLfvmetJPpb9+uCjPDjkWzogZNHJa8j3U8iVWIP+gGrb7k0a7pqbIb5x - uoxZ/qoei+E4ylTdt7kzX+HdbUsPPnfA/rNgLvsidEJJlbE6YHge4+3KWq5SJ2HYq5kzt13UQ70= + QFaE33V7vp8VH+CTggPq3T6IdpbmtnaWlgHrAzCykaasBir4/TMNNEq8knDAVMBfqPysxWbSzkjF + O0gvW9cqlDHpsjh4PPCdr4J5hz1fe1y9wtYmgEXEFUhdWi5xYsL12UOw77IkoiI1g8llVka0q0R8 + mykSWABui8oUdYAw+Ur6GJ+IUhEVYmKXt0Rgo4NufN12YzXRvIT6wKGYiq2v1VX4OuAj1kZKLA/k + S3q8Mpla1KlSr4RVDMLXKGWbLtFZSmrkIINz08MBcE11Kt5idSLfhp3bZCTD78V2lLXwKPa3g0qm + MeFR+I0jUmeaJzL8+OC04JCQjzHVXElig0MFB7dcq2VgyOqiYO1Ed5gsRAhUteZt6zCTSPriBgcE + UL9zzaYeMFyPA3UunhPjN7N6+gPbkAUcfJzb9NSheFbTHhhuyihEnsfMma2zgwjB4I625W+chQbQ + T+ZwEh3nNyTmUvw8oyKmqJB4lSAPJVBAaZaxOnqVuOBLYYyLPAT99BEyd1N3xH9uhhGqqP4Xmepp + oV8eWgRXEo27Pg/y8mUx9oLjkc4iCMWVipl5YPJYLaXVeWtWEdYM2QcujMWwvlosPA9U9JZP5dHS + 01Qts2m3rjElgFe92mMicnDSd8V+Nw6WQYYxmF8S6D65BWJ3tktkanKAr5cIHQJWSY3l3spoF8A= headers: accept-ranges: bytes content-length: '512' content-range: bytes 0-511/512 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734C03AD9A"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7CB0FC8"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-sequence-number: '0' x-ms-blob-type: PageBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:42 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:00 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "GBHlr46tTL7G7OFhnHQHFDNi133AD+WDrfNF5rRNYL05iO/ivlACig==", "Algorithm": "A256KW"}, + "8fgbr5NikEyJrtg4B5cN073txdxwkb+PQA/DY/TN2JILigyOYOGmMA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "LVTeJ99hXMgitd0bxbVSMA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "tP0+C+cVTNPhY6aHXtqKjg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob3 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob3 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:43 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer58411a4a/blob3?comp=pagelist response: body: - string: "\uFEFF0511" + string: "\uFEFF\n0511" headers: content-type: application/xml - date: Fri, 25 Oct 2019 17:46:42 GMT - etag: '"0x8D759734C03AD9A"' - last-modified: Fri, 25 Oct 2019 17:46:42 GMT + date: Mon, 06 Jun 2022 23:54:59 GMT + etag: '"0x8DA4817F7CB0FC8"' + last-modified: Mon, 06 Jun 2022 23:55:00 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: chunked + vary: Origin x-ms-blob-content-length: '512' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 200 message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer58411a4a/blob3 - - comp=pagelist - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer58411a4a/blob3?comp=pagelist version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_kek_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_kek_async.yaml index 419a8798bd6c..1b500103e40b 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_kek_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_kek_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:43 GMT + - Mon, 06 Jun 2022 23:55:00 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere8e1488?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:43 GMT - etag: '"0x8D759734C8DBC17"' - last-modified: Fri, 25 Oct 2019 17:46:43 GMT + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F818388C"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere8e1488 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere8e1488?restype=container - request: body: !!binary | - 1bgS7/QWB/pNzauKwLXapQ== + IE90xCYIQIycw9zNPu8GwQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:43 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "mjFM+hNmtaYa7+ztR+8kUKzGdElrTq1FrGtbB9gMZn/t6SxBAWwPYg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "hoQJbluIPfAYqpHOEdCqnSpiZTIVkvPpaCWvILo9ryQdNHdOyp0z1w==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "toKEjm642lgUtE3QoIZmyQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "P3WJ/YdwfWa7ScmH/23pzQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 response: @@ -61,74 +58,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: JRo+6wubK90ezlwvaFV0SA== - date: Fri, 25 Oct 2019 17:46:43 GMT - etag: '"0x8D759734C95F4B9"' - last-modified: Fri, 25 Oct 2019 17:46:43 GMT + content-md5: aMdvCCBWpQWnON+nAoOmhg== + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F821397D"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: IvnP0UYlL/M= + x-ms-content-crc64: OF1VOK1lt50= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere8e1488/encryption_block_blobe8e1488 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:01 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: aMdvCCBWpQWnON+nAoOmhg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F821397D"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "hoQJbluIPfAYqpHOEdCqnSpiZTIVkvPpaCWvILo9ryQdNHdOyp0z1w==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "P3WJ/YdwfWa7ScmH/23pzQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:43 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 response: body: string: !!binary | - 1bgS7/QWB/pNzauKwLXapQ== + IE90xCYIQIycw9zNPu8GwQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:43 GMT - etag: '"0x8D759734C95F4B9"' - last-modified: Fri, 25 Oct 2019 17:46:43 GMT + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F821397D"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: JRo+6wubK90ezlwvaFV0SA== + vary: Origin + x-ms-blob-content-md5: aMdvCCBWpQWnON+nAoOmhg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:43 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "mjFM+hNmtaYa7+ztR+8kUKzGdElrTq1FrGtbB9gMZn/t6SxBAWwPYg==", "Algorithm": "A256KW"}, + "hoQJbluIPfAYqpHOEdCqnSpiZTIVkvPpaCWvILo9ryQdNHdOyp0z1w==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "toKEjm642lgUtE3QoIZmyQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "P3WJ/YdwfWa7ScmH/23pzQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere8e1488/encryption_block_blobe8e1488 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere8e1488/encryption_block_blobe8e1488 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_aligns_on_16_byte_block_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_aligns_on_16_byte_block_async.yaml index 9a604f45d1a9..5b1463100c45 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_aligns_on_16_byte_block_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_aligns_on_16_byte_block_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:44 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontaineraa741eb6?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D031630"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F85BBB67"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraa741eb6 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraa741eb6?restype=container - request: body: !!binary | - 2vYqztqUqz/DBK2GT331KTzt2CZdPRbtbg/P3V+CFnxsij1ErL8MOqBGlKAn3KrljfVRPztrFV5Y - 7e8zr3wofqV2K6guJue3xdhb0yrqW6D713ncpdqISMJnHJIadINEIr55yaHOAmYOMFxVTncRZxp7 - LHHkuPXBla49VJTssPu/TlSXg1LDr3Ue1wdyquv1 + rkeg7DiB85+fsOuAW3dEwJmoKcW23IpC2pfQHQ0pupKllxOnjr4tsTXDy6ouK3mq4femzp/JAUuu + nJiMaF0+i3XE+bHAocgopEK0mXqbTuWnLyQ/CKL6KK+o0dzmgQu+F7ZMzSFutoz+9LYk6cEcLeSd + tRTOKD6afVW1dSqLXX8coNKmoXEb8d1FLpQNsV4u headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:44 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "azLBjp09pz5PbVnQM69Vn9ttAuIxu2txU6V9aadAtnXms2m5XM9Tzg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "eLv4ykGav26mQVJZt7AaiPVZ6NVorEV5AMD9c1rLdqblau/PXfYtaw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "8y6eyqhsoNowCRnoW0ongw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "WhyV5qUX2hGwT9fArSxnwA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 response: @@ -63,74 +60,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: jf70hz0lLBhc2tnpVcq9rQ== - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D0AEACD"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + content-md5: CfLyeUMZZIDyXt22akMwyQ== + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F86738EF"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 6Aks8JE64SI= + x-ms-content-crc64: 7iwRfwK5sCE= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraa741eb6/encryption_block_blobaa741eb6 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:01 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: CfLyeUMZZIDyXt22akMwyQ== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F86738EF"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "eLv4ykGav26mQVJZt7AaiPVZ6NVorEV5AMD9c1rLdqblau/PXfYtaw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "WhyV5qUX2hGwT9fArSxnwA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:44 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-range: - bytes=32-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 response: body: string: !!binary | - bIo9RKy/DDqgRpSgJ9yq5Y31UT87axVeWO3vM698KH4= + pZcTp46+LbE1w8uqLit5quH3ps6fyQFLrpyYjGhdPos= headers: accept-ranges: bytes content-length: '32' content-range: bytes 32-63/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D0AEACD"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F86738EF"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: jf70hz0lLBhc2tnpVcq9rQ== + vary: Origin + x-ms-blob-content-md5: CfLyeUMZZIDyXt22akMwyQ== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:44 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "azLBjp09pz5PbVnQM69Vn9ttAuIxu2txU6V9aadAtnXms2m5XM9Tzg==", "Algorithm": "A256KW"}, + "eLv4ykGav26mQVJZt7AaiPVZ6NVorEV5AMD9c1rLdqblau/PXfYtaw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "8y6eyqhsoNowCRnoW0ongw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "WhyV5qUX2hGwT9fArSxnwA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraa741eb6/encryption_block_blobaa741eb6 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraa741eb6/encryption_block_blobaa741eb6 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_beginning_to_middle_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_beginning_to_middle_async.yaml index a5a4f0d26afe..f0294808e502 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_beginning_to_middle_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_beginning_to_middle_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:44 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer38031d7a?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D2DE4EB"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + date: Mon, 06 Jun 2022 23:55:00 GMT + etag: '"0x8DA4817F89E8483"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer38031d7a - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer38031d7a?restype=container - request: body: !!binary | - EGFxo+OOc93E+VSP6yOD37HGSQRh3KD8uanZcJyJI+ntcF9Qwg/3PDT8ywhG1u3xf3ai3BBn4xIv - Uq2lhJq6Ll6vIpqITb49NhlLP+0pneRjVphaWsjC+E2Xg5Aay+OjeGgTaPDNnI7dRtmHVzhMnHRO - qwVYsGjfhOmJG9FTRO1X6Vi66zsODWZUCQhF/F1/ + OIWcxKUP99gyw90x91CcYA2nzR1/gBhSLpkX7Rd1EBAQ+lCOQcFW4gg7eDfK9WMZa99KA+dFyQU9 + t0/xnZrx5ju24MEDoWTjOl0h0YSY7HGre8z4V26SHGOH74X7073NvKce+JqLsfehKdPtE4fvUDzP + FXjL/IXByKsJIKx/R5K2gs5ItnxZduv2DM7pBnft headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:44 GMT + - Mon, 06 Jun 2022 23:55:01 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Pj1SBpUYW/Hky21lOaOXFAckCOAh8m5/Xt3C5VRImsKS9EfIY50ijA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LLJk85PcmylI+RNYsSg+mGDMcqq6wf34wUGX2xYmHLLBVbm+KYWUtQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "TVih+fMOQKnsVt5mNtwNLg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "WFLbhTiVzszu1sa1ITpwgw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a response: @@ -63,75 +60,105 @@ interactions: string: '' headers: content-length: '0' - content-md5: IaF2B8csQISch89n0iCzLQ== - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D373297"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + content-md5: 1r2sozCzywWAxMGq7//aLA== + date: Mon, 06 Jun 2022 23:55:01 GMT + etag: '"0x8DA4817F8A793DD"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: Y7+tCgx2xmA= + x-ms-content-crc64: IHruqEU7st0= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer38031d7a/encryption_block_blob38031d7a - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:01 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: 1r2sozCzywWAxMGq7//aLA== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:01 GMT + etag: '"0x8DA4817F8A793DD"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "LLJk85PcmylI+RNYsSg+mGDMcqq6wf34wUGX2xYmHLLBVbm+KYWUtQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "WFLbhTiVzszu1sa1ITpwgw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-range: - bytes=0-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a response: body: string: !!binary | - EGFxo+OOc93E+VSP6yOD37HGSQRh3KD8uanZcJyJI+ntcF9Qwg/3PDT8ywhG1u3xf3ai3BBn4xIv - Uq2lhJq6Lg== + OIWcxKUP99gyw90x91CcYA2nzR1/gBhSLpkX7Rd1EBAQ+lCOQcFW4gg7eDfK9WMZa99KA+dFyQU9 + t0/xnZrx5g== headers: accept-ranges: bytes content-length: '64' content-range: bytes 0-63/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D373297"' - last-modified: Fri, 25 Oct 2019 17:46:44 GMT + date: Mon, 06 Jun 2022 23:55:01 GMT + etag: '"0x8DA4817F8A793DD"' + last-modified: Mon, 06 Jun 2022 23:55:01 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: IaF2B8csQISch89n0iCzLQ== + vary: Origin + x-ms-blob-content-md5: 1r2sozCzywWAxMGq7//aLA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:44 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:01 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "Pj1SBpUYW/Hky21lOaOXFAckCOAh8m5/Xt3C5VRImsKS9EfIY50ijA==", "Algorithm": "A256KW"}, + "LLJk85PcmylI+RNYsSg+mGDMcqq6wf34wUGX2xYmHLLBVbm+KYWUtQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "TVih+fMOQKnsVt5mNtwNLg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "WFLbhTiVzszu1sa1ITpwgw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer38031d7a/encryption_block_blob38031d7a - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer38031d7a/encryption_block_blob38031d7a version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expanded_to_beginning_iv_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expanded_to_beginning_iv_async.yaml index acbab43656ad..6137ecab32fb 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expanded_to_beginning_iv_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expanded_to_beginning_iv_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerd2161f92?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D59AB9E"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F8E4522C"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerd2161f92 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd2161f92?restype=container - request: body: !!binary | - PNjxkFBV/XbhcQbxpndwV2wY7TJi9j23u5uZSBVOEyubw/U5HOKQFgr++Lcaa5O7T6zb0w0Rt7i5 - rE2GdqaAC2u5kJiAM1UPjFnqr2MiWmTtE/4DECJwCuH4lb17r4jRNGX0oBlhzdO+B7qxCenG03Ao - tmSf1/0nlnfyi3he43pSZzVq4ySncDJ8fWK7JgGK + C2Va1yqd/Cb0sQJh6W661m3iv7YVWugtFVspw9bjpxEp9cjhREBzk/NDL7R/jfGzGz5z7tmYP5Fb + nX/upLkSpi0w98q0PtKlThy3M9k8ZtnqvB/47K7BgzcbprXPG5p2Gj21RBedU4u1BRtngfJolrNj + F2Md1/JjFCeK7pVpKLvw3LE2PbiKgHpGGYHs5tiy headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "kvisJEBQilv8eZif4Ye1T7pqFxu3CND4PrWXZtnuwHGlV5YuYBRpAg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "GIR8b+YwzVzA5vu+vvt9PtgSDDcAi0ie8uZ0IH+7r+IA1cMcZT9xOA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "+D1W0bJZMWgVl3nZ+hvNTw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "QqvempLAkafZOd8799elPw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 response: @@ -63,74 +60,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: /fva47Yy5sFK9DNeUoUDug== - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D632C2F"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + content-md5: 0cXb7YbGuPrqDKQM2c29rA== + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F8ED9350"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 0RfwdBFcWlM= + x-ms-content-crc64: bRtfyqGjjBk= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerd2161f92/encryption_block_blobd2161f92 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:02 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: 0cXb7YbGuPrqDKQM2c29rA== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F8ED9350"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:02 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "GIR8b+YwzVzA5vu+vvt9PtgSDDcAi0ie8uZ0IH+7r+IA1cMcZT9xOA==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "QqvempLAkafZOd8799elPw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-range: - bytes=0-47 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 response: body: string: !!binary | - PNjxkFBV/XbhcQbxpndwV2wY7TJi9j23u5uZSBVOEyubw/U5HOKQFgr++Lcaa5O7 + C2Va1yqd/Cb0sQJh6W661m3iv7YVWugtFVspw9bjpxEp9cjhREBzk/NDL7R/jfGz headers: accept-ranges: bytes content-length: '48' content-range: bytes 0-47/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D632C2F"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F8ED9350"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: /fva47Yy5sFK9DNeUoUDug== + vary: Origin + x-ms-blob-content-md5: 0cXb7YbGuPrqDKQM2c29rA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:45 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:02 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "kvisJEBQilv8eZif4Ye1T7pqFxu3CND4PrWXZtnuwHGlV5YuYBRpAg==", "Algorithm": "A256KW"}, + "GIR8b+YwzVzA5vu+vvt9PtgSDDcAi0ie8uZ0IH+7r+IA1cMcZT9xOA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "+D1W0bJZMWgVl3nZ+hvNTw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "QqvempLAkafZOd8799elPw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerd2161f92/encryption_block_blobd2161f92 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd2161f92/encryption_block_blobd2161f92 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expnded_to_begin_bloc_align_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expnded_to_begin_bloc_align_async.yaml index 6bbd52a4ffec..d3e0c4d43a93 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expnded_to_begin_bloc_align_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_expnded_to_begin_bloc_align_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer320c20b0?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D86DC99"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F92DB744"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer320c20b0 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer320c20b0?restype=container - request: body: !!binary | - g9k6jlMcDaIgwgxkb4skJUe3P8k9KV2Y/DAPwVNDdP1cI268+cxE1tgxc971GSQ96tat/jPj/LE2 - 6VOIMGR3qXXZaPb6Zq1rP9UQl/lA2Q4wY6/8PfQFPszXr2HKc/URfPPlZhOyc11aZw7T+c+e0+2G - KNkVsHHEKl4k2VkrgESIjbA/2UX49WbvoQcN/z9A + RTKMqbdBkxdGH3aWuqsVaOVU9R0S1BKnaaNpytg+zwrWrnvHvhJYcZE61pJ2D5p8cXmxCSKC/R3z + h3Y+EUGMhQiHW0U0IwKNYDifQMghbgoefOrx8rGsPEjeYyBD2qFNLTDBzqP1/K2c72hEw4bWjdfe + mMwT2l/3U5N/p/i0Dov/hiN3c8lQaJmOwUjH01NB headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "VBPes1VUjG6hRNVNxevf2vaHgxlrt1P2yTtConWrwCHVStxE60Gt8g==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "tiZeUJC2dyC4oCiBaiWzNj789XO1a1Ih/7ALksJukrY5e+QueDqnNg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "SFzfhy0XMyo3UClhoEm2fw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "HoC+P+H4F+EZjoLzsepczw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 response: @@ -63,75 +60,105 @@ interactions: string: '' headers: content-length: '0' - content-md5: 2cRGz3g4SwJJlEtAyUA7DA== - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D903760"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + content-md5: 6KrZywCBpc2KiTsarxO47w== + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F93762C4"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: zlylIsayXVI= + x-ms-content-crc64: OoCKN+k2z0I= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer320c20b0/encryption_block_blob320c20b0 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:02 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: 6KrZywCBpc2KiTsarxO47w== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F93762C4"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:02 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "tiZeUJC2dyC4oCiBaiWzNj789XO1a1Ih/7ALksJukrY5e+QueDqnNg==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "HoC+P+H4F+EZjoLzsepczw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:02 GMT x-ms-range: - bytes=0-63 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 response: body: string: !!binary | - g9k6jlMcDaIgwgxkb4skJUe3P8k9KV2Y/DAPwVNDdP1cI268+cxE1tgxc971GSQ96tat/jPj/LE2 - 6VOIMGR3qQ== + RTKMqbdBkxdGH3aWuqsVaOVU9R0S1BKnaaNpytg+zwrWrnvHvhJYcZE61pJ2D5p8cXmxCSKC/R3z + h3Y+EUGMhQ== headers: accept-ranges: bytes content-length: '64' content-range: bytes 0-63/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734D903760"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F93762C4"' + last-modified: Mon, 06 Jun 2022 23:55:02 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: 2cRGz3g4SwJJlEtAyUA7DA== + vary: Origin + x-ms-blob-content-md5: 6KrZywCBpc2KiTsarxO47w== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:45 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:02 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "VBPes1VUjG6hRNVNxevf2vaHgxlrt1P2yTtConWrwCHVStxE60Gt8g==", "Algorithm": "A256KW"}, + "tiZeUJC2dyC4oCiBaiWzNj789XO1a1Ih/7ALksJukrY5e+QueDqnNg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "SFzfhy0XMyo3UClhoEm2fw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "HoC+P+H4F+EZjoLzsepczw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer320c20b0/encryption_block_blob320c20b0 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer320c20b0/encryption_block_blob320c20b0 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_end_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_end_async.yaml index 6950340bc37f..701903ccd8fd 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_end_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_end_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:44 GMT - etag: '"0x8D759734DB576B1"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F96B367B"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer8d1e1b00 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00?restype=container - request: body: !!binary | - 8Dj8Nh4+bPr/Grh5Wx9tJ6TTSaq7ykuvwUFGAJFO6OBVJDHZ8iJHx9fKLYmxYzbsKkbKsRhvSV+4 - SRS8U6rtpQ7t7sG80qsTWgy7DsncFS/vcu0lS25JEbT/PwmBPgnUvC+Mi+PcW8+BsLyKeO5F/vgz - fxkZxefmNp1jnoFiA6yX3badHJ0hLSxV+wb9MlNd + CzpGQ7bWnZjQ63YnvHSluaXXOuAuDcj9H6+xc2N589vajUG69Z/gyUPPj9x3BxmdtkgrvPImxI3p + 6fjZ4h67Kl8yO8QT+tkY2YfuGcVZou/ys9/R7GBnk1qYtXwT+N48YxBuOVFxN06xYfpW4z7q/6Xe + NC6lOljin8vsF8liLBLYEItSqWi7yeo24PQT9mgj headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "658i4aDkUKm38rqf8TMMH9KA7tEvyDdpohHvwwmubFpNUu52/ZEz0A==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "zYGfET2GC+l+SN9sfkcz1QSvu6R6NVnrsL6nGzFkRMcYzdrXGtZvBw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "Yllyck+Axx+BuvFijl0jfQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "8sP62TOfgJXnslK5bM+7nA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 response: @@ -63,126 +60,193 @@ interactions: string: '' headers: content-length: '0' - content-md5: ql5hP7C8WyT58Lm+WnkaBg== - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734DBE2D27"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + content-md5: kzMmU/hYnvmQCs/NIrnh1Q== + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F974FEFB"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 8PRIwk0meyo= + x-ms-content-crc64: nXtZtwt4b+A= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer8d1e1b00/encryption_block_blob8d1e1b00 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:03 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: kzMmU/hYnvmQCs/NIrnh1Q== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F974FEFB"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "zYGfET2GC+l+SN9sfkcz1QSvu6R6NVnrsL6nGzFkRMcYzdrXGtZvBw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "8sP62TOfgJXnslK5bM+7nA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-range: - bytes=80-127 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 response: body: string: !!binary | - 73LtJUtuSRG0/z8JgT4J1LwvjIvj3FvPgbC8injuRf74M38ZGcXn5jadY56BYgOs + 8rPf0exgZ5NamLV8E/jePGMQbjlRcTdOsWH6VuM+6v+l3jQupTpY4p/L7BfJYiwS headers: accept-ranges: bytes content-length: '48' content-range: bytes 80-127/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734DBE2D27"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F974FEFB"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: ql5hP7C8WyT58Lm+WnkaBg== + vary: Origin + x-ms-blob-content-md5: kzMmU/hYnvmQCs/NIrnh1Q== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:45 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "658i4aDkUKm38rqf8TMMH9KA7tEvyDdpohHvwwmubFpNUu52/ZEz0A==", "Algorithm": "A256KW"}, + "zYGfET2GC+l+SN9sfkcz1QSvu6R6NVnrsL6nGzFkRMcYzdrXGtZvBw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "Yllyck+Axx+BuvFijl0jfQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "8sP62TOfgJXnslK5bM+7nA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer8d1e1b00/encryption_block_blob8d1e1b00 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:03 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: kzMmU/hYnvmQCs/NIrnh1Q== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F974FEFB"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "zYGfET2GC+l+SN9sfkcz1QSvu6R6NVnrsL6nGzFkRMcYzdrXGtZvBw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "8sP62TOfgJXnslK5bM+7nA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:45 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-range: - bytes=80-4195 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 response: body: string: !!binary | - 73LtJUtuSRG0/z8JgT4J1LwvjIvj3FvPgbC8injuRf74M38ZGcXn5jadY56BYgOsl922nRydIS0s - VfsG/TJTXQ== + 8rPf0exgZ5NamLV8E/jePGMQbjlRcTdOsWH6VuM+6v+l3jQupTpY4p/L7BfJYiwS2BCLUqlou8nq + NuD0E/ZoIw== headers: accept-ranges: bytes content-length: '64' content-range: bytes 80-143/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734DBE2D27"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F974FEFB"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: ql5hP7C8WyT58Lm+WnkaBg== + vary: Origin + x-ms-blob-content-md5: kzMmU/hYnvmQCs/NIrnh1Q== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:45 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "658i4aDkUKm38rqf8TMMH9KA7tEvyDdpohHvwwmubFpNUu52/ZEz0A==", "Algorithm": "A256KW"}, + "zYGfET2GC+l+SN9sfkcz1QSvu6R6NVnrsL6nGzFkRMcYzdrXGtZvBw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "Yllyck+Axx+BuvFijl0jfQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "8sP62TOfgJXnslK5bM+7nA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer8d1e1b00/encryption_block_blob8d1e1b00 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8d1e1b00/encryption_block_blob8d1e1b00 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_middle_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_middle_async.yaml index 53209e8e20a1..60c6ee2cd525 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_middle_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_range_middle_to_middle_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere0771c38?restype=container response: @@ -15,28 +17,23 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734DEA061B"' - last-modified: Fri, 25 Oct 2019 17:46:45 GMT + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F9C54598"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere0771c38 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere0771c38?restype=container - request: body: !!binary | - NbdijvlALJp3qzYCEXNEk357aTqI25qjsC3efXUrnl4+QbdMuvrI+wWSR4rhrB2CtTRp0kt+11Gj - iMgNnSEMjtvHLyJWs/aF/7B25HmwhYKQRpe4zgk3jznn+bCa5wIkF43P+FtHhSq/8PQvqlyzKOBM - S8ap3Flu2IPN8gWFz51uzysTjlG/UzzjyMaO2f3N + 8YocvItKH93zwHjhh2InbMOw1TZWHWqSkzG87e+QsR7E3Kou7ZPhZk49WfqwzieOtHKabV0/XlzF + Oq5VgdPKLHkY5euN0JcxUzzY0hnUBNDWt+yFI7P04Ci+zzhwqB7igwhx/LnNyvCsWBXAtKDEkqPz + aQDM689CqUR4XCr5Fm88O6/W9XSJri3yh4Jb4X2a headers: + Accept: + - application/xml Content-Length: - '144' Content-Type: @@ -44,18 +41,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "WzOKUgSdJSBl9UCuypHxpYuhDmlLETeWdaiiIwd+8b4Kj6eC0/ckIA==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "gSWpCqWrD+a3d5V0g4Pmt97VKbOpUgRvCJxspZYWj/xi9EEGQDtzMA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "WFotv9Ilfj8onL+WDvfiPw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "ZKngy9zxL6X3TafFRYlhcA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 response: @@ -63,75 +60,105 @@ interactions: string: '' headers: content-length: '0' - content-md5: 9YWpEwA91RotF76n+7RBBQ== - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734E01AA70"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + content-md5: gfMmnF96U7PxAMgsWvJO4A== + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F9CE5C88"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: Qlywf2T19jU= + x-ms-content-crc64: IYtfqSGzrEg= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere0771c38/encryption_block_blobe0771c38 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:03 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '144' + content-md5: gfMmnF96U7PxAMgsWvJO4A== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:02 GMT + etag: '"0x8DA4817F9CE5C88"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "gSWpCqWrD+a3d5V0g4Pmt97VKbOpUgRvCJxspZYWj/xi9EEGQDtzMA==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "ZKngy9zxL6X3TafFRYlhcA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:03 GMT x-ms-range: - bytes=0-111 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 response: body: string: !!binary | - NbdijvlALJp3qzYCEXNEk357aTqI25qjsC3efXUrnl4+QbdMuvrI+wWSR4rhrB2CtTRp0kt+11Gj - iMgNnSEMjtvHLyJWs/aF/7B25HmwhYKQRpe4zgk3jznn+bCa5wIkF43P+FtHhSq/8PQvqlyzKA== + 8YocvItKH93zwHjhh2InbMOw1TZWHWqSkzG87e+QsR7E3Kou7ZPhZk49WfqwzieOtHKabV0/XlzF + Oq5VgdPKLHkY5euN0JcxUzzY0hnUBNDWt+yFI7P04Ci+zzhwqB7igwhx/LnNyvCsWBXAtKDEkg== headers: accept-ranges: bytes content-length: '112' content-range: bytes 0-111/144 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734E01AA70"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:03 GMT + etag: '"0x8DA4817F9CE5C88"' + last-modified: Mon, 06 Jun 2022 23:55:03 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: 9YWpEwA91RotF76n+7RBBQ== + vary: Origin + x-ms-blob-content-md5: gfMmnF96U7PxAMgsWvJO4A== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:46 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:03 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "WzOKUgSdJSBl9UCuypHxpYuhDmlLETeWdaiiIwd+8b4Kj6eC0/ckIA==", "Algorithm": "A256KW"}, + "gSWpCqWrD+a3d5V0g4Pmt97VKbOpUgRvCJxspZYWj/xi9EEGQDtzMA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "WFotv9Ilfj8onL+WDvfiPw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "ZKngy9zxL6X3TafFRYlhcA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere0771c38/encryption_block_blobe0771c38 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere0771c38/encryption_block_blobe0771c38 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_resolver_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_resolver_async.yaml index 54cb2e2b743f..fcf0436728da 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_resolver_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_resolver_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer7cf016bf?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E25680C"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:03 GMT + etag: '"0x8DA4817FA024CAE"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer7cf016bf - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer7cf016bf?restype=container - request: body: !!binary | - yN+WOpw3Gpp7qr+PDx2A2w== + Ab1or0hZPp5dn+OgBLV6yw== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "QxZyQb+jXWAMM4szxV8OP05wAuiKffH0KA19WmNED4kRRb4kAY341Q==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "yj4d5SaVeFueCOQLPW5RgIY8TaApoWXQH1snsyyU0GNHd/UtVsOCHQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "OKKie81I4fTfVGhvvJr1BA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "oNkdKYPmw0ntTk9INNERKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf response: @@ -61,74 +58,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: BSJprbQevy4nmld6sS5mNg== - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E2D7CEF"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + content-md5: 8hu3126c+CWlEgscYv5hjg== + date: Mon, 06 Jun 2022 23:55:03 GMT + etag: '"0x8DA4817FA0BD1BA"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: s7IZzc79Dt8= + x-ms-content-crc64: G7LZ+exp2Hk= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer7cf016bf/encryption_block_blob7cf016bf - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:04 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: 8hu3126c+CWlEgscYv5hjg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:03 GMT + etag: '"0x8DA4817FA0BD1BA"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:04 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "yj4d5SaVeFueCOQLPW5RgIY8TaApoWXQH1snsyyU0GNHd/UtVsOCHQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "oNkdKYPmw0ntTk9INNERKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf response: body: string: !!binary | - yN+WOpw3Gpp7qr+PDx2A2w== + Ab1or0hZPp5dn+OgBLV6yw== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E2D7CEF"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:03 GMT + etag: '"0x8DA4817FA0BD1BA"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: BSJprbQevy4nmld6sS5mNg== + vary: Origin + x-ms-blob-content-md5: 8hu3126c+CWlEgscYv5hjg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:46 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:04 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "QxZyQb+jXWAMM4szxV8OP05wAuiKffH0KA19WmNED4kRRb4kAY341Q==", "Algorithm": "A256KW"}, + "yj4d5SaVeFueCOQLPW5RgIY8TaApoWXQH1snsyyU0GNHd/UtVsOCHQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "OKKie81I4fTfVGhvvJr1BA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "oNkdKYPmw0ntTk9INNERKQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer7cf016bf/encryption_block_blob7cf016bf - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer7cf016bf/encryption_block_blob7cf016bf version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_no_policy_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_no_policy_async.yaml index fd78ae189f1a..71caa2509df6 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_no_policy_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_no_policy_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerc90a1c15?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734E4EE0EF"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA3FA2A3"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerc90a1c15 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerc90a1c15?restype=container - request: body: !!binary | - Uwt/JvdWFarR4BywbzeWnA== + XoTF3Fza6AIucTM83xmQ9w== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "kgty/n+DoUNnUWAGn+qri5zO8dPZUWlo5WuiOmna0qMwnxfIDoBMPQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "HpESc3JcH7LR9LvtqqCHQEFLMAC4BsOObaABSnBOxKsi0kLM+xG7iA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "8IllMnEWtU4aMkDdM4aebA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Lwpz7Eq0vCt67d2ft9QAmg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerc90a1c15/encryption_block_blobc90a1c15 response: @@ -61,23 +58,16 @@ interactions: string: '' headers: content-length: '0' - content-md5: +iEcSRI9yswZspuVCfS2ew== - date: Fri, 25 Oct 2019 17:46:45 GMT - etag: '"0x8D759734E5816B8"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + content-md5: OrPgJ4SoZmlLJ/+38jvvFg== + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA4A7F37"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 6773NU6zhCM= + x-ms-content-crc64: 0ffDZNI6BLU= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerc90a1c15/encryption_block_blobc90a1c15 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerc90a1c15/encryption_block_blobc90a1c15 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_unencrypted_blob_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_unencrypted_blob_async.yaml index ce46402bb97b..9af8769bed87 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_unencrypted_blob_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_strict_mode_unencrypted_blob_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:46 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer99cf1ef8?restype=container response: @@ -15,25 +17,20 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E742C5F"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA6E52F6"' + last-modified: Mon, 06 Jun 2022 23:55:04 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer99cf1ef8 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer99cf1ef8?restype=container - request: body: Foo headers: + Accept: + - application/xml Content-Length: - '3' Content-Type: @@ -41,13 +38,13 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:04 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 response: @@ -56,37 +53,68 @@ interactions: headers: content-length: '0' content-md5: E1bGfXrRY42Ba/uCLdLCXQ== - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E7CE32F"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA79297F"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: 7Wml2VbcwgU= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer99cf1ef8/encryption_block_blob99cf1ef8 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:05 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '3' + content-md5: E1bGfXrRY42Ba/uCLdLCXQ== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA79297F"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 response: @@ -97,26 +125,20 @@ interactions: content-length: '3' content-range: bytes 0-2/3 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734E7CE32F"' - last-modified: Fri, 25 Oct 2019 17:46:46 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FA79297F"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-content-md5: E1bGfXrRY42Ba/uCLdLCXQ== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:46 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer99cf1ef8/encryption_block_blob99cf1ef8 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer99cf1ef8/encryption_block_blob99cf1ef8 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_to_star_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_to_star_async.yaml index 16259122aeb9..517408799f0e 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_to_star_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_get_blob_to_star_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer65db1649?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EA3A516"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FAAE1A8B"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649?restype=container - request: body: !!binary | - pIFLtNJaceCJ52Qw+lEEnQ== + TW92JcNdHj1eHdNm37SQXQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Ch3jvL5xApg50R08hz2xzjvS19U8BCMBkLvQEfivBMxGUCD571Halg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "yGW6nSHfbDYPbx6Fs+/LJw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 response: @@ -61,227 +58,368 @@ interactions: string: '' headers: content-length: '0' - content-md5: /mSLvEAIsnFOuAb761tA9g== - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EAEAA1F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + content-md5: HVDlebUM+RzyH3QA8Ua8bg== + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: qkCfvOZIxf8= + x-ms-content-crc64: ige89PyZNzg= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649/encryption_block_blob65db1649 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:05 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: HVDlebUM+RzyH3QA8Ua8bg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 response: body: string: !!binary | - pIFLtNJaceCJ52Qw+lEEnQ== + TW92JcNdHj1eHdNm37SQXQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EAEAA1F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:04 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: /mSLvEAIsnFOuAb761tA9g== + vary: Origin + x-ms-blob-content-md5: HVDlebUM+RzyH3QA8Ua8bg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:47 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "Ch3jvL5xApg50R08hz2xzjvS19U8BCMBkLvQEfivBMxGUCD571Halg==", "Algorithm": "A256KW"}, + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "yGW6nSHfbDYPbx6Fs+/LJw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649/encryption_block_blob65db1649 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:05 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: HVDlebUM+RzyH3QA8Ua8bg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 response: body: string: !!binary | - pIFLtNJaceCJ52Qw+lEEnQ== + TW92JcNdHj1eHdNm37SQXQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EAEAA1F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: /mSLvEAIsnFOuAb761tA9g== + vary: Origin + x-ms-blob-content-md5: HVDlebUM+RzyH3QA8Ua8bg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:47 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "Ch3jvL5xApg50R08hz2xzjvS19U8BCMBkLvQEfivBMxGUCD571Halg==", "Algorithm": "A256KW"}, + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "yGW6nSHfbDYPbx6Fs+/LJw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649/encryption_block_blob65db1649 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:05 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: HVDlebUM+RzyH3QA8Ua8bg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 response: body: string: !!binary | - pIFLtNJaceCJ52Qw+lEEnQ== + TW92JcNdHj1eHdNm37SQXQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EAEAA1F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: /mSLvEAIsnFOuAb761tA9g== + vary: Origin + x-ms-blob-content-md5: HVDlebUM+RzyH3QA8Ua8bg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:47 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "Ch3jvL5xApg50R08hz2xzjvS19U8BCMBkLvQEfivBMxGUCD571Halg==", "Algorithm": "A256KW"}, + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "yGW6nSHfbDYPbx6Fs+/LJw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649/encryption_block_blob65db1649 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:05 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: HVDlebUM+RzyH3QA8Ua8bg== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 response: body: string: !!binary | - pIFLtNJaceCJ52Qw+lEEnQ== + TW92JcNdHj1eHdNm37SQXQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EAEAA1F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FABBA709"' + last-modified: Mon, 06 Jun 2022 23:55:05 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: /mSLvEAIsnFOuAb761tA9g== + vary: Origin + x-ms-blob-content-md5: HVDlebUM+RzyH3QA8Ua8bg== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:47 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:05 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "Ch3jvL5xApg50R08hz2xzjvS19U8BCMBkLvQEfivBMxGUCD571Halg==", "Algorithm": "A256KW"}, + "/17m57VlSIVWNp41QPd8DxUGYNGgDK5TbWv32c6lzOVRrhytNKIFDQ==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "yGW6nSHfbDYPbx6Fs+/LJw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "bgFXK8m0ve892NeJBc+JiQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer65db1649/encryption_block_blob65db1649 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer65db1649/encryption_block_blob65db1649 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_append_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_append_async.yaml index 6721788fdf9f..f299c4c02f88 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_append_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_append_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:05 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer75a91abc?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:46 GMT - etag: '"0x8D759734EEC036F"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FB1FEA3F"' + last-modified: Mon, 06 Jun 2022 23:55:06 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer75a91abc - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer75a91abc?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_block_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_block_async.yaml index ca5ea1b75368..60e31d1c9eb1 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_block_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_block_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:47 GMT + - Mon, 06 Jun 2022 23:55:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer5ac71a4f?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:47 GMT - etag: '"0x8D759734F0C88B2"' - last-modified: Fri, 25 Oct 2019 17:46:47 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FB43C97A"' + last-modified: Mon, 06 Jun 2022 23:55:06 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer5ac71a4f - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5ac71a4f?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_page_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_page_async.yaml index 81d73445f320..434a819e1f61 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_page_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_methods_fail_page_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:48 GMT + - Mon, 06 Jun 2022 23:55:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer406a19e1?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:47 GMT - etag: '"0x8D759734F2D33F6"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + date: Mon, 06 Jun 2022 23:55:06 GMT + etag: '"0x8DA4817FB65FAE3"' + last-modified: Mon, 06 Jun 2022 23:55:06 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer406a19e1 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer406a19e1?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_value_kek_wrap_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_value_kek_wrap_async.yaml index 6fb05450ad70..b5869d27b8f1 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_value_kek_wrap_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_invalid_value_kek_wrap_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:48 GMT + - Mon, 06 Jun 2022 23:55:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerf4f218c6?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:47 GMT - etag: '"0x8D759734F7AF507"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + date: Mon, 06 Jun 2022 23:55:05 GMT + etag: '"0x8DA4817FB892138"' + last-modified: Mon, 06 Jun 2022 23:55:06 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerf4f218c6 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf4f218c6?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_unwrap_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_unwrap_async.yaml index 826a7cfe3410..f25a253f9e9d 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_unwrap_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_unwrap_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:48 GMT + - Mon, 06 Jun 2022 23:55:06 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer96591b73?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:48 GMT - etag: '"0x8D759734F996F43"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + date: Mon, 06 Jun 2022 23:55:06 GMT + etag: '"0x8DA4817FBAD4095"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer96591b73 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73?restype=container - request: body: !!binary | - GJlXZ0+Ehkb69j3Em/3wBA== + BFa+DBSHIY8BxyBf85fPqA== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:49 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "VnmkY96H7hzuHiCPqmobFu0HMXtOpt2+OXZg/krebKSxcTAFzRXUBg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6B6jJ/Lnl+gFaQFZVqVMJBPSp+SRfu2kVL9j41DYLBg7HI8/iIfMvg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "M9kHblEHZ5vJOddvP1ol3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "ImVMzWtVKX+MSAaiV0+//g==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 response: @@ -61,125 +58,192 @@ interactions: string: '' headers: content-length: '0' - content-md5: Quee2sfGEVRNztGLYYdOAg== - date: Fri, 25 Oct 2019 17:46:48 GMT - etag: '"0x8D759734FA2F851"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + content-md5: iube8Cq/HsIrxIUVDDywtw== + date: Mon, 06 Jun 2022 23:55:06 GMT + etag: '"0x8DA4817FBB63603"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: CNZbXp3m6uE= + x-ms-content-crc64: dOWNj/xAGJo= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer96591b73/encryption_block_blob96591b73 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:07 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: iube8Cq/HsIrxIUVDDywtw== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:06 GMT + etag: '"0x8DA4817FBB63603"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "6B6jJ/Lnl+gFaQFZVqVMJBPSp+SRfu2kVL9j41DYLBg7HI8/iIfMvg==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "ImVMzWtVKX+MSAaiV0+//g==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:49 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 response: body: string: !!binary | - GJlXZ0+Ehkb69j3Em/3wBA== + BFa+DBSHIY8BxyBf85fPqA== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:48 GMT - etag: '"0x8D759734FA2F851"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + date: Mon, 06 Jun 2022 23:55:06 GMT + etag: '"0x8DA4817FBB63603"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: Quee2sfGEVRNztGLYYdOAg== + vary: Origin + x-ms-blob-content-md5: iube8Cq/HsIrxIUVDDywtw== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:48 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:07 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "VnmkY96H7hzuHiCPqmobFu0HMXtOpt2+OXZg/krebKSxcTAFzRXUBg==", "Algorithm": "A256KW"}, + "6B6jJ/Lnl+gFaQFZVqVMJBPSp+SRfu2kVL9j41DYLBg7HI8/iIfMvg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "M9kHblEHZ5vJOddvP1ol3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "ImVMzWtVKX+MSAaiV0+//g==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer96591b73/encryption_block_blob96591b73 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:07 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: iube8Cq/HsIrxIUVDDywtw== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FBB63603"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "6B6jJ/Lnl+gFaQFZVqVMJBPSp+SRfu2kVL9j41DYLBg7HI8/iIfMvg==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "ImVMzWtVKX+MSAaiV0+//g==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:49 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 response: body: string: !!binary | - GJlXZ0+Ehkb69j3Em/3wBA== + BFa+DBSHIY8BxyBf85fPqA== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:48 GMT - etag: '"0x8D759734FA2F851"' - last-modified: Fri, 25 Oct 2019 17:46:48 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FBB63603"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: Quee2sfGEVRNztGLYYdOAg== + vary: Origin + x-ms-blob-content-md5: iube8Cq/HsIrxIUVDDywtw== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:48 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:07 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "VnmkY96H7hzuHiCPqmobFu0HMXtOpt2+OXZg/krebKSxcTAFzRXUBg==", "Algorithm": "A256KW"}, + "6B6jJ/Lnl+gFaQFZVqVMJBPSp+SRfu2kVL9j41DYLBg7HI8/iIfMvg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "M9kHblEHZ5vJOddvP1ol3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "ImVMzWtVKX+MSAaiV0+//g==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer96591b73/encryption_block_blob96591b73 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer96591b73/encryption_block_blob96591b73 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_wrap_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_wrap_async.yaml index cd345cdc5b11..66ea85183ea1 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_wrap_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_missing_attribute_kek_wrap_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:49 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer5f711a90?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:48 GMT - etag: '"0x8D759734FCE0331"' - last-modified: Fri, 25 Oct 2019 17:46:49 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC172EC2"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer5f711a90 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5f711a90?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_empty_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_empty_async.yaml index ac639c3fde2a..f0c071d665fe 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_empty_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_empty_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer3bb21595?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D759735192FBE0"' - last-modified: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC3BA57D"' + last-modified: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3bb21595 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3bb21595?restype=container - request: body: !!binary | - pU9RluhH6DVB6JqrrdU3Sg== + i5nubOwVbL/IXhI0/J1lEQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:07 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "2ihwnvJZIUgvq1yhBFysonAE6oWPRk1PDqyTdXJKnZWAYk3tONsSvw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ncWBKdbEVf8bBSl1ryXOrak/KBd7i0jkzgYvDkySv7M0t1PDX0TuYg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "dc+yshFSM5HSR6d9ID7GVA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "ZklfEQTrqYPvBUfN/DEGTQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 response: @@ -61,74 +58,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: cQUEaa4MsTLkCiOVPPCyXQ== - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D75973519B00BB"' - last-modified: Fri, 25 Oct 2019 17:46:52 GMT + content-md5: aZnFdDPArCYi56Fh6TChKA== + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC473D3A"' + last-modified: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: zRH1gwyx2tQ= + x-ms-content-crc64: LutXAMa8Slo= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3bb21595/encryption_block_blob3bb21595 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: aZnFdDPArCYi56Fh6TChKA== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC473D3A"' + last-modified: Mon, 06 Jun 2022 23:55:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "ncWBKdbEVf8bBSl1ryXOrak/KBd7i0jkzgYvDkySv7M0t1PDX0TuYg==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "ZklfEQTrqYPvBUfN/DEGTQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 response: body: string: !!binary | - pU9RluhH6DVB6JqrrdU3Sg== + i5nubOwVbL/IXhI0/J1lEQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D75973519B00BB"' - last-modified: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC473D3A"' + last-modified: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: cQUEaa4MsTLkCiOVPPCyXQ== + vary: Origin + x-ms-blob-content-md5: aZnFdDPArCYi56Fh6TChKA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:52 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:08 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "2ihwnvJZIUgvq1yhBFysonAE6oWPRk1PDqyTdXJKnZWAYk3tONsSvw==", "Algorithm": "A256KW"}, + "ncWBKdbEVf8bBSl1ryXOrak/KBd7i0jkzgYvDkySv7M0t1PDX0TuYg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "dc+yshFSM5HSR6d9ID7GVA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "ZklfEQTrqYPvBUfN/DEGTQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3bb21595/encryption_block_blob3bb21595 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3bb21595/encryption_block_blob3bb21595 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_invalid_stream_type_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_invalid_stream_type_async.yaml index 0074c5568bdf..b5ad5127f7c0 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_invalid_stream_type_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_invalid_stream_type_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer93f31b59?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:51 GMT - etag: '"0x8D7597351BE5710"' - last-modified: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FC7F2F33"' + last-modified: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer93f31b59 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93f31b59?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_range_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_range_async.yaml index df644ce9c346..7d3c99b17d8f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_range_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_range_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer3ac31573?restype=container response: @@ -15,945 +17,940 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:51 GMT - etag: '"0x8D7597351DC0954"' - last-modified: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT + etag: '"0x8DA4817FCA28ED5"' + last-modified: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573?restype=container - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: W1zU0UMI8As= + x-ms-content-crc64: 8VZf/SEQTfc= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D - request: body: !!binary | - XWvxMQdiLdOxTaMKAjLDGoZMVVUB4VyO2LEsrWt02QmhhlKvWlPm0NSKwjo8stGI2NIlRzzzG1R5 - PZDFK7biQFzgRs0oAW5JcPCcXLcMY3Ozksi/kVGN5xZvstRENxsHIBKFBIr7b0RTuFDXoQJFpfbn - ndURBAj4+HC99yZFCKfuSQ6NOn3vYuuw2TbhgEFxDi4xuebi9mJESuPsWRzeZmzczAwENd5lsi8e - 8DL0JyWCIRJfIracFs5mDnn8z1fPtt3SgxTnWXTyh8zL5hH7NWD8zRoMLZkJju5nS0LderiJZsb2 - 8m1uitXQ11Cd574LfmISiKZQLR0dV2IMGUtgJRh151nyDu44zYRqFzpEICEhXGSyBvRxuvhkqptO - XyLxTrwtxxmopSMRMNKG58L67uETWTyaS+24XHXVqRvGl5TQ/KgfPQI+tj13XK54LI6YlCgocCru - MDw6VXMLO1gc8sKq11R/r1c36loaytjuOJQ+1WFqPOE73mJybXoRXeYIdSF5WWB0wxuCK2Va4pQd - jSw6OwqpSdbI3cEJqKjtdMfhAnYlbmv2Nt0xOOCGe9lHfFVxG2HqT8FfskN1wRdenfTQk0E5DpOH - wsirJzQppVz/zHHJlABRweDsV1ff67TBt4+6RsyUW1tBdW8McqWE/d2gUIUOyOpbreVtNHUHgpob - +V9CjwVLU7gXXPmGuYv8YsYOLTlofY4+CoYaYdw792lIRPRjZ325nROxxy/nFdGV98Xy1hYxndRC - eMdPSTzxbEMNW25BS6n2NnuaCdVQkWC0om1y1AStYgEeCvNR6sCy8QxaHG8M+jmvWiUou3BUIwuT - THJEUl86YkXq1E4l5ysmaRkfzGztOu/vmK91GoX+Bcpms4YjHXetTqQ0HQhjFNNkaIbQr2AzpLAf - esmQQUHitQgQNzLoKDvittUdPZV+rxla1TZVa0oKREophmCZlrzhyUBKlpZPHTGQlUvvfje1iYS3 - kpolqQe8a1wyeJoiLLtO+GgCIwnpThf4kfMEEX66P4p8tliGlxhMzQP0HElLsaEdatZS9D7G/tHp - CHq9e1xteoEtmqWQSesGH+wbDIrmfP8SoMGqotikG6QixwbtDewmH3wbFR5dtqIK/lWUK+xVMXk4 - W10K3hg4AQF/gm8xqUAyzYS5jn2q2iNyum1ddt42zJ4C9++YvxRcWEZz3QfI1Rt0iHv5Xp0vSBoa - FNihed8fHiS6cZNO7dQyPE0NrDwCZhrzAD7o/PL/+JMmYLQKqVBKsSusJeym9c0XZawalils2oQm - T2yAkwDTVn9LPqGS5LalHJFqtPpD7Eyl/rNzN7BeJDo652skIuLVGksg5wfsUw8p5/v/OJNeiahb - q1PLp54Kl2O1BDGllUAj0hn3TSzl8l+no7lCOW31TFue0pOIqXWaGHiPLeiPeEF5et8yhQPS24VA - NI6VhTOEutPlms6jCmBaL+WwsLVMDVbu5zFdqdd30OTXoEz6CbolTPQcGLLhqVGxbDFaUKryH2o9 - nSommOtf8rVZshZ3rTw/JuSLLizGn9Fqx/Fv7tFitJUt5FCuZIFaIlRUyBrDkcKe1JLLfla8TGTh - lcXKhEAMUI+PatTQrb7oE7eF1VA/TCNoHpLKWvjYXSKL8kxwXgYEdEA6pgvcyX/n4Sp1UgYJFXWV - FcS1hnPjdKPZ44QnWc+sdBI/rnMCgpMqlE6wgw6orFgI79IehL1K9abWQNdcsQO1OdXrP+DOixNm - W0OXTJxv5B6a+V9wFgjCUW2AHkmF7TUI2B/Zwhua3G1s2vt50QN3Tl3bV1en3QEiQzEUShYdH1Mt - oHiTZ5N5oJE1zF1Et1+ju3rsrZ0RW77PySaVjtzJWt568auJLAihax3waw86MJunOEXR8g0WqePo - FF5t947KU4reFka1dUwYRasJhn8KaX4+Nokut1HwXc+Ibf3I2E+f17sUfoSSROKKkinV78heNfIJ - fjS+Y/gqjCF2swRLR8aMehzV0hUY3Ohk/lGSCa45bqwJqH1it6bCvspj+NxvbranNEVOvPwBLAuu - Kj6DyW4sSrEJl5wY0oj5R+5wqyi/DjtziGbfjKbJjNebTv29GtKBVHOseep5Q2PzRGx3phBxKH0o - /P9Sx0jOBrzoMhYmdYyHANGFP3qqWNxgaVm7rPQqfQ1sB0MX1n33msuwH77CeaPhv0V26a85Va6S - ghEWrPGwuTfD1Pb0cmUEKbPNfGM4imr83TU7EY3cPXMzSpCqzExVP+r6scoOEbXUl/7/aZOzeRYw - TkekW6JeaNRcpiL4baKtuiDbLKj90BgrWDx5yjO6t+HSSsNTcL+aqoVQGqMcTwH1Hsd+v+t9KJGC - ipcCZSbcMi5mYWzNY6Jva2B4ELweUftiX2kjrhWpsjdnaje+gQKZAOunsIayVGnzF2ZqF4aT23Iv - +WjSqTHt7D9aGe5KGyBTF3h09UIyBRc/zXyEoYjMTUTH2Yxt0ilMMiI1Tbz6x1FCPeUdkD260ezN - ZreBsJ8s5pVXGgfLE9wfxksu4/+QtD9FipO79GuuG8Xyg6Qz7MaQtywx9f7y3PhXrzMZu2XCIjZ2 - fj1bo9mjSnIwG3JKsg25jebmh3Ivb2CH9I0PLJdojfUalWSgsdA7OrseeKg9q1YJWkoEON+FXBxz - LpJc+60buVnDahYsDW0rrqoGL8amS++yn2bHoJexhnwaPdw4W9h1RHSZeIyUO9Jh1ioz3USkJe1Z - xe7N15PIUJEnetwmQPtMXgC45dZ9oJF+YztmtoBVvVuV0kB+m7rwssImuyl4UHbGqeokIV9svH2s - 091ayDHqyBj5p1kuwAWwD8k47DKQk/Gbua4CZfVGAp80mI/1XyageUwSTFU8mXuk4Cx1oLCKIJXR - paAG5MSgbOJYAEMr418pWo/GbsQVn5nnyswx0Hiy41fQRXxWcutIJkW5vwCDG3JEhRde02gb3ELq - aUOAwc3cStnblPk+W+dz+moh9OQT3p7ybPDE9GQ5EHrQ0MCpDw5jltAnh1DHFEKCgTaM6L+Z7Xj8 - SEnh9sCd5921THwgWYdd8RuUNS6Gx6EbTXlmA6n6p9qADrKrOCy8OYxotsqy0o5ay9cEfjKH/nJG - ZxzSGEuRHDZICRw74o1oTeb7v+9gElOUkDngomdWWWFa7U0RwajU0h2rpZ1yRoT6HduRgpDazLx6 - CWY4xUHTt4ABi5YsxFZB469laS68dLFnODv0+bynurS1PJOCKf0DoExgox0tyYUV+yT+Nnxi2ALV - XEgAgZHq5MKGng9n9a6r3uuizkG3zmVG5CoaQWS/zjJS6eporZL0K0mB3nNvwqvByGeogKGOGcBV - BZcF+AtcQmfvE+AkWNDCqASXt+YBrBV9k9zMzRqFIwezsIyZbeOTn7MSGgmCuelY1ESocFRl44X0 - eD9cA/h18lBcCxZUiumYg6UFVd/86WIeYQ+VDIjfalM6bCpDNWTTujEO0g+hv4QdJlH50pY1qfkt - w8KyU4RLf7km1N8yBYwklsMs6xilk1/3DoT4NK3F1WFGWMOvubPfwiUqEDafLXtCZWkXTMMmjLhT - R9Dqfhy4uZbzNrX/9I5TLLEsjA9kPlWLiMEZTCFndaRQfAZ4Adnm+LkhWkHtGpZZBVWYovND026H - Hne09JzIZuI1XX0vuYkWSXGGPTa/9BQdgYoNDVwtS6g9wAcm8/dBserzF8GD9D7IksCQxRIkmkpB - 6szWcOMtNL4r6eMDlfQbHDXNI4+xXXYcbWGpiNCP2OXFU7tfFfk3JFNNS7501x31Dx6E68T7rib7 - iqjP1gKivKWUf8ZnpoIHYHVjrHZEwkd0gBKCBzW6AYrimicntgqE79zlry7IELycXeYDy0CBpKPp - ZXGaQNqDgrS4SN5TJPIknMHhzkaP1VK4mjIlGsn3hyPHXGijK/a/rqt2H3fZd0EY/Pvaqo2iwxBF - OxDAGso3Yf45Up2xa1be9jnqTWi80deVvjw8XEa9nti+nvqwRs+HOzJeltWTsjdd64gZUgYp9/UV - B3QnCQFNTlvVEGdYfFNLQiiVXztxZR7avt2lHh7TThY9IZx5DAJDQ6VFjRqV/NzpwF8NnaGug/tk - R7DwzjSpOKZSgWqUlSiTiMKL9kCQIG2Gq7AW1dAAnWx1Zx1hiZd4+HuxQG4QrlBLwwFcFbbG2FFn - Uv8oyKjToiZ7pItLczQvLbye8ssBRbual924mr7xu5H78J8pZnzMQkGUs3g5O/K50u5F9+d0T3/+ - y2/NrnQUjrcl/5oL2LUik2Vy/6DPmMcb9P+BQHWkpQhNoSLK512BuBKhIpLiAPX8HATyopcTXTzP - vqnoboo7nnk3epGtJP1R1mSBsUpyFeUgiZExgfvJCSNwR1a/IomiiNCr6ffaQt8fQhTrS4yhTYTs - IkxVmhLQuk3YmcBtu0ETva53Xd23Re5MDo4+TvHaR81IqxQ87woYLp8USEx6LQcXmTW7pOua7+MQ - yc1A8aOkQU5vycXVZE4v15sA4EXw4gi5PsvPsCNbNwtW47N80zEvf42MkKGaIraySUppMOJfJ5V/ - vOP81dJ407kMk53fanDFxJ4dxQXjGx6/NSP9pa4XTNN3FAMYOgZMOQe38G50R1sEgjfVry2+ly+d - ssk+THM38sqaSiIS6p3wtmz5sP3CpHUBWMpzd+ah56eGAE3OTyZcIlFK+tyKZEbeNtvMgbMSl794 - oTwYAvDuB9Dy+vqquwkoM7tMxdVZdSyk5gnIcDq5f6va7bIw7pOsdtDrDl62cUQCYyCS3bS6IvXJ - z1KyKEYdDlRQfB/vHGbZw/5DHs6XPOc4sidS94gD87zhOQpKoxYTz7AJtNSzmOH11Oql03UIUeeb - jOOtLo6uUdC5BUQ+r+Z31UFLYsNOkmhxdyrBTw2hfyoML7HgwHipAWG8QcoGinuVY9ETGS0uIuRy - UKxDV1i/5uvwAUpTu8LOs9tL4ZZuHXVkTrWZd/r40BYYlNsS5H589CcxZCHTkf6xqqlVqe8oZJE0 - 4SdlrNwP0u7q7PQ/oIVJiID6A+pk0P4zzK7ScpRsIvr+8TjHZyRKoVhxGA9jn41pmPFCJz/NYDYq - chaXLTTE6m9eQSVuVTbN4n7frABBsCrThoMx0UkIypyU1F6MylMVTwjwmlW3mYgemESTQ0iZnvRc - te3BYtuZHeF0sCqn2iJk+tq3oDSnLQr9Hqr1MKD65ZCKpQTM0cxWEY40nvOVdx0dZwtANpn8K3fq - VyxOwab6RDHvHuwaz4RFxo6QTyuj/qjhhFjjWHcugFy+JZbKOR5WZ+xraFTIAUXNYqkAzLaGduU4 - cfydx5MGbcIRcHdKJyG98SV64pCzsztVG9QMBMuraqp7BI8Ym4TNQJWnjQN+2X/fwviOSRS8Vhb2 - cLKpHgpgigASyCmGM1FsPA/nhkqO/JcVfwq9zy+LjgjkeeCPbIF+yvi03pCUH4aiyA== + qEuIoDjOgX4bVRHGzxrCeUOByXgIvm/22HjQYkODor82U3xBvJmrVTWhgaTuqmLxF9/tQlOAmAj+ + 4BAzQevLj65uQqwHZeM6oPgDVWUdQ5dshnlQqFZ8r4kwroAo0Ccr8tynNXrizQCr5CaWJYF2HWaj + am+BbAtNXAChf4UiRHjshxk+43Oi+1ksVCzAcshAalNaABh+CnRBKaRtsD7PvTh8CHy4Phy/lbyJ + m97+CkOLGurL/KMZTUAWXBrxkz6BLbIH5JzHzh4C3Rm0+jZtDVBfM1pk6Dn1FZ8NfSOM1ye4LVig + s/DteLbZqVG1rLtBsaC1AQX3QXpo4J/JcD0Gtk8NLvO4w6DPAoH+3b1oSp/KDFkle81Yq2fR9/7v + iNum9P1Y/QniXTfKbNXbVoSdmTe6pfej2u5ZH5Yoecebh/oOEKvafd/hJ41ZB/IKs4jLhu83EQlV + mSq36fRDbHbQPNX2wkJvEhx2FhojBsfZOM5E9YT4U7Tg/GSet1aMINu6KvRzi+oyxgTPQym2uBl8 + Gx2JBz8qPOf9mpB4HnOM2mvphknFVOHOqys9Y4IlaDNEvEH4J7fdHenjyDrK5eGV7u173vUWG421 + vwPXEiLBFYUAn7l/ZoDMPg1oRK8t65kPygOg+z5umxbQx2beYa7rGgpeRYcKph6cnItJ+vg9cnEI + jNxWIVwvSHqfVJSssYyJzNs59G0An0iZDloEbbZxo2MZdhEN+TLhvIGeOmK72cqZo89o1jxGdo7h + n1vM5dqR5kuwGIUEPj2SWXpfxHKg+nVPcqWp6+VDaByKBANK0tGiNW+Ac1mJu2ow6Fo+FJh7jG3m + +Pht+0cjSHR1PfVPh7nDnEUS12vluntXf5Ir2vfUEdYyIK84lACjEbUi2rWpndCFMXGQqR9iQ/LR + Bjc/wGLgCOlGtxBhnD0O4rval6EnaVkehKw/ARGt1lf1sL9dXA8je4Qa8DUmCXj8++0qIiAqjcV+ + hHDjHE64H5tKL12g829x3FNEvWhtTYmMp6yJbfCX7cY0aFPErduqq/1yDivM0g2H6JOLHmpOOztO + HIfuQpiXhOZF7ciwuQfm1s7Z9zg6gXSIy7QIgkEYcoOqhVm0s4YFoOaFtC0Uv8R+fYpctHFLq3tT + vD3Bbnyb5o3Dbuq4/5cbLiM70YpOUQf03V2prPAOelM395q9JDeR8cmpQ8ZduUSdyjMxRBS/b9zH + IlNySKYgan7E2KPZhYTcys5Vv3wc/6SyDNatryANuETvHlqNC4egj9DUVp0azAwexHwvM4Wh43Xu + s31UCgarQLb5PJfQyF2h1fNNfmySZDCbMZbK+W7EyYPUvIiRZVN1mkbZiGbIR82nOF4fVVUFBMpa + WtDcDJQ+RkO8wYGN4UDQ5VUlkLcw5fBCdHAxJDHpda1QCwm3DLIhome1alOwrdTZYrUyv3bxUcLE + CQMcfQKdjWxLJyxxh+skVLFDZlol+8QaL8TTsZ+jJj4R9VnLalW6oTPU3tkhefMYNj0wYrkq5G8N + nyocPPUD4ak7JIfSIsL+rm8SpkQXrwH8ELYtxydXGRTl1bJpExWTj8j0uKco/ld6bzuyvXpk5EQ4 + SmSL0dVZ7nmR5v0GVsLw+lvjLEFzmjOMCvvKmHsEkdGZRWU54IkKJXyldJkB9DDzMwIv4EQKWvHM + fEv+hvkVjRYgaYJi7sR4TRC/DTI3wzt8xhCgoljXryRnxDgVz1jOqgAhLEej/hPpEbH4sASFZRg1 + O3wIQrjHqQuEVQOdtvQkiZ0Bmlo2drZ5IQEUcMuMQ+RwaKvugs0kcjPbrDmeanYwrNHNQjTWQpps + at3SsRgEkOkoEr+blPZs0fwmLei83U0YFX0JHUcW+JulNqhqya5LMIP4/+UAD3MO/r/IYt7HH9GQ + XFvmk590g6ffm4MxM93CpY/QsOXEcO0Yi4O9f8ZnHZJMRFrMd96NunAZOsT4KuFJPazxOB0Okd5E + M1viyyfPXV0hqTDwZTtLO6CpoLjNzlJK+6zsZxblyJZUdzSgv5QKdtZ/iPiBYwUZVgbJHJK/nl0t + /YwKQw2kT/KjYj08C77p7yDhTDqN+xlk5CAoeu3fy7bFlzTlNYLQczFf9GnmukXJBAL4JnTVnXXZ + aBOvxab4aRBDlHv668Xrq4fD2N6szQzm/Y5o2SPZrbPqyloSxC8eK0SPz1EyQ+6u40L9+r6VJEAv + JjUYvVAZPNEyO90hYA0/1vrt6qgfIYUqAjBciTUkQ29m43E4/RGFnmwCvXCOxBynl32OrxVdFrMt + Z4ECHq8PBQLPRXF0qXrdsc16+uan2KHyz08lWelZpj6uONOEfBLEK7ssjcT4I22ak6guV/iInISK + tz55GVqyZbNQHmeJRHCym97WMSIqkLEt+Azgf1Bb/ZP9Hd/lXMyVAFkoVSaIDv8n4bdG//Wg8OEv + Z+WovMvFLY2IhD6hnwTb1q27zNVXY1X/R7sLOq6C8Ug5w9o54XpnX8t7t0TRWNN06sLBAeTUUy70 + wDuDMeAM/hX3vpcsr09pSMDAyt5MBK+BNFed0iHCHHCn4iZi2SNWk/Te08xEEyYs/UkTfdHoAGBi + 3DfIvCJaTvzxpBCExb1r2BFrYG1uHvTSoWEazSfNjfHkfrV48/fEPKlcBs053t2qsliU6qXUMmmL + NX2a37o8QjQiLhlB/Cnybps4Nk2tn2B2Q7xfiyQQM6Qb+V9J7z0BCiGwr7OwM6F6V3Ii33HdpiTk + uZ00TvNFfU7qb6VbzPSjeWj9onpY0XeqkSgtqHw+eQpOoTa3gAeRpT564kzqJQWa987pB/JzPLRm + 2QvghW5P+WE8WxKJVmPE7a0qFxgYGr9YgarpwFHNIFXN7qd52YpVukl/9OfskJevaCrwQRWNaAKW + B8FhkRtrWs7jI0BcVS+Gf3O8fPDT0SjtqyT9IozWBPI+zOCfVEgaY3zJJ1PjWaj+mVU9Shl2kCJ2 + bUB2Z4U2foy0F5oesWgopuJ56yjwDkGtZFefVw3fkJO0V+NMyKVAq+2H152EJOY+LfhVC6KvT3sR + uKu+KDHfVrG5+RnsewiQAbnD2rzDP5NZLgwlty76JEbn0s7H9w6tw45T+XkTMaNcklFo6PTxEOUw + ZBjUXsLzYZEMyI0ZoMviNcrR5YWndO1nhg9iSrCev7CrdYTG/aGN6nF1KgFkoLDIlk+DI6yJIR4K + Ae385aVxcXPXxVeiNU+rDxyCTCzPy+NsbKKFRaSzEnl/iXy4d0Cu+AYwdT3lj8ol3CiIYy6y0ndo + CerGpqn3NvX0FXfK/MvpAKF57+fKztxcCISbjvFe9IWokxp0HjVU7MltuIxe6UKw6iHZuLVJkGMa + pnEl4ipQ8pN8XXEipwFD5hGOmFPsOkDXcZem0jtNR2orKZKkFdCcV5XR+bG9xiycmyEAUVYbrEzj + NYDcCwJSgNsB5h8MotHUtcTi08vauE1qix4FcvbWRH85vazInbI45UnHPTzt/m+ZY3qdhQEX1Iah + A9l3H3PFnutzIJ8lTj5pxG/xOXrYP/x1t13O9vmawZvl9ZmY8yfE+xLn0V0E0Rqq7ujTQgJ0NvOd + xrkmAxngT3nXLKXP3dcyYTEKjStX4aAjPglCyXKiePuCObEXRoWFQAxGnnJFr3/QOtC1T8TmEHIs + FHpwgNVxWbQsr07tsnDiPIP3MkD+ypOjrED/L4puHbKH5RYdvifjv2bs9ZxLN6BNuU9un7RIvkcM + VeSK5LyW+fesR3LaKFfkGod+13hO+J9WGMwJ9SoQgZYNTq7YDea1QydZNKwvfe8jUWGqRH6tKUdl + 7esEbjFF+lGED1zyrM68DWH64Hr1U/gzT3gsYzpEHDdyjfzczu1U5S4AfbzEPuFWBuUqNSG1C1Ae + OM1LBBa5ov0R8F1Sl0DBZOx/r0Zkcym80hKnKEBh/JpF/K3pcm7UMlg/pkdCoHm0bIp8fu7HVxJi + R914HQyKA0kTF9101+9ggQcs0q0Xs/Pg1ebP6Kc+E3nhJ9DgaBEfqKbfgC7UVjIIKaNZOgrOd/0I + mQvl0g8nC8RV7zo/kMgRncJHttyV70+cy1K/Kv0w9t3ALTy1ndRr2ancc0P4wtxmgiI8Vr/+r4cQ + /V2KPlwFfNnP7sgUVJwKYujSQl8Q+VMpLnhKxHrL6Byx2taSjhpNFWJQFJH9LVQgbqW5B4nOs824 + cLSt8g05wEsP6Z2C393TIom/i6u0lVjOk5qxOSNqoT+cAeuB2JGV/3H/SgNmUNRDmg4hgxJiqvYU + Lu6iO9bAMl98XYrCeFA+ai5+V2HFho2QyI4ksX0IidlkRQXfcCrPIcQHCzo9r9EtURYYYpACPeHF + AbTdoajGp/Y5YcWbewOzdm3l/ipgli5IQvJ7d4SKWC4ITsJyfSH461Y2xb3pbrO7fpUGNAd9BfDt + UbGcoR59dG857xtlfPxD+EYS69bAXg+XbRLSRHZZU1teo4jka0nDCieTgPW0nvqCbHeIIA/Av4h7 + 0f31Lnli/Q2mijgSmaiqU/i4Sx+MRlY0gxXfrJZJJCQUQso/w/7LG6PjmgqgHHfhJoiFpWiarbpR + tWKd0KRAKIvmUJcPGJ/yloDYXCbiSLROQg2+iXIEs1uKV09ZcagoRJgq9QmbVOu10lVlL/Gtw9uU + BSLY32KQQy1R1r6uvxktQ5pT39PRrH6gqG1nyfqWUaRXuwXgeBTxmd0ZQIwk65KqS2T/w4j9KtwP + OUiXRxgf4N7NID/2ZDH3AeWqnT7xw8kQRfJdxsBcDWYiqrccGQtUcSmGyGJJcjPK2+JR8ywxYLuY + Ogq4W7GPXu8JXgB3PpBtooPjDg1lFtcipq1N4+OSniv2RqoT/+DGzZ8JgoSRw0XtXuIpBivYWvZm + SFe41/J/Auo7fFPQ/79b6ljSw/iE0mdwCNjLDapuLgZxO+x1TtC9O+hRpPN0JK+j9t15P39qwc6w + 3dyloxPOXjDKIG2gbug1M+nqkuomgRB19SdcykZQkqU9rxtIGuxlih5NgMx3+r27V02FS7v0mUVq + F97XwwzrQC0UDe3GrNTLXqrIKhFg88n1GZZBD9wfyEY1Ox8dBw9c3I5mZ7AYCQe4Z+ODT96J2qz4 + scDw0PucyQUvCuArel5hkCGwhQ/GWmfCLvS7pFpCRAHA5xQ+thTzcPy0Keubd69h+QoE2LG7dCQe + 7FTW1zOp6JoZu/HyN6fQL1eh7C8CU+wPhu1nKkkfDgIEgNY/69MMJboKbZ+6eC+gh9na10dtgUCP + 0rh+epPToxZ7zh4Ww9XkgYevMwdZxyvai4Lk86ad5S/D7xvXrQOl1EJSpCd2/BRjtrtKU47yomiy + ovRu8RDVmrmCstRaImTSGALa6Sp84r98MoG8O2If4ycn3scmGFxCrTVH32fJT92nps6p9EF49mr/ + UOTRX+g9ej4+55XgSHDR6OwBY4fWsuXGSoAGk5+YIrnkmq/8Dkq/t/KiSWVM8mn3dw== headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: jPtxmWmG23Y= + x-ms-content-crc64: ZS+BDSS/ndI= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:52 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: d3TO7VJ377I= + x-ms-content-crc64: EQqW2a+wPP0= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: dNt1lQv+4bQ= + x-ms-content-crc64: m1oRDwCWEpw= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:07 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: wnoh/HhaHGk= + x-ms-content-crc64: 5obuRSJ0Y3A= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 8fI0fWcIajQ= + x-ms-content-crc64: YgTonb54V1s= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D - request: body: !!binary | - 2P6r57HLOmttziiaLDVVBQoFsVxAEok9F3LrwAJwgx8Yl6HLFM1cQ2A4wCdcKosv5Ii1/FwAWBdP - u9y5avG1mN0J1e6wa8Q38rXAwPGmNtTWXyUW7mttx0906J1w9IyukZXFtyzriwztOMz0rSorghKG - viq5cZleR7EJM+CMX+JRqiYr9OYvna9RJWikG56Z8c+kToOOj9mv77CnY67xlftpDS8sftpLwQwE - AJjhSBajoJT5b4bolP9wxHcd6lM5o3mgqArDg8hDO8k9N+OoYHnH4hxucKdPSMloms0wNMnn0WzV - u/305Eb1nPR462HEXayzJ+s3i4AUyefNszjroX+5pRzmuV5mR0+TdS1NAi4pJvi/Aw40xbk+O2OV - ya58be84qucl5aPXm8UHBIjzl7gCr71ak3lBXsNCQXHJrsSX37RxPLUuw/nTZUKp4IVe2Od6oucO - U2wqkmXEUvb7OilKnegO/kWsXt087CpAyBPvprXhyExAfECMx5kxuJFfhfuJsVgYbZf7OuSJfW2d - MvZt/uHJOFXNtCinUgMKHHBIsEJO+TYTwDHEGW2YGGTZAxZVnoDQi8CvrTcP2Ja2vOg6LWEsBKk5 - 3C31MhTVLgt4j4wvG0YB4mDWaiWBv4TYJWFBiwrUfWoJN3nPGv1t5oA5WkW8R47wO+SWnCrFiKBf - vJs7uBQn2VXzBbaDbXCwhN1qO7VA8CAUZ10spMZuT7k+aRunJ0UuPHDlxfr7O2vXuD8m/s/ZL3FI - A8sNO+TC3JiKvCGRlKLwUypLQch5AkN4bxXVSAkYd9pz+4WxojH9xFkiQAFCIldlwnYGK6pZfZal - /cL7IdDWnffrQWkXOwd86dTBLj28tKB4HGjZYO5msKWRH1dyLYArVJr+lUBRfaNYqEHkzTBFXSJw - OxBvIoB8flwUGHZdsczqQyRP0hN8oz49P3Zugpv5bnTwvCPqSOLMdTdCY0NcI93auA/WDdtYKC3a - 0OXIIsCigEfE43JgIW17HXbCRlqNBeBLTuJ/P5p1xhl3EpaCr/VndfOQ/iFvrO6VFvkIOmBlVDdp - 0kX9/PBCV1TP6xF8uPS5Rp3EsSySxRpkL2MFFxzpHhryWLxaJcaRvoZACQivTXLd6gD4Lc8ASDzZ - ZoUDol4c2TXLdfcuRpVdw5Mt+X3n1gSuyW8QKsm3lNtN8cGrme7fWUBajMWNd5KoZtdnlI+hPzAh - lrgYVoSZNhsSG8xiPsTO8JXp2Df/7rBXztpAmN1gYcYQGaWMe12FN/74s7SBe2ld2CYyc7D0EwXI - exncBEix7uy+VpIaRm8IcPxG++WOCkRBc52jGOrg6qyqj+SUn7ws07k/kghtAnXOpKM1d0XLp3Ai - 1sYufyOt3Lnig2Au2m9g2WfCwH7dP2h51vab17lg/qNglkeg0LQpcWDkpW/q55HP9uUnn6rPsyQp - hwpmZhzF+Xs4MMQRck+VUkjmu5p4ReHc6vO0weRh0na8bAwPlK/jJURILsLP1kiL/i/Zb2DPky9O - cIkdWhsuLzxIkxi+sqVc1372q3hilFGAYMQqWxw0n3GWz8f957nADecK7HbR7bm73ZPWCt+xG6hn - 30kx7+9vaGEfE+xSlUABdq3NnR/L4Sd0k4wQR1kxm8ly6cna4CoXjtsDUxzsq2pw88cXIvPRqXtL - l8p1kzY4Qa5w9SacnyvzlxrVRpuSPLgbskxDJ6LDnfnlMWo0ELyZvBDpv9Pa8ccJwWI4MeckclZq - f+W3ZcZytvGIiAMaSZp9Zd+I0PSUt8HDykv+Gh7aGfIMfo3QJN0YCAt5tMGh2ceHClcQhi6MBdQB - VFypksV6/pTkfWuGetPOTznR1d3X7HndmOtp5LeCSjG0Y5Q/MqRtWbC4vWGUF4+jsEi5WZ+aaxMR - QgTnLbAlJLud3WC5Un3OkP4tHsBZTBaYZF5tK6oD81XnNqa0RPmK+SFgo1qSMVCFfhLEeXwQnwYZ - EtbGEZYNl4fRL7d26Rr3yGxVuNGcAv3V0DH0KyEYJmSMJwy5+/H7RsRqG9RTKsYqK5hb0lo2XMGE - UagvHm2b996HNrTpYnPcZsIeu5AxR7caLhYbj8PKQcRHvEAUBQEZ89tGKFGfilLc4qHMKSMFuodv - LL5re+kizE7kbUbByMxxjCopCNOsUJoJYZQpATgvj3E5xnad0VjN7Zy/M8800nNTz+seNKCtNf+Y - xIv3EtIVzvA5Rrdg4MY55MQIs32B+dm8Qsw2mUHey3E6BYuIFALYkCk1GOgSv2EDAq7FonUPaPH/ - DrmsFgCJ0JZljwpJTNhWtcZQEfKtSCnjTBP2bAobspol1yVTqAE+6gWvxrti7gUSS6CEX6cG0nZV - fVtm94CK3kqPFDuupJZjMnWPk3WjDkBn5oQRm/TzLQE9p3F1nDOAt/aHPerDLlklPhDgRb5s0t6/ - p69HD1A1rbjbNBiMFpgmI/qMfJuv9XRkRytOg0vFGjvk8ENv6BYPoJcroiVut6y7/4YR1BbecK48 - wAsJvXuF95/3N3H2V4WIQoWum951SzGcDQadyEuYUHpeJpptNbAT+tKgYLVoKschGglQ2mxFRqNB - p979n5lr25uI2VumTq3BZ6RS/bBpulD1aRyCObvPksc0KnBzJVuO97TCnb7V5dJZxtuvFs9LiErw - YHreuv9JLJEwoD+glIbzFlPf+07meqJpql1oaN+aILpEBLIUgfoz9plJ5YYQy+HKMAFbb5YLDX4B - pYBK4WVYDxHx2//YjQ8WgpZacEWVn7rLF/Y03cf2SpTt4d3O1Fc8alKXSwPtrnFUr/meS8g1Bn6y - zhrlwtr4ijNEssCU8rId/viDC4NrWQ7ufjlN+xFHbV3IMcNB7q0Stjaf0ZRp2AK0EjQg4wKGvmWU - GFI3LyI0UIYdjs6rY+SDcELWQwG0gXyjwS4ZM6TQQEwk2kbNd9tLSkAnp9KAuZlcw7OJeiGqASif - QznIeUySvYvon27INmCrB4mRDbF5YXULyG4MnHgRD9YC3UePL54oj/CNXSGvh69mDg38A3oMtZrH - Uec6PT4JKtqxFxhcFWTKhR8gYs6kae2lVlIZnsngmkf0DavUvedEC3ThgHVifenQmlkivTcbhjLN - vSpWPctUuiynQZqg0Z88uQN+Q08jVcrSgSVvWllzKb53BdZbqVzVCpHMSXk+naTKSHe9qT7cQvgs - 2Srmf9i5Rap6JKwOQYW2LM+WfAFLxQ1EGG3GE6GcIR9b1h+tPmAyTrUyfnM34a3Dxbx4xHzQnDL7 - MW4zFxxNN703F6cAAgdpqV+9O2LD+YX/LCsAP4nIcRcf1S+Nco8oILerw6917hyzghq5O5xLJom/ - 3ohbWi0/lasFekcujUBEh5y/HhvsueHBxvrUA8fafOVWrv1MAXj5Yr239b4A1NpKjXojn5gN+o2H - AlC3Wh4KX/DIrOi51Ai9RTrJqJ94S6oT6ygBduflLzCNQXR7QJlm7eg/ayYnxhbyeZTlSzk9y5vZ - vHiph4PY8KDCyHF0YWM68hA0e2FmnFVU/YLbJIwtCLTd4Ar4zf+FAaz55XYK7eSq6VzIH1lZ/HMm - mvQpws+o/IGKtF2s6Gs1MjYJwU+X0zrrr++pjIZkO8jOr7ZPbo2DNASqkm+LYbxOzpA8i5uGM8Z4 - zwDSDMwTJpwnjmpWW1vtjhmSuAZHseC+UofQknwllg55NvmVyaDYqsEdp06wSdIbGrdLboNlmAWh - 2rkjSGjCwFOQizT2J1GaqvmcZdMwJDfYU2nYeANbwTdlgbiH0pUttDHKPHXG9aqFnEWtRe6w9yCI - QurtiYeC7wcQ88UyKJbIniSF04QvL5DgqsPSXnwJJ/WasgVbxXl6UmYolGH/KuZz3ShHSvk4wFFc - HuDXJcpZjAI3Myv5XhCiyLQ+hpOI9zos/1d1VSAWO/67pR7exOqpWdP6L2IAORg5ZAsLCIxIKVKG - zPH6uUgm9Ll1ffSUnwHZYvl6Trq97O2olOGYhr0m/RZNttToL93gM76yiNUhPGiIVdqZVmq/nnU+ - cJOKhf8PVPSGPAJLkRxYnCVYYLkvp7ToQuTuxSXeGrBtJgyT+R7G/LNJgLc8ZC41gf4WZY7RS5Wu - xMqLXxF+OFsPY6X7pYrk/VjiNpIB+9qOzEQ5oMwWCpYE43Z3tLr/Gpxwh4Jym7mlKvc9tyqG6666 - ZLE5iuIL/QXrRSR/toDnZdvWDSXWgDD21qv0HoxdwAzCT1/LWCnn7l5Mt3H4o3RVj1OL3qV59JWW - KNNIicY+91sk6uR2hIGUkiDxfFTClLnbkH5dKBwJm5R7VpvUh+nYGxuj4MmEYPbUKT0hD+Cz00RD - GjqoQsh54G+WSB2YqdbA1Vv2ly3y0Zk+gQdEAe/v9fD2n0Dch8H9zJXiorSKYIriV5lm7CdK6yCU - 7mTmxtwGbpBTzTrHmFEjBufBCXZtG5K3pyQIQXjCyTpjt+a+a/eGClpYLtAdQO6FF5h1Oqb7Uwlp - W0b0ePzGYew8B3GIxw6Lu+szuT140YKOjw98n76vGjoM+VxWwxarRDxU6qNo0PMgBYXKStdqzAk0 - ltsq/eXUGPQmQLTC8tsHeVqVehcD+TksRTnUMk48AWcFDVmvWIvnvlmzNv5/skoCDbrGw6qjK4GW - NjkxxaI8hJ8Na78DnkC7R3OkbRsESl0tevJXxHk04nFZJ4ub3++xRoQy4aimeCAhJu9kgAhDSmWe - Ogez0P/37eDP1IDNzOQ2TOzG27ujO70nUhYsecl4gx1sYtbW9t1/SBqO+7EEHAtoYReaslumidxF - WxDV/S10rgi4NVNKBIzL1oMrWiAcBDJosW6WPJEVO/jg4nCygFO9nqhtitrRx6gAw/Gu9EDfz9Rv - 75YWsEE9+YCWr6HphMVcefspR7s700sjqUx4aM5E+GDTeiRaW1IY6xpHvoxaZj5xRRwjy9UNfgDF - zNUvVcCaKQkFpx4aFoKBJEDOIQGMeqXIBSqeR/NkeUmyvxTDv/+JleArIUU14/PEk3gAy3w6nLW4 - a1RwmKW6oQ1sejLsAq5u5NqQOvrJisfQ11sB37OAU879Ttc+4WCIBYvee9zymIKmgDjnZX8yYguc - nqfLaR+Jh/7lt3OUndG9vYWnoQNTWW7k0rfkWhMx/4ocUfaxj2yF4eKr/sIzDfrwHHZjyjoSwlrt - C5P+SJSOkDJdmVnweWz+G6tlSS0WBZDO3VE/KhdQ4b3aHv6ZTYXv8Qe1o9c5qz+X0viMNnUCOUiJ - N9hKYevhq5hPpmhbfy9I1Dj7BCR2UtJ7xKo1Li9Zqo3uyzXh1RW1zXlKJlXKmcF55eG17XYAhNSW - INe1li55fcYpT1gmKCkqfi/5Qj11F16VXIjhr57beqn1++nMYNHBPZ7BuOwCfyhsyKkbGaflpkkW - bCh4XJa1nQXqOuWLtGNV9ZyNCYrwfDtqXSGghkj9KlruK0vNtYhGJefEEmqD0iMssw== + obnBulJmJFrIYqgZeFRGwvgBtljxNyrFVOUkcrxPhWn2pxi9DsbrNYO0Y0jrItD5WPfLpO3dp6qf + s6yx4YHfqUc0GZu9ViAPrOJOVEo9Vjk09wmFLh7k9gsh3YMRbsSE57cmHSrPzX6QdVPvWBsw4Qgz + HrfGJgXKEaAnIEE+XbGZRu0AV1yTeJgGo+OFWMqMSDw3KErzXXnreRf4aD+4yv28qJwI4gJBnqqw + kVRuQ241K9LVA+1HWnYGAMgSl7/JscRC1qiDoQkMKl0Uu6Z3ufTIuyb2pB8CwpyYZmF7jv992IXB + qdAtvEl4ZS4YWfKUTH8v6KRS4ZiC7LSg1FOUf8/1HfT4dr8XljJMiHE+mRv2lZ5JbozNr//3w/nR + 0Nd8ksI2eRyRJbuEq7VhFCEm0gbD2KJLQqcSLSzeElHFaqYKLDQLdPKSIFK1MLSLkByMC2lp5SdG + AkDpcs0uZXn0F1JM0Lu+WA2nO/kbflHJaj+NT7PSej7jibFKJa8fKVHBttXf5OEBNLH7EAOfkngA + jIEnUbUtdD3TePDwWjcCT0K4VaBEX1fQmy3vKh46WVXt8eIs/jOdxZXO4oNBGeRRFhapgvvOGoTl + BVBGRfFiCF8rI0K+jgPMhYZjPHPElG863YzLS8+ziXdyOAIHQgYX5bcAmW4Ur9OAmqOBf8/fAqwa + /4uqpNgNGXopdhf0AUoAiLJiN59beW0J6NR63G1h9Xz+SIAKSZXXHrJmeddaeVyvqxlIVuYf8ryy + mWleWUl7pUTGBid/oX4D+PdevXZp3BwAhm7YXbZ7z1ZPammmqOoPscW9qSg6tuqcXYewhVMdcz83 + QQQwofmYUKWNhJapLCk7L+bxVYOCXXUzp3uhyNB8FpTBhUUsreQWGh0r0IuymLF87LuUJJdFp9x6 + 1APpH7/fkIslzrvuITUitOuckv7b4BtHgf8yImRVygYmCnGXIhodzZw8O/7XXiBInVXgCNtj0fgZ + 8W5bfSIfPm4gQitSPFBDbJFBuUCjwbKVz7Z3Bqp51HneADgKasUgDW36qFfuk4DtWCXueCOp1U7s + LToX/6TCZ0x1G2FY5Cdds+cqDGLkTyqG0xt5ca8ZwpDK4bioIPttK9E2wS5j0HISgyQdDpEGd/O7 + IvF7O5PNacE/v5Tnxa8cPZHbCTcGcwGA/+xveXcwJ6/LFWRhthzaKahL3Gkzi3pX4+LuvEtEGyCy + agtJsqDnP1WgOWI1F/a2yrgICdLddrkeaf6QglK34sJsGVXwpZrR53lFJca+7yykICZdT4KcYQJO + 1H0CPa3IRKEEvhTFItrd5S16DIBw0g/cHjvO1XV4l8nstmQpZ8G3k8A6HUr3qPOIehJAf9/ZPvw/ + zm1TpeyDsXRh4lWNGDaSxjhEt/gOmoMrheiN1H/U5iAE/4pgkR3D0A3vBmaAB/G4ZPpv8SdVSNb1 + FVPqaA0mus8gWmB3LbVSN4cPuuLyEuLTBjAtJPnktmHC05SAah7mA/EszdxqXC7uRTR+XHJVFyFt + A+kBj/O9Ur2xBQQPH1AFHR/INNaMit+2oJef6i+vDPsEwLXBwx3h7Q+KB4hW2PP7jKuMsvNZWMWT + gp0AZ/qNRSu2anirDNnRS1iOoVbBW0iwZbqmaCfVo+65Tf8u46POPUooVwdO7i+tb5HWeqB1V4rs + +Cy7gKxCHlftlwyeHL/SSZGGqQC/QJixHPcj9C4r+TNDQ7arxSwnM4raWoJXQ9faVybOACktxbav + HUUtBoTRa4C55Iz5prcU9vDFwMqxuA7daCsBzlkq6mI5JmYZE/IhDIlOFN2SSFr68MHrRN7Jz+/x + CVp7wxgRpLYsR3Ct2lPsHmUrhT/EkW4NWBywgrw9FQmzE4BKvDWsrmvc5lDXwspkAOs4RPWRoDDe + XIZ0pmxjsN+TJXnOUeHgEGmAeszs8MKo0cx7U/7+TU1L/9fI0+RUM4OihKN/LtuHowYgVZ7XYK89 + uM0OrKa4WCpWv8e4OG0k8lKLJzF3kmzI1mDNfInGHj84z9X35D8781HVR1bwD0HgyHogsneSxJ79 + i5n37PAf8PzOqh7B++YZtIod7xvuLNeLj1J1W2L8ouHNgoFP52dNhYvPv9jpJt9iYY1ldAuCDor9 + yMBnD2GrJZoTfyb1Qjz3SfkJggmVQKrXnPxforyV07YeP6n7+Yj1IWL2RAPbzvw99SlWJ64tXmAY + gNM5WAjjFGv9HHl2LkTUKBdPmHoshjPzkXkoLONVrkIF79p8FbxkEL/kN1LiKhO1AHpMhUhNJXep + F6bZ4N6i2S6xz8YXI6ur/Zs8sVE1YTG6e08FPc/PRwNZM4rY7K6AzwJvrISyW1anMT7/gnkfRShU + zePmJvW6lQGE5d+kxBg+ZqHTAz25+Sh7TVnsb3it47EZvwvbgxmi2QUpcRube35sk1QM/N8zrIzO + t4F6hMSlNN6wcry2ar+i85QLMGLv/ItOTgXDOvR7Tuk039D3gW358WU0WCYRCF9AzIejNFf5yboD + E++c5l+aqiOlIlPyclTRoK27pv/an130ibaI7ACPRmNXkLfmOLXoDdOXVAxwMPQ3WcEAFRkX4XIx + CJw9jguG5lKoPbp9hwleRrr9YP+pWJVMdikvPcMoTWDsLn+G8pt804WVFNk9Ep2tte7HKwIsCo+W + eUR806/UzNbFTDF+04diHRqMzwUWNOQKy783ztPwPTR12+K2aH4Nm/4WovzRBJ3zK8WAhun7r/zD + DmhaeFS+YnevWaym4lSplqAsWh0Avenxr5dfwUngREg8ciiZvql7aNTbgfPLte5rtlaIEbjIuNKS + VhCF8To2388CWybljRaplOVVMVpLWkMg4Ro2FF7DPKcA8UHiZtnmKxj7H0UG+FWBpzxLXBgcgZW9 + cYFmOeKUgPEB5l15PhkG7QYpzUaZfwKmezYwAN4xGmSLZfwan1Hj+Nk7oqWenBglU/IaGCPZO2t4 + hq65s/ctRG8tNOMgN3UuKbGaP50iW2Vqxv7pibGjonFWYivSbfYn5SWAzWdmPJ4gQ5MERfdLTvvw + Az4zKD4CCtYkKgCszdM0o4QstU3mUFIlf3i4qV8qr7oJgm5hr7Sul4FgJJAIyG9XUm14Pt4fFyiK + upTftvuRYmZ6x4enM0MfsqL8efvvXRjI9jUyTH3mfs/6RQtYDuRxc47Q02/SCR7G0RwzQdKOUt1h + taRmUozYIapne4bVVGsh4MwaIC0JKaU0VCtWZJO9zIYB1EmpOz5U/Ip+MaYrt8Tl76AGrcz6p+GQ + w+iYTwRjWu4gtdx1pqdD8+kPDILDE8Q0r3NYxUtko2Q1v0svnr8DWsEHB/xp9tJmcVO8iwDeVq53 + TmUTCV86R4X67+3S5fKVSRAVUYtVEHEUoX2CjnqkRPyid/wiPjie0COd2++8/piu66Dz2eD1ZmXw + WZnOm1bWleMa5d17zWuy/fMQpNZbuKQis+OZsJaDsAwwLh5AZRkIUBBwF//kg4C0yStr7WBAN/9H + CxQ3CP9FkVmT08VbAl3/tx5gNtWdNS+zPuNi1ebSd8YS/dnum1xxbJe4Apx2mPFz6Kb5sxZwWAJT + zjfY0yoadq3aoubt1dlpmA3xznOvuCygHZGxesi5/pdQ/6toiQ9osOnvlqVXNGhkUy1XHvKtzouI + OdRYKXAkGRTaCfiuEh97auIRhnq17wYCi7J+TcCOKgURhFi3mdLQh2LwwouW6V2UA4F2LbSOcQRM + Fb48L8owPFT+dDgf9MTCUiiRuasc/yfE+n4B4cUggTZYDI6oGe6INEpqPyhVV3yL0bGyszT5xAKw + v0X7KYykdcvr0INmbfxfQwsUfbnrGy1jQDV8rIMI4Xg/S9THc081lMZsWawVc7PodZjjPTPyJHek + HEcUXBzsiijaSb86tGez+UojukooSKmp/iFg0YM547A/j6iNOz08UE76gZ1L3ZAzAzti3SlzZ2bQ + S7ceQMMDfmrTEMqFXzrVDietTHooDHTqRA/DPr441zF+bgKaCKDHQfqtVEsttVO59W5gZTQIDPrb + lEgPrfeCmgh1ZHjAl+8bzWokhe5SImrzyJ8PjWEV9wVbOVMrHJz76O4fnuyA2VI4kEiCm1YlvOM2 + hdPY9jkg2/TWlKQ0bWZrRLCfIc00AgrjPcJh9JkJ+vTwWhug82Io3f/zLyjlvOhC1HLbxVvA8ff0 + 50vQLv3xhSvmcQaOG3TiBMTAPrMwADuC3tIH6/J/0Rb7eMKCfhfLnt9AiOn18zLYerQgz4i217PD + bNjf9zUxgvF6FrQ6Jnad0y/mGoy3VgwCSxY9iUw9i+Xl28r70HWBpD/DWAD5QV1ClAX7U+JymP0i + nuqofFVC9b1cQvj1qrxDp3vEhTWZYqbi+eMvTVo+d7OeRZGmVgULVWjwSAwBsEIbuNMb9IkOPTrr + P4F6eqjbtLUmbx9a0Xob5oOo2Ue6zYfO28xjSVpyMZkXXigNhTQzzEWdU9MAMfPhPnp2XauLjllo + vrS9DsBzMuB+54Gn0+pmpKFcdUlAEAFTWMRYk4LOVInUztAzDf6Omwpczi7rByZCCGjC8nPT/i14 + mLctBXIny28nhpiGoHTAXyNJJzKnKsamFdz9JbS+hVRwfQlOJcmvgKpzop6O9Qhq2xibI/DreuKB + /ZvzK6wY/UPpCef9YkavZIP7SY6Xc18uWbxaFI2sVgyvFADhc31OKbbZcalHEid/Bu2QuBAX9/BP + CpZDQHv++ftmX5e3JI/ea+P6qUFbfz4UdX073xYcKSUmR76+UN8PPobDuDks6xEdxQN3DTtKDckh + PWN8C/xhWBEk91VecvCg/iXlYGhIK1qgKCwJU80dP4EYKO01YdnZ0KWOnSKDZQXqxvZTUdPF/FO0 + Dm5WG8vEhz+0NgQVhBnP93J/O/MqbQ6x0kEvWJJi9oM6wAryiGccGYv8DnwW4ffX/tTJ8Y8vw2yV + WRsjvbL1+92wmdeThVa7EWdmFyJhKK7igHfixEOr9VrjLTI0RX4eImjG/KPT1PrsG+GvCfO0u3lx + yQcwhJaATcboxYvohc4RlAQBJjaIqEB876LvT4rNdsDmD8bjp45R6FIUyMY+C8857p2IOn9qG58x + 726d98YjmXQ/sUZkDDa5t0IwnUzBWxl2aCAdn87Ji9JMq8NUDrdlVlZgJymxCJY/9bZTdC/j72Nl + e0HZ4EX3rYK93AylOF/hUakLdCHtrP9MjyZSdsolBee8xedx+HrNZdPeu0wF1sAgPr6llxuR9TZd + HJfP5jnY2/z5IKa/D+2UrS1+CuQtEOir66+9oORp7MSNPqEeG/NHi5ph0/wVU85Mlm0Gnyy6L4X0 + nrQ9m8we6fY7+BLr/DFby0ljCgqETuBkuUcomllHWiueww4EN2mtoYK+qaQYL7gOEtcH4OPv7gPe + hgo3wYoyZiTfitYhPPl6CjecCQUf5++V1XfetPpiTI8M9ZqlwHGeh8R87hmw0j2nRA== headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: hLeE2iRSyBM= + x-ms-content-crc64: x7oeCCtgBbs= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: yw1yLYWHA+8= + x-ms-content-crc64: irwf2yrwBAI= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D - request: body: !!binary | - ZUsxmPCfuKZ1wLn86euHPw== + JsRVNGMwA9IQXrX9J3o8FQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: qKP/QhyKip8= + x-ms-content-crc64: OWhxxfG/D94= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D - request: body: ' TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==' headers: + Accept: + - application/xml Content-Length: - '791' Content-Type: - - application/xml; charset=utf-8 + - application/xml If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "idumcxwebio9/w9nmjV26VqtR5i5osTAfb4EoEodqpBXYzaa5gaM8g==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "7Nuz8XhQeMJre2f7C2Fz3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=blocklist response: @@ -961,698 +958,721 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D75973522B4BB0"' - last-modified: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT + etag: '"0x8DA4817FCFA947A"' + last-modified: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: JrUyAGTFWYY= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - comp=blocklist - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573?comp=blocklist +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '32784' + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:08 GMT + etag: '"0x8DA4817FCFA947A"' + last-modified: Mon, 06 Jun 2022 23:55:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:09 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 response: body: string: !!binary | - MXh0wdOkr4DgVJ3ASPlMXnLLydpzZp2ckbNwoDhVxxRQbXm316r567KfJD9fUPqc9FC5Q2GJgkft - 2QTSjIyKzI0+eNzIrUhducYk1zr20gx/2vgLl4lmWLf2Kk7B2i/0oSUWQgC3oECP2FkPOuT2yccX - wKtAr1fEwuzMXHUuyUb2fFsFz6HmobiyeJvWnqQcBurgzVbmU8yEgYJQJOQvpetODjjDFxdD3sKl - 3p8o1ikqf7+Dm1FlNu18s3PvX/p+nPAxsW4jWkIGLHKhl1tGWYHegimLkET5cp63ubxe8cSboasU - soCzT9j0kJeTrQKTi8TAG5vK0q8v+oQD5d5W8PSbkM+ThjyP1ypVVQqyzZY7n0SMj9Gf4TNYwv1l - DMFcPHC2uxyhPNZ04jH9WGCEuQQVHQwYQF33bRlpb7YR9plkkQl3ZDMEhr6TYvGl3i4dyVBovGHA - vyvct6TsHeflI3VsgAi3zHmgoYPL93O0tYf3XXUSjelag2yQqwhOXIfA20zxws4jPPwL5lMK/rGi - LO0dFFaPdFspTZXEwU/izL7DohFLn7l8+F55NgyQODLAJwKdorAidxoOhj9Iz45wgsb6cBl7ILIp - mjzDFIRF4HoVLMFDZ+eEduaCZrDoJetEKSZpSZn5UMuU/Ip0AIxwtJVBOMGMyiHNOy4HMXKW4XqF - YpqgydzZSdrQ38fFniujFpiMAvvQ7W9QtfN/DGVithU0z38NAAJWNoKUZb7N0bpi0VZSqB+1kVxt - W5ZyQcujsyASry8T01x/iVHlea+xJhUo+4YSJR+xDPs5O+BX7XFtajtbMzt/5+PQ7tm/Z4bLWxeA - hrcgNvBmRwnpaGdX0wwU5rwpOKvfo79fjn+AfDsutg060yZEDg4jdChhsqy49VIuzPmVwFPqRT/y - GaMJZUpRC9JmfuPIly3cRsGVDfHTAnjt4BJIRHwB5Km54RCyH5k872FnzZ7UQQCA8evbWtfClzob - ukPiOWEumej+G4Aaa+zMyytjSiBU6fXVJiwpY2YJRdZXfw5iump2Apk2ti4BG/gvtMv9yS0CLQXy - DcvURKpQRF+N6GGHceNJfE5Ig2CXER7DshRh5FMPdR1e3ov+uSznh+tU6FlWD57m0/ZhokavqMB2 - zLmascsf+Mi2wGPmuknsknnE1R2u/+/Uhoc4FB3P+H23C9vbvdF330YQuELZJ7aS1bHDCbPiDDeT - 72E+bAg7otIrOU/gmAsngyQL6RWfwlmjcbt6qv8NZpHXzIcEQyT6hYRBus2oF3TBUXsXTMDgkNyn - 695+LSJ86eLWMhW4F9IBmBnau/IaCgzruHus7tHaPlI5h3nsuOkHQaPQgavI03YSP0jJafokA/Qy - 0JocuToR0O/wZcnGd6EGxbMvph3JDT/ePwx7T4Ll/u2iXUIVib7lxEJ25bgMhFaML1M+jxl45yQK - eEhEhMb4OCOYKksWaNujnJP9o3JLzWDlls/3sWVyBdYypcv/2iNeL1Pp4PxnJa1293PZCvP7ab7w - EqqMc2B2Ii3/gtxL9Eq9tUtZnrBxb01rmlJqfwalkE3ngy/okvIFgYt2t57V1LbkpLbg0KBfoEOm - o8U2SKlO0CRm2iTwBfcq0yN+RF1q70/JcFsUBCYNPc/QAlk17yqwW0gEINzrrUvMwthdQfFtO3aj - xI6aGG24cNsejKOCkFKArt7MkNp+NZwzGCJ0fRx2cGwTb5V2iaKxpUwz+lVs/BU4cLK2LKGSUQSz - +vfZy1cIrEehtRzwdSfdQyqf/kC1bkNju8HQLDOF1611saWkPjC0dGuD2TIAS3rQJiDBxv4y/I3y - rdDFHHVDOqeODVhzaEMGDyFVzZ2h+nM0AP/e8tb7IX2czZ5nb5YA6Z8SRB/Y7zNl0iQFlmgyvgw7 - fQ0qaFurOP/AkF38SJbJrTYadEGDCojeVniQn/Krdi56+bhcC41nXNHINjJqW26vWTEQPXB307o4 - gg/fICWyqc3ebOLpeva2McnzOZGt66yt37e/yb6OIyQpyyNO/ZrvEY3isF2IgVNg6qaisMMURSeD - ebgQ2bda8qmP0xQhMPX/scLvvWJ6doxY4ebdszIItlJ7tYcsOQYxhLNUqTlkyGywvpP00JbC9F9s - ayfyJTmFGTc5l0tYD8wu/T74BMH9vjfNQ/ym425ZuLJZYXUcXvdODOmNnH0hjDJOG3GD8KyoCdr6 - Q4elN9ylqo7GyEqq01gQITGpBpOwfqecflpg/MALEelvOVAuKLi8Py0liof55dDZatZ+XbiuR4sq - z1S2bGgEVNHNlrTY/Ri9iFONL3QI+XSxi1b9Ai5GbEv3aeGvfTd2EMHwMhusGkblfcroFvN1PkQp - XZQ6sv+hwdnhpA5IpsnJBiVGffjPWFkOavOX2FacCWS2aextkMQJ7/Z/xKGyxBILsebcPeLSSZKc - V+nnU00dRcCsZT/gYOKozvJ/NKHoo5LQRMxDqRUgmRp0n9fd/jMtf5+I8LW8WW0Q6NbYKNM9oOZl - DP81EIXGkEWoCR/rSlZNBvNIfXc/KvA4/bTs9DUq4caV6oc0zUa3D3neVZofmos4R4L3+KLrxSdk - /DgXxQKtxClE+mun9X1t0rMwRG7DkeKvlLjzhjannWGX55uKIrbbUDTDryDkWa007oHBBZw1fCzE - BRsu9zDLPMEkFRRDp2XGSSHYQG6UqJFmFigBq39VRUU20z239c3CoPO/DowejP368i0Z60Z5sCuC - zzsbI2Im44Bq9AmyMWKZpkIp8plnoXyDvXxUxGNY6D8/feRFJ2QinSNCptYngTGwYIAIW7dbpwsV - 9THCc6pDE1vy4gmlAuJ7F5IRB5g2KC43C2mYMA3zqWT/xmaqjqdL9syPmsFUkN9bmCrqx+gAiEre - 6gw95zibCGQSlA2YB6pIWcw56ch+EmwMPHbtCdGLSik9d7xW8EYRw8WmkpnwDFozxYsjr25+zZab - jAVJGM1nKTt9Qv3CHjje9GR5WWBnTtjJmT4l1Clxq7Od/WPovGGpvUfW8RQvwdm9T/vEDjNlem17 - Q91PH40MF5wq2Q431arB3sjRhFHonH8lEWmax42KldFYY/x8KcVPlJBhUAdqui6t8jyBixzk2bRg - ai2g7JnOG3oRSYsjizzOlS9gDwj9SLRBDsOC+LDxODr8ClmD66NJYDMpLYDvek+nx/rXtLoYg70A - bDNxPqY0dVzRLJ5+zq2rr7ZWkkdd9JP/HLf+HbbpTgnoql2FnivOMGDA0pUFx3ZgND5Ko5mUBIRG - LXz6U1LscYCT6WXTAqMyFZ/cNbnq1BBGyZrEIz/OEvGd+KG23kYBv+5E/aKmttS7Vr3CLtjsUIyP - hWjHh31MauBFTTnK3xaA3ZIt3KAxPxyuQfURRv0uwvWTLs+g8GrORPhloA1rjVXhCoEcEduWmmvL - saeoRM9+OuzmYJhOXPuJ5JP5CP/feOGXecZ6mxGcX3qOrr0sqsNeyQIJ9dq1aU988xp0f/MKhb5o - ejRAtA3PDHloSsE0q2Re1TuW6PlhxYlrLRmHrk0kwzetjhq5dXzxye01utFd1fCWRhVOdQheP+dt - aypqnjAyPhvYFLF/RpJzwJrVV37+75BfL5YVpOMFif6UgMC212g8xTCdqZ94qtqPqGDn/17vqZLW - z1ue6pVaa2jDvMrgU2oGqVqNwWnhGFr6E+kiDqUUYxAQTTRPJNvoYkh6yQvoA1+Lfi24cKDmX6zW - EtaaEp9Y+Qqf1j9VfMJtu1/V7tqT6AJQ8wqBiEU728oQOnX9dt3UjbPOvWCBU1XZuzFSmJR2GLxO - yOve9cPXgdicE7TBphibgcCMXBa/yeOwlIBv79RqMFbneq+0nasb0n5re5VBhRgpFjFlYkelp5J+ - 1lgIHA9NU+c/VTLbdoa3XKoYan1KYSuBg00XGz5juZxP5HhUazBfe8vF0YgltF5A0Wv60IdXzIQn - 61SN6+DHb0roSQghIACtLwnI6XUM3Pd3KBIF+uDFKaislJnZEehOZ2PSXfaiGoihooYVBZIwuv8g - nbJahSby8ohX8yFYHlnSdUlp8uXxBbg+FA/0twB+ce/PLsZ/UYMcX7nGxH/ui1DJINUxSI9Gl2Oa - ZySWmqSWe9y87tKQLFQTqoiFzor6hD8kPKcJCBah9syL/v/W3LAnSpj2kVg8kazr/Up8P9UAJjSC - kAiIObeP5vp7f87nXbbRl5T1htvLfgFFkLlbrAY5jEoNf2BXnoGgSXM24tjx/GQ6zjvuf5gEDcFn - 6qx5svqzmI3hai9UiELlgbtRIuldlrw+7e09300D/u90PfDQ9AYOJ5FiL0ZR2JdCilFxhXoaPnbI - qRo60W+3oPuC6XjoAecX/goxaIunRf8arzTVge+FJx3xeZ9meUcDJP0wyTTN5xtlDV5e+IKQwRel - YHxklealw/5PgMujIhaA9sUpZis/XjhFghkpeA6B7i/p1Ms/yvAH5LrG6zCyPhlwMOg/owWaUTKu - igIsuyaMvhE4qyk2czBICmgFcOdXM9uiFJc0vqW4klTDliLaEIArPB5eW49HLoo2ftjozBoiStx1 - U2pzEfhpJ7HGGfzhCc2ViMgvrtqcnGckqG6ZPoH06Mqlv7ZxZBs35ATFhlU/AEAZeCPriPX4gjji - QETvT8wn9Cs1XftCuteGIvaIHsAF1ruRtTrcld735OQV7tle7ip9b9cPXaXq1AQdtfq0CKzv3Xlo - 623YA1PLqYl3UE7ksSqh4KPSLL+kFjCapy/5C9TEjrnSecvdGOnIxi97vBAgWOgWkqQkBJWFSyu7 - brBTcovQ/RZ4TLjeT3DM5SPnLWlqpa5KsH+Kc3noE/ux0se/Bkj5xD0oNSZf9qka47HOwMkn8a5t - JSeVLo3i+dPc2TbYEEmsW3Cb6yZ2HgXFM7IVBkQPKFd3c7voq+il9Nakpp0KD5n575Ixlk6P/nkz - DCcikxMmSAU3rQN1TtYP9Xlc4ZzM/jlg+ex9pGKkqhTK0g8zgIpJL3nTQvtK/nIklj1LhcsDI1LB - XXxxOHdLppZ3jN4Me8ImymQD86NnLnr9RqlbPwXFh84JTp+vQEliCG0feUTizrkz1ZVJ/rDfxMa0 - raCJZKUfCg8rkvig0MHeUmsaug+X2UfqRcrAZNSB1K5CQO55XDz6HPdW4nvAKa5JPzZg/p/1CJdt - fVQyoJdJ8+vx2wge03ZmFlZtQtqInUuBDZjaBveePipg5Ww3T2v7paJUyPVo93l+QebbAVcxQps8 - EI5klqH4X3UQ9omT/GwmDhKFl/FvlCIjoFK7X77y9S9YXroNc9f2exQ3rU+xyFHPX0VANtEW/9oD - PCvz5Xr9ghcAn+WQhng6hrGssgtWPM0Ns4MC5XUQVgvL1b02BSLqeNYGPGAWc+cZVeaHqYMe/w+X - sUyfOief5+M39LtUVIc2+QtUG0VquR9etSTNBSPie7eGL3AAyEhuDJB3pH3ToG2K8w== + U3iQeN41Exlfhv0jT7QTYVtPFbrVpSVF7nbAByjOl6iI7tl0ydAgYtK6ZtxPK6xnUCXAA9BIQkv8 + ybwOK/6mf/GjfSxoTO8KGOWVcnp9sCL6XVg13wzbATvUyZ43opDXlvPpk8aRrUM49v4bwe+ZEsVy + sBN1oQvd62i6TNAZzaeOHyBvF7N9GEFnUcI4PxjNTnc5zuSi2fJ2ZXSx2MkBiMQy98Ar7nhfpA/3 + 22QxyBqwwPVkCjSRZwTnTcwsRkd2ZBXA1eR8HrlJ/sQUdiEtQlMzT/i1sHdlHrqIR/FAamx1xSHd + 2eJ1EjCBtGqOYrlEi9gpbuaCpsDFWwsEHyWQuo2hOrAkX6Z6KBX7C9sDyplFNXtYIxKvfIcMgdrM + A8FL1YjE05VA3e0tbYSXE6muqEpNK128QKcQ0wA3rDfUnQRW5sLLMo6JyPevClG7RmoBYqediLSd + KkUzt59rm35zMTwS5no/5bj3b2vHjdefh23pDswIoplUndeNGYV+XgmSr+urEZcwMDh/coNbNycW + DzHbzluZiI3Ik8f50Krf4kwAl/RyovgOiGhICSB5FV4hp0y9xrGdq4veRvdpUTOElVhdN/KkOwi+ + V2RvOtmVc4znKCLHqh3JPTJ5Q5dCLZDi/KtfY09/v74sY6G8RVMfoJmRGvzAeVdWbbhkDMFn7jjk + eDH5sF2/di4yr5zSWAhRi0XEk8knE9Jwy25Pb+7oyV10mNP0JCiJ/408kHgFER0oJSnpxAthRiP1 + KiUJ4BBZGtRF/NwEDYUUkCgPG9B7lbSEODM4v0lxke8Djeo0HuwO69sTlCSye/veZguAAimuANKP + Y19DZFCZ+SPiaXoi6CTChi0hso99HvjzxOkrHJEHJ7j6k9igtidLOykERe6oBnQYEt2sa/sZ0KbN + cPWPmATBdoZTAFzse92GRlalMQzVMNHF4wVDyRj1jCnlyRKr9agNqlfhi+kRII3CBP2SaRE6vtu6 + eGk6sgAaer0AwOYUVXTAPtaywC83wA8IUhAE99WeevzjDI2JonJFCu8bvVZpYqLDMb/wMKOOnVoX + OUIGqalU2GjAiQDsiFcRUElevNTBpf2Ay3pmLtQbVHPyVA6qmHAhmMpJGMk5bqNi46mWtWgiz0rq + mY0Zogq60uVe/jR4QTgJAo27goJmRtpjjW9c092k9RgKNS4CwWRANujy+2HbDe3zPjxmtBN+2nE4 + DjL1pN6yveIhhhbVVzITwG2HmvO2IPBlQaSZoicBCCLUeGQgqRHcG43AgRg2iE9H/4yhRlEo/rmr + +jydN8vGgdETuC/TarSonVCHot2owmZG96+kGE/Wwp0eEE/AYxb9hHSBCdkwv1lMmDUT1HZj9Ib/ + ct45cSvid1ZCPpHiYJlx1+YxOmt+cgsWyGbQoH+wxtO6rH+KG/OyR0YK+uVREljBtu+PWGpIavUl + 3gYI0J5LIsqANsszGIyzxiqTjyeL1hBrNswpjF2gm2X73+DC7FU2Cm1e7pWHLa2dEkrL8ApXY4y1 + bbyJzlZSVVaSVTFSa2whs3NwpEgrZH8z+K5hvNz7fXZppUxtGZ2wf2tvUa5XMMWFe2aK6hvlaEBa + U9O0i3slME5jJC5ZBLU9uVD24AEGp5/TDRzgcL1ADRelyDyI5fX1oYSQuybOgoZAokgeTR/EoCFA + i6gCBtnTpNE64j1AmPEzYI7DUwiCwChMEo8nSvDNTdnhMgY4W5QANfzIIDr0G1cOGTbOGn0B8hJw + OtdujID50DRmuygWXEQ5d8bg6ZHhjtny/edIT3SaYYYyJJK9/PfSyDVAwCFtuOiVA6sfk/OIDLKI + OsXOocAXWU/p5E8rNxQ+TLeF4lZE8CECVevnMUHIlpRV4mCt6nwCJiAKsymbJXsHUZrOtsj/43LJ + 9IfK77iPLvhRYYWYiKFHJfwK0JjgzVfh+34YUtWRAIMfxpemcoV2eo/1Ht0ChaPwnykF9ed+0jBI + CjE4UmvvVxxEmTW52Nj8vo+S/1AtspjMl5HxyP0+BfSwohL81N/XU9PVb7F/NImiqRrtMMDeiVT0 + 9sbv2BEnSwa6QMRAmozOFoTajiLb1u1E6Mk2CWTk2X7WJnlq82rO+/NoVnodCNC4ofZLiELhzgIR + B0L6eNgfksxuJS+jsFAZlsM+OVTuwlEcu8Lqe99cjsxMr50ofvMmKRlzXj1qaL8netByTqUpIhQo + /Sro2Rp45xmhSsuh+f16qN9tdNrFa4Sc/FHxOXZQs9eHnVvVzL3Z0fiUomdCS5C/skfAx2IKtni3 + DzP/oVf9flsOImfT+sTCckBQypehPzNcSA2IKzp8DnOZQJqLah35qielSjYKtrmUsYQMgO2eSTFa + RzEP8ys8eG3kc6gbSLnx46bCsKLuy93iRdqC5SukVqMApAKpTIcz6CgvIbsSQoaatRfTN293kipk + DL7B1dhE5i2sFnoQbx69SIzzjL34u6nl6jyx8k7Uu4sRiZcg5dUL8b+kg40VCsVgtMyVrD17kxsY + 3UUW8Kcyo9n1RxEJSqNHkf6X5/qkVUS11QWhf71rXz8lO7NXPN0eaYS0sQPmgugVKHasISiFC8O3 + TW18ILLXytobVEhiGlGe0CVGsA5/cx6XlBeIgbSHWHrgSO+L0YG/6YdKe8EfEJoV0HSVazx9llaG + ph51908JW+dGAQXC1BnQwLTum2Fmddq8bt4t17TyXhB8TjsWajZ/v8zdK2NX0nplQoAN1a63f+Fb + wH1I9XvfdcR/DLgD+gsemdvA5TKWki2QyLIXjVEf2FK82+aIuRshmxaYL3Gb2wngls0kfujrgKMh + 72FaF4K2clffjnJs8vTqQTolGZObEjWLxoWi3Bxld+LGOfRtF2lJrmrhjozUhXO8Gu/DXUTpMiPF + nHHq2ZmqzTo+J4Mf8tgtYoCJfnlu5kz31dDoWWWAv5xHAWlTfeL1f2cSKFF0yB2AMH4ACo9I75Cc + AEWMpJ7p2RhKTlK5BeCHaKdLgzxKqs/awnxHwMFzkysO/qCPLlqLQ+0gEBKsW3LGAgtYE9nsBR9q + FdIqlFAtMD4ZX1+p3WBZj/zZNOf13QWJmBfLwkhIpP0Hk1QCZwXXN7NZwmLuatxCOs5o9HdyLNdb + YVCIm46FlcOVh3GhDhzcjp0XDsf9tpco/B4UzZ9M0Xz7gnb/rRyBhOZaHpUdCBHFQDWfkQ9yy8IN + Cy+Ib2teQOk2Z1xh6lCQi7bJdvd3oAs3RFP5mBA8Pyp/P/KJH+Om6fngXloha+TK295Epk2VGhFQ + eQ4rgFCfl0GVQwqFxI+FvkNV0/3Aib9urz1VsmogCSBHqgAY5DwUxFk7365xsM3zthKvXDRGcK8W + JwsFX/wK2OVuna/nqHKpZdNHXEx7izl5LSMPzhW2PcK7kSgYPSYe52fElfOcvFmescVSsx/kUq/N + lSEP1zascjyYquO4VwsHhkoodTIFdO2z3seEH6MP02mFOSRg0ICSGJsHvCrn+vhmlalf7TcwnZPa + 9A9mS+mrD2ntkOOy03isz4hMYDH6sMkEeUfqFgN8kfrxuhMvWjvRfONVyw2T/kgEcpn/w8m/AodP + Z4fkz4L32EfjAavJu0JHzeep1/UhVAcA3nGIgstIpwj4UPEgz8akU+vUqkeB3/axvyBf4s3WshKY + Maes/FDZnWFzNSDsMJYTfWakO5/OepfPLB+F4KoKi1rf2eWeTlHxSJa4cgoQVZE4MeBn5ZOCxuet + DXsnOoOAOFbndhYROJCp1tr0uXDJKRg2BxZjZMC28SBtW3k9uZkn3XcA9ihkdxy7ryE+EBlYLknS + FQoC8nhRliDAMbB0J9lGgMbS/oOt+b2V4m1wjs0VsvrsLTcq8nW80KCXPH3pwCaKrtjlS0ADdsHp + KHCa19xmfkaIExkY53tXZ+0OfRvlezyqSfymoMtKJGpO2pBhMCG2CN8NklrM4qtfynE7fedbUAdq + Um86M8/j2VCmYWza8XZP5hSFITR3p7qhFGQEHp7LndQYM0lnR1FffDYEWHe4EwJLgl2Su66x6qN8 + ahq6uR5l5p2QpzqiMVYJSdmhOJKN7U293RGEHsReRGH4nP9VfrFCh8mKf09LVH3aNMEPW/bDn6FN + 2ljq+95wtXSYgDHHMQR5QF1veoKIJJljnnqB0pTKj2CVQ7B6CSncVyaXj9Ff8PCwDEgcuGDOg3Ao + cVK8hLSKG2RqE4SVeFj3/RuZ7A7F3f+YhAPRYPZaXyHg6LDB8ErmWFNrfFYpAurEzSWaIaYYvJG/ + BQBRrcWdCOJEojERSB6kcFwja3MVPsqkMXcyMWibE74FaHwmXskoTzoB3QUQD484Vnc/0x7rIRVE + uUC/kLvztQAOnuY3/bzzgIsmzH9Si+pT5S40krQybwXAqhZG5Ig+2mQVo3ATSDFYjxLbfndeom2x + WXm+6e/8uRkjH6XMxRPAMetTUFtlHSyH6FbLng8Mj/WNQgLwrOi32838hi5vuU0VAkV2p7juvGbh + bLE3PDKVho7LuvPW9cGZjbg1K8EtYxYU0x/uxViXUtVEzn7rf1twOYvKmmj3Pui/KeGfAy7vKp9a + nDbX270wItSDDDTU1NxdS/EvvsB6e6aVygS6ubUHzeSLd9nd438fCSzAJzCioQi9IREULX4ryYX+ + F7LvupM75Di0EGZ5nazIrWuimOhipkFDfeqhvVhMGP6ZWxaENdafwZQnPEoTiUF3we6Th2h7z+YL + NDxsto4I0WgpUB8UpelKyCMPcIGxREN/DxE1TSUHjXssKRKAraFPcOuHkvWUNgLF9pP49H9/AiIm + We+Y22+Da2HWQkD0+7DO2pqye5LiyHwJuKu6qxCkukCqcAz3mjEJpddkiK4YIJ4UgTyCNed5i04U + wp+xAFL3VUxTZdu5A3zxscZ0HfG+ackeE4KkkRGAx49gk2iE6dLL6U2oDnkEhcX2/T37WA2uIiD/ + y3f9COX0pbCLebjS9mGIR4vyZS/PGLAKhn2fr40VOatLIeBHT5v64icH4JdF5Jr4fUXuPHdAaZq7 + ArjnRxpas8q1kFxhYq01krM2dPIV5H3CaQvmRd0QG7pwASlRompYI6zubrEaHS4NqFSJJ54h3J/i + tFF8QHyCIMOYy8iEkyQ3GXFhfSJ0Q6uwIkUPSuDCVBgLtSzU33VMpixSnyCZ7Th2RMq4Lb829Udu + 5MLO3CxnQE96zJKsnMzIZ7xogS836BQSeQ/p7HoKjzz26Xdtj8B+x1u6oZnJuyw9zhPtleTXcYoS + r+0obXV/xX0asGftxbSH2vbaO3fyiSVrS0QU8hZQ2GnSJTNDbTdEw4vXfkCPTZXqY0tvPOJkbzXW + JSLrTViM5hCx8dJntiSjpJl204I7GvHKDXD/+Q5XuHZJmRAQvNjMluE0n20Fd9y4cPSNUSY3Mp9f + USVwzmObExI4fnQj9o7kzOIaZ5D4QsaloRPF/nSzQ/MUveZWl2bb9Tb6ha5bRfUW1Q== headers: accept-ranges: bytes content-length: '4096' content-range: bytes 0-4095/32784 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D75973522B4BB0"' - last-modified: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT + etag: '"0x8DA4817FCFA947A"' + last-modified: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:53 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:09 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "idumcxwebio9/w9nmjV26VqtR5i5osTAfb4EoEodqpBXYzaa5gaM8g==", "Algorithm": "A256KW"}, + "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "7Nuz8XhQeMJre2f7C2Fz3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 - request: body: null headers: Accept: - application/xml If-Match: - - '"0x8D75973522B4BB0"' + - '"0x8DA4817FCFA947A"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT x-ms-range: - bytes=4080-32783 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 response: body: string: !!binary | - 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 headers: accept-ranges: bytes content-length: '28704' content-range: bytes 4080-32783/32784 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:52 GMT - etag: '"0x8D75973522B4BB0"' - last-modified: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:08 GMT + etag: '"0x8DA4817FCFA947A"' + last-modified: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:53 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:09 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "idumcxwebio9/w9nmjV26VqtR5i5osTAfb4EoEodqpBXYzaa5gaM8g==", "Algorithm": "A256KW"}, + "UVSBDSYsq2xDVO9VqdO57DVdkJ+cjuGOKTloqTzoZxQOXjWXS6oSww==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "7Nuz8XhQeMJre2f7C2Fz3g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "XhYpCgR8WaX0sXuNOWxiQw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer3ac31573/encryption_block_blob3ac31573 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer3ac31573/encryption_block_blob3ac31573 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_serial_upload_chunking_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_serial_upload_chunking_async.yaml index 213a42183c89..3726738a811b 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_serial_upload_chunking_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_serial_upload_chunking_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere73d1c80?restype=container response: @@ -15,945 +17,940 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT - etag: '"0x8D75973527D18CE"' - last-modified: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT + etag: '"0x8DA4817FD43234C"' + last-modified: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80?restype=container - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: +1bxeR62tOA= + x-ms-content-crc64: Po6q1c5v8U0= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D - request: body: !!binary | - 1lsUC1xQrzKkhoG6Pf5Fh7Huonf1sCHhwAPi5KmPW5uNZ/6DLhND2R7tj6rDnblRbCDohN3BlB+u - vuDnMsxgwfBSHLAKsFhhfNvLXqaJaFQsq7yx+oJzmm8jBlYBQNtXE9ZDnnr6hwPvxnfVnHqRUDee - jtdlWAiaOT9GM3MR5J1eYzRDzLrueeoCOFq3hG8S88AJT+u2B35s4BfaWEkqTFWiFDcqnJI+2D3g - bfib7H56tb67CZ3cq9Neaqv25+BR6HWJucD/tZJopluMl6U1McRLZo5sWF/ZHawQUB3ceOdaghXA - ZLTDbLQco3VJtAE5Fu+cCOtFjmSwJZ2PwbtJXTyurOnLOEOdHQaIdk5kZZpAcg4SvIwFlw5j+ADJ - MCiZYKLImUg6exaWTpKNA0BRkK8u9DvjMiHY5IZXTs83jioiDj8nMlvk9qOlOlLRQmePJQJacpvH - H9QjQz7JFM4PyLQc2uRW13FBx0MzVVCRuWu0eSPDjkCWL8oLvmqJA2fQ2pSIKVgjopY1SNKWRONS - 0TJE+9dTbo8nBNDgfs1SkB4X4vRwNEkG69ixT9DW6Icz7M9yKWOp8TDMWrgo0gchR3PInnWyJUvn - +y5EkzzhB//BGnKlEM+l+hC60kWv2chdqz7rteEOyDANvEbpDbXt4KpyApY+Bq3Zf9kKYV1XhpZv - PDnbcbFpGp7jE32Np78lIzMaQpYKdnAY8rrAM1TR06R+xRRGJjlaettpQpKwuRBWLHgvBUt3zazi - OITytx76KO5u0BSJMj0/DQRbWcyFveMIuFCKxiX8mG8/LQxgEg8bYzlEwGMJ3k+R7NwMCxWS5qmr - 8CWucbQdY8qo9ulroLsCzdrRWcCOFOimvzPNhsi5RONHBR2hyGwJSZShzjAZAIi9JsizItgTezha - ep5Lr/CZtecu9hJOAy1pVg5cLAGP91Akp9AOXAI+W9fowlDObLv4v5/5A5vUQd8Ie3FP+S6VTsU9 - nCeSOAKtUyFeG9RRof/JZ0k1D0SFmIvhl/qk0qCUdpxwzVyybHLysEattB37vVZ3kBIKupBp+RZm - VhHDhMn4D8mNXaIDa3OA22kLyk7Qls+OjoRt5iyb87LkgDdYn5Y8l9XJFJCcKGO+wDd5XZ+p6GAE - PFGx1JlE5xfT4gtzQ1CMk6pyBnQhgTktVIogi/+OOMgqBGPXpzKxTIREOTR0y5b+4fAhICZSFEhZ - azy5lYL1FbOCpti7Z3XTXsnSd6p8lV6Jiv1lslEY1qVH3btUplV6wFe7k5lrDBOlMS6C3dS/VFz3 - YVji9h37lfHcsFDUbtDacLIL4xBLc8HGkQ5ppvlbnz2St/zjHx6l6IaRZJrmX5TgXN42v8/PODUf - KikeFfIeLTZxI3hIUluu9FOs9rJEgY/8Hw9byiN3V1CGWsDS/VhxBS2ZrVgpkZFFCl0cKrfThWvs - EK32Ua4BK/bKmwkE7zAlIZXnIqLKVTUx5jPFPz8keUuUwrGX39S4dqcgRW9G1kALRijx8pgtBiWe - t4ufjn4/ZEJivwkjEU2NaMoSWbMgzQI1D9KIGkqnjNdmMNg90qCgPmUYaVKcqpPpYjBNgWHgJLNJ - YxnyUuMpPKDeEjvOlcfuvkVUGDiBAqwv0ZjQNn/ZaEA1ie3nNVsS1SAldqy70rUlk0+L4PWSe99F - KZF0PkyEmV3YAvJiKHoL9pUP424GaXjASbo3F/CVIB/hL3nNkP6BfdtqxYJ8j9F3z1dT2PXrfnyo - YdfS3P00c0P3zN86uB9j6eZi7d/R+0cREjAv5FupN0lF4yROwZHzWuFsEUuEuCiJ0Od0U8rt7Jln - 8FawkKppwcxOuNrheB6Db+afJX4XygSs+GQn2wQEcElR+lL91MgM/HHPUbxutFAE//RIdnoB9M+0 - ZmPJjW8SZNrSHWq2/rjtUIVdu334Qw+58N0BI0uo0jaimMh5Hip2fdMtsKfKiyj879CDzLFVyaTZ - cMV6JOupz1FRCjw+VObop28PRrcp8EzW/eDq7lHCbDDFy6BwODcqysOMdZIXLYOxxzsqjj9lNeFD - uPShCLOrMdbtyuGZyXV9nvf/ngpllHxuzcAJEFCEps0kNT7KUqOMouh4TfTQa2ccR5x18VOyeETe - Shjs1wrwPWFC42XVl/2Y8YGR4+2UMntpu069Pf3f8UrLffVs1QoUn3xvtIGG4QdXQ9Frk1+h6PFc - wKASfWV6/b0m8+2+T1OfFIi/MVc6XuO6CQjWrn6IaOiGW7Vzrq8VnHRehMy1J3YXqr+o81fCwTr8 - 8Xfa8zYZCGDJTts/Dyn4Z9YU8hLHNRMQDg/Al9N75uAr3rurN6OZ5ZuzpOPk4CaLRhTAtrdzYejN - vDjNA6tPP4b0uUBmMWPpAKl7XGITmb22URPUDn6UH+0/bYd7UdezJVuf73dSMaZR8S+mcLPvkq/n - vU7FwrTNtrUUn9S4o4d/lrp6sjLTAFV/USpl0/xFYRFxA7Dq391AuL0g1TzhWNS7/FVKKwYONHNG - PbRqd9AcO+2KidWIUYquq33wNFBcNmdYCyfEhF0xJZw+vkbKP3Kkkj6w5Vm6dJNuqAsRuAuX/3Tm - 6n3u/SkirMZYn98x8sOQyu6WKN1gZ6VM7d+7uvRMOIrPUVOcl/UUui37S9+ksx5XMrWydYxhVfwn - s5qbwxazFIx8PjIAM802Id8M2O8kJQLag48dVfksFCLxrOUEdVXRAwGLA6976+yMxT4EvEO82q3L - dmAqxj3JuoK082qtA/f/ddIQWaSMq9RTf7RVqlSMINiTrXXIvkpy3hMArefJJQ70AaP8GzKXryd0 - WP8OLvl2qP3uRecNfeOI2gljT89sre5DKMK+MvbcKEzxc9icYW6q3sffs0qwKPRS62ucW1J4oVrl - IVFttsVcAuEgvzbA/KYFMRsy1EnBO293HgLFK2zzlhG7dZywCU9CSHjOZdoAHN1ES8PWeVfl2IgB - adOsMRs26wfABj8OWXJQsHHDJwY+qABpOJ+XRG1fQ501ElEnBp2sdssXjahA4vBsFvGzRPMCMG6h - ZtPd6S/AIf7uLs3XaxyrpJWzUDrYpAjuZWRRIynZe2keGNLGdk7TDJClmB2AvqZpZ1c5cYHBCWH+ - uxYiJlRu0LRWylGGE8SWBUkG6VuZk/OLntidoAIFNCjLbf6G5e4pjtyUxMLSoTxQu+nJXMZMnJzl - 7VxMbEcTGRu7bQaT3EPeAv8EBZBDkFMxPSxbinbGUH15lhKYIbTPSTXCW0+tJ0vFOzlGEUCRA4I6 - i2iHLqle4kbm8Ydhs+LUTdnEFHnadZJqEhiTzxUjkkYwKKjLDUiULkx3WEBndEBnBjcdS2b5u6LO - 2NYT0lx6g47CKNAqZGpFa7dLrwJ4RfQn9aQA3DHXt1pMYWxbPXDQpLlHTw+8KVDtCb/MsdN4lLFq - uEDKbx94eO6FBedEgis3BzbGPohgbpwbHIQo1Ut9IuhNO2THO1Y0i+0CDX4kS/wQs8ALYc5AtWx8 - qGw1TuGgLqtwM5w6FsjtSrgJvPhLrQJ1VYdEMSru9oCaUrcXBSVB65edTVLf2n8JyJlgmDAoJ+7P - P5bv8KKl84dq36Nvb8/m1Wat/Sy3awtSYhmTWlJ06lCX+gnus6Ry2blSyVQGQCXpdGNVLQEmvJfI - 3+IDUXrUz7m5bcNS+j2P8+kONE6Ho9tEmRQG9jbS0+XilIdnNbQZ7FrFbhFb64vIzAuCP6WugfQd - Xhv2U9lbgkNhh1RBS+Uvoyirzhit01Um3EHs6v8VU3hMjjx3ddNCpK8LnswByFsqZi9ipIvzEtUU - AutByvsKfiP9e+2FMKutbacVcxL+gw8epdIDPpgLlI/gdULk4TLOifsoVVhZtLl9qxtPHgglfuRz - 6l53v5J4rgK0w2zZ4mN1+hNrBwtXUKbDp0eMj6AqJ929EknK7NpiQdkJ5+xsBauCbzvOlXjg4VT9 - WinEm/rHwowxWMJwE0N9vtpQSasY7YzGyDJcRIn+D17br1TfyeRG/KZP3ppuykf865VId/JWuJ+C - 3rSBEslQiXA7FrDMcKaV1I6iTX9HlExj02ft6wjFUsTclxQj/BENPwRDjxdVgR/UV4/2I/w5VfoP - JyV+wO7Po+IGcn7nHe600y0V0aG/GXQf28fDdj76kaI+PCGOjT49M+G9Utuak49w3+ZnxlUIkBJY - VqNadi0Aw12l/Xnl+STGLQ1pGMOvBowTHVj2yhlypmn9bMIinls0Qn2hjudGpHezr1K/vJkGZzWz - xF7kPgO0nrmOJFay6maEmOBH/pqSMSuGFs2gWihdmOSjGSnTk3fkipcEDAd1Qsg/a6eNM3KfNRvF - qgLH/oJnqpJcEBgjkLfKtRMSsQGLhrinrfUJf4VPlgnJgOnQHGKcM1jdVmnG1+g/XeFa0WycmnDA - MXLOX92kRu3xILcBm7w8ZgLT4Ep7roAbKVaxFKWR6lKiwQQxXHFqJgBQyOyNmBOp6qoUYmJYw/vG - HpioaicciGsxE4x9DzNOoyBS7uYk/2HK3YoN/c1X/TDkeJLlym2pQk9Co6B316+hHhKXv2s0zaqX - 4t7pIWmS6sdzpRFeZrS+/TKtu4QjJDmN5UkVi3OZGhICeCN4q5/4b/x1IeEaVJhVKjOnV09I6xXV - +5Cg71rpAgXq/xwFMMK0XAYJEtEHc+TvLgiVA7hWwBEupRYxGsB3dqnTGQL//iBiggPAx2dX6Cnc - vLu/NYF2m45v6j+z3PkbuRmNIWlM/vnLZfYo5X9aHNEPDfHHcy9mim9gnRfBXSSfj2AauLbWsZkL - lwwCZjzy8ML4+uCc5WDoxzo6Is4SuSC6OVOzH8NutTQKLq21iiXDtXqzxF7OyAiL6bTnPOAjkkW0 - 2uk4VSQ2xeVEVk+JxcZgLp1BoqHPSM9U6hrHc2O+OCueLJJIxJAGljl/1t/qej64RCHW2GTOMq1l - +cf2ZpzFzZR7sYY2ErVEkklXR0NuFyuBzf6ARrzYcdpie7fmQ3tmDahPMLpzR7W9bTK/7lHPOJXn - xK3mtUc1OzgK2ZnsRhum14BISQo6byQYPm0xKy8ln09Gc0txDqro3IibZxUzWo7uP17HLpFdn6zN - Z6k3j9Wh7bIvsP4ZVXQnR0k63l/ESHpu89yinaDM000T1t+lBNL+9SSO8JzDWg4y4zE9I86C0KXX - OgYfvYbcmXqOWRELSDOaejDxTt88NbHOQuli/jcF57EiKliKkzlmNRBIHNIOhxXfaVCeNrOGlJdu - LiKKvX7fCuZCAIXFQ6pl/9O3un82y7EM66baP478cNhGQYncC07adgk5vI/vVNm/fPyC3hH4C6Tm - wqAx0kXjHhipjxtnPs7NsMAGdYxDJAikqMT1y6I3mnBwrNZfh9r0ehSZCIED6EWT63GplDNCkoyL - YZKpPQ/U1xAu4g8q8VDh/pNFqDMT2GqZVDn5d+b06+H9HTL8JQRphwUkEBYtvcVCQQ== + /W/QQO5Nh72HLpuhZfDlYNllbB50Cl2jDQU5sPn7gVZDgHgomeklbx7lkvu4O7qi/EqOQN9CaFgH + fNw4uJpJ7NBMf3QqofeDLWRvNolCVVEvNL8fG41wIiue3+JFMPBcYyUrfG/OqG0kD1585PrcvkfA + IWCEAv9fJXY3DrBYk+zffAYlRdh4tTJ6X9Bq6Ym6Ef2XJZik4lFCjViplCUgt+XZEqJQq7tkPkUh + tmkYcCvHpAiObOjP+vm5HkD9Onk08qXnORA8Gizu9054gmPswtwJKRnmvICOgFIzwBvP6pqLM1vS + gNH0WvM9jOEngC56EWq8j7h5ow/TkiXYaYTyWa121TwoOoJumFRAxJKqbjH7n7++vTha/KkkTC0i + +VvtSp9wA497YRC6V9WAixFXlEBIDaZUqDyhuvMCIM9fLh0C6AtsEzszX9OjAlKWfKcClR1UW0Nu + f3YbdmldLfZHnjL+Si3Oug3YsO1sUnETwPBW4PV+BFd4WKt+QE+Sr3hAqZHCN/PjpgaKSiE9yWP4 + 9dKqT0YSX+wh3PuczrM7FGnprnF8y4o1jUcvp99jjXSenRf59RADDNB2mbJBi7lUiB71oAGLqbMC + PlgsP5MUdUToD3T4yC9NW3z8u1kLkmeSjdMOE9MUwt+wYWMivYI+kenpH+Bwh4YpNIV/E5LgQKa+ + oF76IRPzBdx0GorXt9wAyiyMkr8aZQUJqsEt84WxecuxHFz0PpHvozpIzTxo8g7JeGbqB2m+D4BZ + sCc6WS7aK1O1Ibj4zq0BH4Q1pR1cmyw3RGC9dMxdM/K/Wj9khuMA0tFIBRfIT65oeIjRMcFytMSP + 1SwoI66Q4F3K0dG6hUPW371wau6ytPxINhXqgYuQzA9vDg7N70VJLCnY14DmFX0GXbrLJaZ5VxYP + SH7r/qxEozRq+FthcfFgCaDq3gTs7SsSs9iu1uzL8YdH+ETmAP7wR/ufHTq2YXCLg5mJm0FC7XtW + FCZfiHnaeZwrh7jkCRWQYu0jxxVBJvxg3RQUXfI5yo54Ru4FSJ6Lk7gj2foudgxFlfwew54VBBpr + gYOT3zaG5hBb/pyK91dozGanDmC8aHVEcW26PVf73HUhqFpK7sTpdydDVvK0didVvtNWgP8Y105V + au2gb12r+lqR9xRQJQECzEHsWdJpPj6ZheYiP15KOHVKy8lsdKyMZLUNRwCLcXVySeMuok7YVWJM + aS5WNbPlbYRAwfvGVtMW9UpBtOum4yRTvivwPl9/I/LuO0HEhCXIqtwjkSsBsaecQ6qKUZtizpb6 + UeS9PEGfCAsWmzJedGeIj3jwPXC5XHziSluLHocG6aUpcKh65dWsX9OjpfSADd55O9Ph5mGd+t+G + 6Fzx5Bq8lpAchRzvwrKm/laHmg/5CGw/s3mGLgcKOWQYIfaMcV4HE55VXHeSiOe1gV+sUDkWh01S + Pkeit0gRytZklynBqdwEjgX/oHbQ7iERdk/ZkoOh+Iv/Tj/M0L0RxgvkuACbsZkvcuOVpJutNlEv + U1zKt4M+6ommX35SYPAjPkSQlfA6cDkSSs/45aj3XPy7aJwAMf+rX0qmCi585qqMrxmKDQVU+Na6 + RgV5ahFOaI0hJLvwfzBAbVFkjDywSeKquNaAcKfuS3+S/RPSxpzP9RWtkpgK6kVK+j0HNluWf+cP + zjzOF+7UvqB5/skMcm1v4+C+TaHDsXh/9Nj2C8lED12hyQvAzgAR19tCgIdT3VHuGcGEG0WDKqwR + 7bbOPxQ5GhRax4xYJSA3yWjlJ5oGrCCq+QhvXiiYAgz4FljWLMiVB1mzIZGnMxHalG7fjHJBT+ud + iLALaVarJFDNz1jH43QaGXPgeJXhiYvFdvQzYITwPROPb9eUs8bnAWugvgsXASpPyfY54VE5OIZJ + IgFsjf8FfR33bngqots4E9WwavNHJ6mRAMOHUB3hNEcKJdMOBCRhD4fqaWs/kcX0z9DrS0qmrK/s + ChmT5vB1axqrAF9Dz+t2+TNoCLhDSS50qdVaNafJnNd8S4Kz0L7Pj7znhZBa3TUrqnruenW56YFr + /zcDOdY3zie4EYBrmS70BKvBToF4sIt6HEuR4gtqNVp45MWznE+4r31FP6ZyjHXM+ZOvUAHO0fy1 + /2Yh3zue8SQfFPfc+q8F6gp6jcEvMBVefQu3A5Z06cVnK9cY+teX1y3WVqLbDqGv2nHAQPQGc9ip + s34lacVnexm0AZLgmZNyaa4NwVp3q/F1IyXqZZQeoUx6HcF057ocAi5r9IuTLhhOo1A+7jLNnVv+ + GBTi1PvUGbep6bkEKsMbuVLxMar5hnC5rmVu6cEfv+uvtDYgwuvf2FAdesoAPGZwkdhMjqEmnBN9 + ytwTb9LQQ8A+kLURWombWX02JHCtLPFDryvMZL7xXFx9ajDJhEb+RyIY6AHcoj3Xta7i7jIFrEev + dcTKuR4DvV9oZiJ+//xrAhvdT5AiFVOGPYwjEfRM2C3sJiwxcjB1ZcpP/RHUcWkGolQkhzLtCMzc + /zvj+Is2gnGBAJaMOn0QFpZXUJTMVZjKQSwRSk9pbIl2MaxU8WAOrE8Vmc3CNjK8vnt+jnStVvlP + ZJ31AViUFvARr0b2tY4SkyeDTcEto85fuylUEd70L9zj0RzHzW+INV+ln/DIMznZSvlnXt/+/zbd + CN3FhXH35VaWUqxAyjP7QDn6EI4+VBB1auBGH/3Ul8MqhHJbkGnuCSH8cOVYH8+3yk5zvA6WBGs3 + 1w4RYDsJJf4I7snArd949CH95uEKmMQxVoMi6s7aDEaWVRMWlnifqgEcCejTARgoYrui1WLK1Ew3 + Ae+0J/fEaq3rx6Z8Vv2dJ+jdCGm9ML3/Xp38qIrpo9EFDljX0UngUxxek5EWyg7vb1AxxNOS6nQk + ekYT1sULAYrBYlR2t/7BYZ7hqslvzqnLjnxRme6TVwPNor2grS4+NL9SiSJlxQN6Jq/xssQxX4iC + +FQYNis5u54VFfSYXc/tEalRi+EY5vlujhD6QwLmlrBG34fAq3g+99vtrR+WXo7/WC7zpD47kTfL + QoyudGNgLwGZTRYsNBmfEm6PaACEDRGKzcP/1ZmAgouxdXrqgQ7AU40nLjyAGpkW0iadGN58Bkcw + w9zOszAevuDeXV0+5rIg1GAXiq/w7Kz+oD/477wy4vKX9oCHxNU0cjdTCeolfZ0RbmSHkKF2H+t1 + ZCKa75yce43/Pl1as/jFuHa61NwKnf8BW8paq9Ea8QVlc021rKcGzAjKHturEImMGRvVUG7dtCyj + KGLWVruOCqc9RtHsvc+8voOwMPpyJydruaJWkzoltd5H3bNzeGvuqTknKw6Y1LIeq5u6FN2AOmny + NuZX1BV7GnyZm5+m5Sde9nOEqma+PX80ff9QXx2rU0PFaARLBh1C7J9ZcdRslBkcbDHoZlt22d5r + BmFQuBZFapcF/1aBeS2M8GYB3dIDuA8+Nu9d6nf0DCCdC5sJQ0wC+F0QNeKgdbkS7tMU7qbthByV + T/8r57+AG4EGgqNItruw6ggmuI5pwLZqUJjWWdB/hdltLZmpNJUg6PgjaQrXgBdWRTjQ+/WOPgyW + 14W0LA9eQPF6qu7PCAzuuvALDKTBBtZcNpdd7gPooYXLh4WxzkfEa54vA4SclI3k1+eniaZkwWyc + TpIduQB5BidI9fVuhVf+5GCb79sQVI0vU5V05zJLQsLjTAcWchhLohwK270iiRBa5myc+VUfJm23 + 19UJpQNYHDasb1daNRy9dDDOOXcNwUk94LTZT8IoTID92hhcgSa041XnT3I89+ilGy9HGMRef8eS + tPpAnql0gsAk18fAhLdk6YQ5XHKEeEt+z/LEy63qLeQWbNB9ec13BsII/34mlM6bfekUF32B0QtL + kkk+mO5amhC6qetuS5Vjl/DO5UopPhjPDShMbhygSn8B5z5NIPnaYTGYlrCzRMsfmpI3pLr5BjrP + cmu2JRGgApD68Z2SQncQ+ECWXt4oSkB1gDjDTXpVC0xif99Cas/OxTvckot/uDDcmhmnrZW13Ddy + ChIqP0v1zMBVt1koWWoXnjWRoOxvTbawMyS3w5RwWCK4qwYRKOPcaJYc1t0xQwKLOiZdCtjOzoAG + Lp38XyTdpL7MA3hp0VE3dgZQ7TASjeuiStX9xZ5kptNMp6iY9o0PmHrku1R0sjTPIkSWrOnYMmHd + tfgm4KH4w4DZBxvzJQAoyzEIYgMuwfFtI0gK9eUG6wl3kJCYoS1GMSOCn8TWTDjpIlR/Ueg6zh4S + OElNVxbsxYZKEpmotBNcV1oQOGCxxKa6+NBxW4hrgH0Ir5i4oAsO5T7r70gQ7+z4Lhffxwf66lq0 + WK+tnLwD10wI8e9COVTiM2YoZhR6+qCHHY6YQQlo7tf7yMbdvetya8Psb14vK7perD9qwhjxDTEl + fk45CT1pIpt4AOvXRhPRoSXlnjCctNBeqdkE0kJlpPjiei3AutnG5eDw7JkMZGIWKHP+8yAx4Rj/ + mbMlmknxqFgWjzvflBXau7kjP0nGS0plw/dqypkSrpznimtLwrPr/cq2PcK9dMjZeMC2Q2Lpl0OW + fU+5fW5u1AROCYqogj3W4VZp2+/F94MQ/RggL3yfrOEADv179nCQAvA2FELQr+/qQy+YvK4x/g+M + S0UT/DIxpRs5y1ZqBxdwxoBCK8lmJ6Sbscv5SjZoxcU9n5mczrDhbGuIo/QR8lTiW3ws77n8pf+B + L3joztVxPBFyuxayxQdhVUTOTo/oPn8GfPoBvaf8DlgIr+USqkYehhjQTqVTry2OShYqET+5OunL + JcZCNpFsQ2V4bgW9CxbjzNt5Ax/iHmxXeuHd8jkfmv6CaP+j7q2uBPhg9GcMSuztbEjB9+SRJMM9 + ez7pcDaLkgIDSk/dwe5ivt/cNCWMOmDOWkwbqFFNcWPNvPe7AqgUZRUEizgxv6oeSTRVkMsl1fGZ + Gjj3BZX6ikZEkpgl6QMvkMmr4oFbD68lNqJLuaH88ois4a0xDk58pu+Gv41o6ygoMne0kCAmnxwq + Nr9bSxYeELOdXxvdUpFV7zIoHkKU/VXnm5WjW7Najd5x2Iw7M6MwaVX5OcqjoEmyulWDI6ufIhD8 + hvBjAtyyvfjcanHHa/I186d18d90zxDYhdqnldMyK+aOTEvS+PJyPwhF0/v+yut+BjhcSfNWhdNy + 0mwcFcF1isG9pdC8i7LobI+mUw+2F11R5nG2xRwRU5tnkRdlOo+fzeqU/5BeGiK1MqUMDYXcEAlR + uDm20pi2c6JQq3DECx9B6NxVZG+DQNRJCURj679sOLBGvCLJdGv+it90uqJwmM+/5STx+dFfCj9i + MPd3q54oChGvaqTttvoGGFDqhbCtbu1etXvz16QU6Y8qznINBRU5hCXHxV8G74DWaiAUDjdoN0sq + AYDalawH/XLUV9kT+q31D1fiu9SOfOX7tkvjGV7Y1Fk5XWvnptdRfX8I4LGIgapKvg== headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:53 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: IeX9z0RuMVU= + x-ms-content-crc64: I6JTWwDv/Pk= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: KDeTFukZyz4= + x-ms-content-crc64: BBOxPJoDVcs= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 1G1O4SsoId8= + x-ms-content-crc64: Ie1pEOtaD0A= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 7UyleLY/+24= + x-ms-content-crc64: Qsdkzj2T/Xg= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: /3H0b17owWk= + x-ms-content-crc64: kFLtrODJ15Y= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: d97Jpgc5FhY= + x-ms-content-crc64: igdWWLTo/cI= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D - request: body: !!binary | - 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 headers: + Accept: + - application/xml Content-Length: - '4096' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: XFUq5BIzRLk= + x-ms-content-crc64: 1skH6rISo2E= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D - request: body: !!binary | - zwEGJSDTx4W5+GC5JsH/xA== + MSoiDPoVEa23K3DN2CuSSg== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT - uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D response: body: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: rPj/tTl3ryI= + x-ms-content-crc64: uUJMFFIF0xU= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D - request: body: ' TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==' headers: + Accept: + - application/xml Content-Length: - '791' Content-Type: - - application/xml; charset=utf-8 + - application/xml If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "7SMPh+V6+qSf+9EBw32iOKFXatogAB51dzMxL+9xdkxUxACLGWMMRg==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "mkEJuplEdzqKTnY9WDD2Pg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=blocklist response: @@ -961,698 +958,721 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D7597352D22FCD"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT + etag: '"0x8DA4817FD9B02C0"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: JrUyAGTFWYY= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - comp=blocklist - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80?comp=blocklist +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:10 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '32784' + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:09 GMT + etag: '"0x8DA4817FD9B02C0"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:10 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 response: body: string: !!binary | - 7GhRImyBGevb79VpihdjzUYITbGSjIoJoxebH5nTWOVudneqy1tzEqd1cKFU07M72KrrgDdwclr3 - 42NBJ8hytN/zZ4413o6xoJ/3WEXcVN1XcXutpL+y58GW2oCzxf2zhtK3fb9+92bOcRB0YWppTGFo - 2dm6YPqS+ePyKZnD+Xyc0Rs9r3+mvC+zvBvl3WTP94yBAlhabYaasPSMIcGJLauRUFFVchVQVNm0 - DApLQ5VlePbBJZaXFbPHJwKfp1nft95on3cVgFumSTQeI55iRsB8b6P2JyXWp9eXc975SkhHBAbE - xeoE0vun+I2LzrCL8Rkdx6HC1PYcfc1VwlqkKQEcfJ/zU8ALWbLfU+nOQZfVCY1laS7d/MYgHaCd - CvU7gOkSdljeqY/TbedttMcoSZVNsmSZSCfre+GqQc90c4szKqYP60+3vpiIOWVWjwuTML5jKVBZ - jnEUZLlnY9pTbMrVEru693ivX2HzkPyjvE5wlJEwoz813KJb4y4B9SBt40R3Q0FKMGrn5bq2vzlt - AlFRwVC1MIt4tXhSz0ueJ1JAAMWScd1oiuxXJOfFCURR8UUssqaEnRAr4SEf5Pqv/EoBVPbZUVZa - yQJAg5h27nsGIoAARSoUH955wtpwGImh0kdbvRkvXeKSHb6hx+2KTr1CgeNlsH5MlHaJM6vdNl8j - KdCMVSM66JYh7wlGpCJ8APiAzFEFv4bTToaurDCTWu8h+GzOrI4JI95ir1/sxjpXLj3T3li2J27e - tQGxF3E6kuZhX81Gi6wc7mLoVcVLDXr2tZ9KmgKQBjoo5a5hcPAPtIeCkpGetbcO3pwXhZ5xYQvV - Exj+qn8KwCmWiDo7e1qbbE6C4qqRXKCagynkfTtEzcvnzXljcQGcZ6IE7hFfeyfdFKEUhhviXEDN - kd4XZQt+4Qn87wB2pOJVvLZVR9u5LrRQSw8dvvgPZvVqx0s+D6MGp7CiEi0VhRLHT6ejI44AqKJv - jly8nVZ8c2GjNDyfHdgoLYXW9BFulauSoMsMusgwasIYbehmyMx2C/MGAM4CY351hwiQkOYd03tz - 1AqpBovF/xz2C16tk9bEM7vFUy7kRdYpwQv2bG+RCV9i12LzW4ez8qm6fov6cJ7H45wPmmHPzT6L - bntd0tY9EMy2qVR2VbcMCHvV7cPmNemQsLQnxR3oHFANT6Ui3iT+LnMWAhAvZj6r9sVsbojVA39R - FhE5pAQ8gjoG/QMmI6cnvqmfs4SYU44aZccB0lp68nvVUYK7mfIjncuvtaCfGWqc5OXQQg6bP/Fv - bPqvqUiU4k/QsXiu8r36zGEN0vOR92Dy0HLI/4a+24faAB6uE1cv2xN6GRlNycdbe8QIJ/hUDy3j - BU+Y3hK0HjhyyYmuJleMJYbxuF8pfs5Katj4+yiSMwKWgTXly8//4q/zInVS4nqBbd76aSypG2mM - zhw77lE10vINv3LV/67u0hq5mbXE4uQXUTcOqj/2R4DrY3axH6DHPcHHr9EaTEQtea/snqJrIFaT - z72PRU5IRvmq3fhqtj5GATuANG7cWSvdB1+A/Jm8E/U4eOM/IWcJ+VeqvVbhztkaDN9JDbnFSBbc - Wob2eMuDqLQ2og5UwoeZm2vfydjYXZeDYNSH73LiuWlEj8+/WHm0WD911IvMONr+GPm8kTYN67kB - Fq90ODbzsMnBGsP1uq7n8z4gV6K7fNyjaSQAIq4sg0nD+/txcnfDCI6lxbUwcskGLryk9KPopa6D - tyWlFhLPIfXNMkeEKlmnGnlv77OwrJB2rhP01tvLv9hgqEwiT1/ztJlxvZF3GV6CbgC5lKW5HO4/ - FxVfZoMA+n0yQoGgPhadPgjX1R9XVC5zeQJ7f3XwUxS6qYEn3bVDIo3wj3+rdezoGcKpcBenLREi - IGTEdelimkF3SAq6qI7qmONdGqWAGDX1H05/RgYm026s/nEeHjPpdqw/UwyMxiTfFjbHeu7EDzIS - i+MYQ3+NeK9wGvCJ/5QNlAaHcZmWJ4KsUPQDqi0QktVZ1ETTt2/Ob5BeswZzI4viDfdSiSjqLKzO - pKR7MMj401c93IuD59yCH+9/Lm8XXaiPwMxI7+Lx5Dh9ajb5IQ/0tvrreULhHzg2eFZwYKEhi5vX - fYtS6ZQpRRx5nWhJBB/ZO49H4fIcgI9HRQRO5K9EiRQmsb/xXWvdFQC7WkrvfWnKXFcMLkAqQHic - /tYx7VsdolJ06bLB7sXtZOyaKKYaljr0O7fKcCkC9qjsxc8IAseaSKpt7pHxxgIgSmSVrVTBZil1 - s0SXUmkCUn5VZICsKTzeZ459Z/lrZLTAt4R8BjkTpKI7uiGOFJUVyDAiC7RQ0D/SKHBsohPcJMRe - k2TswXLjn57/2BKbfFNGur8Ji4z1M8JsRuoUINj/gEqW95PqWP9BCw+mNjvnJwT/2jZtfzLEj/u7 - SvdWVWYv2BazEhEGA/6pvTCBMwNrAFXFYroiEHJn+zG+uqoIYfyhVypqXQ8Tv8UGF7HIB+BtNKYN - +6ho57XpV354XUkderQGgrzvfVpB9/LNi7IgA5FAL7xSnzhn4PzxNMBXok8RAbB8jYa4olgVET/J - rwGjh+yWBh0vfW0IH6t8OmaqBvXg7DPlRNsKLEEPydWlUUWNi9GR/0UyFVb+8cDQaBFnpmAAYfdB - nqr0vAtFvAzp8itRwUFyqcEX34Sp8YCNPlwlTt7oKwpUi9cBXQw/EbeQ006nWq9cdd4FhoeJy9PZ - qnPDERtkNc1BE9NpXA0q4uCjoG49hD3l6cGQ0RtVZXkg8hvJD5arW6/7ksRoPDnX020PTMyfOPmn - mI1y6Sp3sZlKy7UvxU3CRTF2hPxHy5+iQ5sfmogp5alWpCB1Ce8fGx4iISG2GLy62ylPDiNkmF1/ - rOLYGNvz6ZJiVeAHuGBgguhy19EeIB6b6ES31IMkZfOgglP/JpveH90hrXXY/9XBnkg/leOds9Sy - a/Z+usvXGd1GJGs7HR5wBIaB4FAKSyTBfQjhkeeU2lmLSl0SD8DRVyhiyeuY7Beb+l26yf+4eEe6 - RbHOoVUD5OLi56uKSjT+uOCW6Z803c/AAUvkYTsa1OQRcaaJ4mxXtcIs9IWLFbx9b195e7T2tbLz - wh9eWaRYNhINTxgJODycjtPYZ7h0naAozSNPqu8A/QqQExucNJyyky5fFA1W1rpZUzUO4hiYeZjQ - UFZr1CSGidfya5131h10WD+GB1cr4m+uZijvr45Jo8ohzbrwAw2NRex1CeqcXd3iPVEM+DHDL0XD - 4HQ4eYbSzY0gMNPErv2XMHrWc4kwqR5H4XnDS0IZ2iJFHSQiYA9qfe076e6pemhj77TwJsQ4WEU9 - a3lI6kCpYE1qG+2N8xOgoBLBKGHn9ao7D0PablKx0yNKOK4XkdEJF5Y2yK7cg3qiz3eQjMj6Sj+d - DcdV0uyUjTR8hzcanxWZpkvsGxijkiNZ2DCI6JeE4rU4ei3EMNLnr/87uOI4wPVIMsAh0JK/5BZg - DuNGwreF8Z0OXnD790MynQnu3KXYcESBjb6tx5SiMdtgHGlaFVxg2ympzlFJZgFd7FnotOXhXws7 - VYNCG1ZKI1lw+IgirdrpDNs/OZP/fW2cK40Z5+VEp1/+hLZa3ezdGZ8dW4tapZlzgWbdFAvdn7G9 - /IVC6GaBxD2RG+RNvP1SNKC+9VRj6WQ4/MwYXsGteH/Oh8+5/7CLv4QKp5agAQaTQJYq1teRlXRh - /1TBU1dWBLzQayKYDJHMU6OdOe50aO/T5ScdSnVG94HVuAI5hfAeaHCU+WwWDB+U7FKEHXeFmaUD - FwLeoLBFIuAoLebH4C0Cj6Evl0nTucTCxst99Cpv2u6BEjiFxPfc/Xi3g8h7mw8EcNiOKLca8Pgt - KC0HjvLGN5KptZH/0vsnX+ltWOMMaooAXzMGG5IQnvQdxEKvIFa1Upf7StNR/xRQlf11CaEViw6+ - E1J08+bEGHDKGLp7PudC03RKpnzikEsf6PnbRjeNlr0h7VM5ocuDdpAKCWNUFQ7Jtu4JTNYqt6dv - jH8+r46W8sz8uHYWFKz4/HbLy3D7b2NJGQDO9M/yn7D77hr3wPVvrpDudBqvE8+OQkeKcYilZ/hV - wiG4jKKZtYnROlEEcpbrxpxiQX9X7I/+rVK7mOAKeUhJ5ZWOBsTDD0fxR3/4SQUfMEfuWl2/uAIL - HyW6Pa/sygSZxjDHMBTY/CYDIOpuWiYxQ+XD2DINj+45dSpSDJiAf5Dn5nYSRmgwPSEVcgry4sFo - HIlE02HHEiDAkrikReB8SMn2osmQwK9Sm6dZSojlFaf+zChM/hro1LuF0TGkg2lz7EqebzaKSIKD - Xcxp+heq78o2+Kb92AmwFgr4xq7lYlNpXP5yCmsxWaGrKHaOfMEIWnrqElRk8UHfvER6RTYyMQQL - etQTmMLmTFjymhmkv5uPdVCGU5KfOEdKSQIVFmXWCYXMYo9smxus4vcuTJ0X0jG8kibCNQ0Tt5ON - jHPkWuNYPLqxAEHBRlZit1fxAx0sM5L9J8K0X0iJ2OmbJJcZmuXaCACztXsD+9cmO4sSyFBSqiSZ - jtDqKFooNC/qM4Ll0+6yB/RQxVmZGx3N60swKfOZ1/afVh0fU0ReXwQwyTqtgVlWjiYqPjIVoCrb - HnzVCZ/h3o6Oy3UC5nQfEh6yY7JbBHnRPcpoINMPRJEGF/Fu466mVtlpRXHei8GE6xSHA4IFzeGE - Z0mqlPs/Db5J4gCpf4TNMMk/C9J/N2ZZalWJAY4pj4zKljZcO7+1D6+x3gVPZUusWJwQy1xRbTlG - 6YCxDurDIC6kVK8i7CuIHfoEE0ssgD48PoIGQhbGBqKFc+tBEzRXxALFXq1gZFSMMGq4vh90vhL8 - ZL5VuirjW5FrItgNNW1UMkiqYlLOkqPfcUI8DTUMxDcypV9/HbSe+qiCd3RugMN4Hiz6lgH4g3z6 - CycaGtS265UbZALaWv+YcJJOpuo9sqXtzYuGyDNb06TLcvOIOTcOyP8WZS+e+JqsrVUdy9ZFS47W - FdmNnLHCj3vvous/RJukxzeoalh0UrKfj6M+r44+S1loT33bvukMgOg/WS/edbVY4GGHcrXTQfh0 - 7AVmJxeUzAhdpXKonoHjHCaaMv/abt5oCgzuTRivRRMAv3yGl4bU7T2WPcK4s7EPALO+MSIx0W9j - fKOR8pwwIyBB2gjreqHiPW5VvNC67Pa4iDCb6Yeog+ItP+/0U1NPCnPURf7vwMY2s3qPuaVOoafd - G4IQAADG731o4FZY5Ydwu0sbUSRb3C24I8QcdGvv4qFIgdtTfZnGlhkxcr8seotyDn5JIBXrX3Bj - OQaWYVmY+y9ozgpoC63Rpqf1VJs7K/VuP+v7Z5xXTyNMRQBxLmlw9pVyX6JcETrgp01E0rQlfNXV - pOTzcHK1NdEGu41JLgw8Za7Ve2l/VMDydnrcvs56rnYpVGAw1zwW5GebwufZ76Xnzw== + 8P15djCGzEc6WBqob+VHoDIzVeHWkQ9B4HFseDocddGUb3AX2FQGk+nZs8yUpkSL+f5iqcw8ytJw + r0najKZDD3b5STctTHkjvOa9sD5eejJZ0F0Nsq+xqLWPfvZwS4fHkpb8VwrvlsEpesoe/Uta2V05 + F+MMhuNIKfQXvXLntic03rNNdtvaOWv9crIkfb9JG+wZzJANXRvUHZHHQpIKs7NKxV5I+3CYV3x4 + HP5Z/aZ29xTkElPPVdH/SXQH0sGbUfCdNfRGgvJu/nhkkhhM0kKYAwh0wAfbJXAbXspxRe79Zvov + adpCiTn1wYZ8IA/QNv6wHs/Wt22qQX+dADbYUJ9+1JJx9xeyW3Xf03FUD7INDdGLiy0bpMg3GVM/ + yoy3DDbpNr/kq0OYsocDAPwLF8R8EMi6d+sbBtEqGn1jZ6diMQe7U+V/AUBr+/IMsK+wImaGQoXs + TZrkMgUZLt0GTgi45xrHPOPvofA1P1gc6Iord/OBk/chLZdCKieYunJCy1yN2sE3ENTTZGV5c7XX + QVdW+PzfU+fmF7RZwCZK16jF+w9dDrd/iB+19ToAtuUtmyuglw1HuMVZGp5PXe0tmFKUX0uBQicj + y7oG2e/MPEgcyXKTDZzPU9SyHr1b3weasIWWUOvyS3awF3YnuJfhvpP0h7vAWuzqCykvlSfCch7w + R98IosdwbC4CF1n5xMVe5YGw5/GxLWHIjFC3Vm38Z5WlINUUtqMJil/PxF6X3PcYBxeQHzY8LEK8 + ucO1cb7jIzz9rpZvF8ltap19osFsTng3Q823IuaJgm2OfaGmNwlUmmx2ifQ8JVjNJDFFD3hhFWL2 + vSbHe1Y3uj6i1vDbLSlgCcM83OTOkipvvZ8RGEoN9gphAR3OryEA4+PCG6yEiLKRYzcDToptmzb1 + +Q3leAO+qN18RPalWExQ2FId9GeusS1EymLMw0drY8FlNiM+BJTrPP9yJZ5/bLH6k6SZqsIfbGp0 + /d4DCBKktabjHRGluLfMvYLbVB1xtYKlE3o9Ac48zUTllgvbtJp85d4ODU/7ntGUbY0I65UgImiE + Ki9Df2G4E+/R1AIv86Sb2uZ8LWQ/s+kZUVZsVuS9ZIekrC+907RxWmFqOM6U1GAUmsRvYKmKF1KV + TvpScth+GuBLHflaIi9K1y8792C2ixvzsYohTuYsjiOSkxakry321piLFxw9v2Z96Aglrp2XwXfd + v900kKf0Ad+FBGXmNQMJXUbn/wo/Nvx0wJ5RaiRidqDPxcMILTCfxgn0lP6DXUgE/oMJ56emm4Wy + dnOFot3ukbdoYeE34VFHfoWEaqteFwW2Gi+otf0ignBdlJ3g+HfIrgl00+OzqeHSo6THxMAbZ1qj + Dnm7k5FUTGxVSYrJk3pvFmaljMAyeYUuLROMJQhxSBZBBgWlzJoFBz5eN/RTRLZh1c9tM3apGR+H + 840lVYXHl3oqWMBmVKdi2ZFwv6DVs7MRfHMLUwUOe8kXOB26g8kkCTkrRSPv7YrIS3hCC+ern8gR + yertb1u94f7r4X/9dwRMhgMMWtt8DRSQnevNUIL6sc/Kkt/Ue6rFwMKm3DMArX9v3JNzSU+Uy2oC + XUaGbhyphGc77jEK94OfcTLj6MQYBr+qlkVKRiidT9WYALfH5/GJxSn+YQDzrG5w8QxQ9R0N8TOX + bHEzjM56t4eTSRrML2F6IbTCLBrAKlsew1U5XD23mCn7OdjCrld2g8sgFqgUc91pSR+uou5/7R6v + QzdFG3WthRT8Z3o+cS1zWJuLG8E242CJHg5IvYVlbnEh/9IKh4Y2wxIZ2aW82bEURLbhyxFr4gP4 + dvghA7oue3x47naCJCxF0PLVcNwyno+rz9ofqI31c3lFtua2JRih4aHFZG+ql1O4zZyuDeB9NqSS + KXEmTuydBCvRopPspNouponYRQLgJHv7jLuOQO7Jh6/dyPdU+c4P6sYbtae5LGCIgOzDF2LDWwYx + 2nHr5SGw/AZqi6gi0qjdvO5siz6Ec+crsJM3/WRiHCsD/EDrvuSipUt3uvB4kL3PpcNV8MmqTYKk + 28ABbG07PBBhZQNssdR4we50Ip2EojkrDiWHkoQur05FB6KW9FL2mXY4+5DeBs9x9auQalI8IKX1 + mX6/5H85nlpX0Yp2wqLvNKtUgfke6XT4MO/wDgvrnYlkGVJ/OUF8vsoo6ojW1jme5c5pASZm5vLf + JnrbQu2KMbxMsyDOSl2I7CzOcwy2khmYyL3x2UkpdwRXkLV0treHEs21tsgWH1iPi5vkCi1VF3RN + 8EfLtRPlQGlVriyOf7taxycjZueDKhMtILXFUEqlUlKvur67sAsxDOCSYlD7wB5nX2pkszQnkfqE + WjD7LQojKeLitmbqmaUnx15ky7BB/Og3UTAQVcKl5TcyXhzZjSWibWBm01Z3kFQovT/IHvND48+N + X2gDZ4qu+v41i2a2IsS+LzmcNh+8M8F3Ld7GXRWeO/zADjQ+r/Oskt6QSMizaXa5wbg2Xyn+1Vf6 + q1PGBR87S++0oeBc0SE9KP4WVpxRt5Agnu9QyrIsBH+PWt+P14Xtf+P/cz5KG7D5yGwjanFo/8b6 + cYn3FHJ7n2VUbCE288CH4zvuJKFpF31ua9H/vvVYeLnQkiqClVYm4w7ni115IjqjJnavcS3NhvdI + KiIDsgXah1N2MW4pEqyS/8NIqwVHICTsDD8GOSn4vtII/Hy3z6zutCfGt3n4O9pIo6H49Ctul1wb + PPoPWGJMAHKgbCBRZpR3SHqAbkdPSeywfbX5z0CClDgiRB+d9QlR3e4zNc0ob+HzYyyL8791Qziv + yKZgc5QftPFBiDFAqf8QnkQNCZQvyDYzr0kLG4MPsfOrd43gJqcADOl7Tpz22R9h6Zt7AoW1o6pe + kcoXa3FYPqXhcANyuwKDQC/xNBQuN5Efn9sie2nJvAwndYRUGj3BlgYmVIfkqPt125/y/VsNf6aq + wO/aKjwmYJhETsukcaN+bUrzTX4ge/v0pu23jZvw4odOttMrHS26YbjdkayAtp3zNA0fejC8hnrV + +lgNj6sTu6nbc4fD5GxBmvBjYI5ipZS+y6eaAKUPqv3yJB9RAI7iTkqM0+JxuJB6jjSbfYaWKzPR + OmbpJiLP1JdYhS8tt2PO5TSkGXhli3Otct5qVfq12j7MwXADcqB1PivS5eoqnwQfmpf3aHMj1smM + UNVSqjClSGMeEBuGb1xpStSH+5C+yx7Re1i18bzYigDphVEEJQsT34W9hVhxYsVDmPw1foJV0eic + eX7TA0FsZROrTXGcXh+4/Ie4crLdpYQNc6ZDqVuICZcjjr8VIKPcozBx80LFQzqqJRtJ1bywk/yF + cVqDSwHvJJG0yq6ohdoywDYNughdrya211KjjzxIU7ZunmBiVwuFFACHAMXlvwiv88NO47NND/e/ + 6iVFbovaFxUjWmk4zrl7ty7OPmvxEdocSHbFwuAl76aziltSymBsas4nyR55N05/tPBYKQXxM1P9 + Nvm9HCX0G5DxucZthk9NNkG9OW6SNG4+3RknPqhbeyDCqmcek59Y7/Tu7LQhRcmE//VDF8MZ26ED + Sx3cgE32cQl3XbNQHaHF/liM3aipBDWW+bYEmaa4oRuhYNAPjkSpXSQKPhpfFwejL7eUUUKDSRZY + wr1LZbN0YHu3AUDv37VpevzkyrgZ0QdnKnLJZPF/KkzmZHKtzlilYGdFlJkmHjOr/ba/k4vMROMJ + 8wFCwmIbtWhnuBq3numOW+2NJ7pbslmGalkRmOA9z8DAHl6JspNw+3zZJSnY9rk+lUXUKY3u7DDY + raVFeRGf3wTWsZJiok36gilrB2xUug8FIAUMe2c4zhzF+cw+GR/SyH8QocpVcgKaLnxvWYhJdvLB + iztVOUy351JgUJVFzY+kTEjvgHLT7iawgkhmYV+iEn3d44nKbeEnYg/S8ZZ/uLGMM8A0VXoMW6Ag + zqWcEUsl2b1Mbriadc1dsq+1c8Dnll0AZng8FPx3/Zreo0Aux3i+x+Bv0h3LqjZYQfFuRnl2fyuV + bAAOykc0h692te3MOEo3pwhumZfBH504A6PtVla7JaWtm5YUZPrhHevbZtAIBxuFXULme/4l8a4a + mQNZ7hk6C10UeW8+vlXfci1NKEdwSrwn9yt9C7blcJVGx19eoBFNKIvk7wUKXYNVM8WUmL9UWQIJ + IgkdyvR5PvxkDGlUdNfBEWjBOyAuAmGR8S8t91nR/gtob76wQWy007L6Kj8+KT9VgEzTH38AjGsh + qNue0rwV14Kx8ylzExCSIZuSIW/yA3VYG5CB/7lzVAj5Ndf2RhbsP009Q9za96msmNCcAWhtxm+e + HLy0cF8++RxsH9d9Y0irpAd6l0m+OznOPRhWAoipO8cTFt+yZV70l2IB//8uWSpsbDUWIbn7if43 + PNSL7K6bDgAqlpulL7cEZpIefWwhOD3t07fjOvUcDCdI+ED1+11biPZwNJftaE1SMgEJ4igmeZaV + pe04quZ6/NYcvOQQjTIez6CWO/1XFKONZShiBVGO1Tt46yy9F/CGPL42GUfSkKBlUkGGzSAVjAZI + 95G/GuiJIf8Zpdv+gLGEGhBdPci7aZ3glG5jqlAaTboQBm+xw73f3HqKv6wOnAerFmbm0WoXqb2h + CaBXS0PVfNtx3MJ2tHmgNTVWhyf1LQISFdUq7Ox7lc/H1hrLGGgF+t5/2ZkD834n1n8ici9RXaXf + Ex0EMqoghhgmNCLCTNauJyjH4J75fHNrpHRoCzq85EmHjtmtMP9Jjdt8IXKP9dMedFSvFzhQvTfV + dCkJficL+CPuYitYOey/lJZmhv1vpcYxHFNRrgC+bHz6yA7hcZquG4yXdU3ehNg7MPpthzsW4tK8 + ktRl+FF/JrE1sID6NTuAxteY2zCAdcjmGkA250xK+kfe96KGFhR0PehhpV+gEPostKkHjpUnATTI + 5koW3qZp8hKva5kGHtI4sdtcT12ycICJmW/gABJcUbGeQIjLwMYwNrQcUz7dv8+0Bm8T3jATJ1nt + ecFZSiE54JWmGo+TeHhWJPcDHVsPX7srGLNly7NCzlbA6iR2m2a9sgz8gZ0lDeBuo6nbWtCF57GG + 1Az4MEldSAUpngyIuc8nMJjvCSnMEefuahot+/hlaDCfQ9YwEY5bF+JOX22GUfOQLfOmoLzoaVQO + bqVlgfTwyoQGQsMgT7m67DhhcHXuP3cwY+4goPcTk6zIX7PT4D5xgTL5WbLs80TM//TwQNAreLOl + +FtdrhnG9K2SGA1kQ3QxFg1giAHCZr9T1Ekq7jRS7sR1laMPfclA/RzJHjsMtWAtCOX+qaEQ3z3o + 1RWKncorN14YB7H4Rci3h//7k4+0TowT3XvJqLy4jd1QmPXZF0qy2GrL1fqPdyxdHLtrHSX2CQ+8 + I2sTWp2xthciTagtuRYv59tSgo7yVtIUqNET9goMAyn7GJbc9GjAL+93GZfUfF+tXQ== headers: accept-ranges: bytes content-length: '4096' content-range: bytes 0-4095/32784 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D7597352D22FCD"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT + etag: '"0x8DA4817FD9B02C0"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:54 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:10 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "7SMPh+V6+qSf+9EBw32iOKFXatogAB51dzMxL+9xdkxUxACLGWMMRg==", "Algorithm": "A256KW"}, + "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "mkEJuplEdzqKTnY9WDD2Pg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 - request: body: null headers: Accept: - application/xml If-Match: - - '"0x8D7597352D22FCD"' + - '"0x8DA4817FD9B02C0"' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-range: - bytes=4080-32783 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 response: body: string: !!binary | - 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 headers: accept-ranges: bytes content-length: '28704' content-range: bytes 4080-32783/32784 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D7597352D22FCD"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:09 GMT + etag: '"0x8DA4817FD9B02C0"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:54 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:10 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "7SMPh+V6+qSf+9EBw32iOKFXatogAB51dzMxL+9xdkxUxACLGWMMRg==", "Algorithm": "A256KW"}, + "KpVUyvHvCc5vdu2BOE+gM7HrV1umI/6s8rfmYI+9OTfDnvm5CfqbGw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "mkEJuplEdzqKTnY9WDD2Pg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "not+jttRUbrVgA4lil9+Gw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainere73d1c80/encryption_block_blobe73d1c80 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainere73d1c80/encryption_block_blobe73d1c80 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_strict_mode_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_strict_mode_async.yaml index d03ed9d7411f..a5d7d183712d 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_strict_mode_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_blob_strict_mode_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerc5971803?restype=container response: @@ -15,20 +17,13 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:53 GMT - etag: '"0x8D7597353092884"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:10 GMT + etag: '"0x8DA4817FDDBB432"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainerc5971803 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainerc5971803?restype=container version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_block_blob_single_shot_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_block_blob_single_shot_async.yaml index dd57467803a9..b687231698a5 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_block_blob_single_shot_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_put_block_blob_single_shot_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:54 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer5c3d1a6f?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D7597353356E57"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:10 GMT + etag: '"0x8DA4817FE00758B"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer5c3d1a6f - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5c3d1a6f?restype=container - request: body: !!binary | - 9UHOccxNwR/pyUlu7t9sWw== + GA+Z/7li3ZDYXI4nQqQFGA== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:55 GMT + - Mon, 06 Jun 2022 23:55:10 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "nCTY9txuUYPxTQIn7GZvovRJLj9y/4BWS/fgeeV7FI20S8MWg5pbfw==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "hL66HJguw17cVNQqtTekItcc+YVCwRssHFgjRbSsn1MFRqutenSBbw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "ifrRWqBzdkP1rugIBqp+VA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "Vr4MQmI0OiIUMFdWh62B+w==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f response: @@ -61,74 +58,104 @@ interactions: string: '' headers: content-length: '0' - content-md5: EXqElokPJWXP8lIjsx+hLw== - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D75973533EC000"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + content-md5: Dupn+XTuCPvOu6eyhsOSkA== + date: Mon, 06 Jun 2022 23:55:10 GMT + etag: '"0x8DA4817FE0A2F00"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: 8JjbqtDHAPw= + x-ms-content-crc64: Ie2yyBf0j2g= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Mon, 06 Jun 2022 23:55:10 GMT + x-ms-version: + - '2021-06-08' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '16' + content-md5: Dupn+XTuCPvOu6eyhsOSkA== + content-type: application/octet-stream + date: Mon, 06 Jun 2022 23:55:10 GMT + etag: '"0x8DA4817FE0A2F00"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Mon, 06 Jun 2022 23:55:10 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "hL66HJguw17cVNQqtTekItcc+YVCwRssHFgjRbSsn1MFRqutenSBbw==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "ContentEncryptionIV": "Vr4MQmI0OiIUMFdWh62B+w==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-06-08' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:55 GMT + - Mon, 06 Jun 2022 23:55:11 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f response: body: string: !!binary | - 9UHOccxNwR/pyUlu7t9sWw== + GA+Z/7li3ZDYXI4nQqQFGA== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D75973533EC000"' - last-modified: Fri, 25 Oct 2019 17:46:54 GMT + date: Mon, 06 Jun 2022 23:55:10 GMT + etag: '"0x8DA4817FE0A2F00"' + last-modified: Mon, 06 Jun 2022 23:55:10 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: EXqElokPJWXP8lIjsx+hLw== + vary: Origin + x-ms-blob-content-md5: Dupn+XTuCPvOu6eyhsOSkA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:54 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:10 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "nCTY9txuUYPxTQIn7GZvovRJLj9y/4BWS/fgeeV7FI20S8MWg5pbfw==", "Algorithm": "A256KW"}, + "hL66HJguw17cVNQqtTekItcc+YVCwRssHFgjRbSsn1MFRqutenSBbw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "ifrRWqBzdkP1rugIBqp+VA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "Vr4MQmI0OiIUMFdWh62B+w==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontainer5c3d1a6f/encryption_block_blob5c3d1a6f version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_validate_encryption_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_validate_encryption_async.yaml index 953958c0edef..d67ed886c0b4 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_validate_encryption_async.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_async.test_validate_encryption_async.yaml @@ -2,12 +2,14 @@ interactions: - request: body: null headers: + Accept: + - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:55 GMT + - Mon, 06 Jun 2022 23:55:11 GMT x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontaineraca917a4?restype=container response: @@ -15,26 +17,21 @@ interactions: string: '' headers: content-length: '0' - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D7597353631504"' - last-modified: Fri, 25 Oct 2019 17:46:55 GMT + date: Mon, 06 Jun 2022 23:55:11 GMT + etag: '"0x8DA4817FE3E2721"' + last-modified: Mon, 06 Jun 2022 23:55:11 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraca917a4 - - restype=container - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraca917a4?restype=container - request: body: !!binary | - pob6xfP0xrZ1vwR3TePOxQ== + kuWLKj9TEy8fy3FHNqWdWQ== headers: + Accept: + - application/xml Content-Length: - '16' Content-Type: @@ -42,18 +39,18 @@ interactions: If-None-Match: - '*' User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Fri, 25 Oct 2019 17:46:55 GMT + - Mon, 06 Jun 2022 23:55:11 GMT x-ms-meta-encryptiondata: - - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "d/h1KYBeW+kpApT7voN6PV7l8zVqQPkTDPShGWI5XOFNINuwHqP7HQ==", + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "JWNNHwwFiGCXt18uc0xqUtewrriX+mgPEryO1fkn2IQ9i619kAytRA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "lkoY1UNFiUvbXzrsTuUddQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "AES_CBC_256"}, "ContentEncryptionIV": "AIjAASvcsiMLFS+d+snAjA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-version: - - '2019-02-02' + - '2021-06-08' method: PUT uri: https://storagename.blob.core.windows.net/utcontaineraca917a4/encryption_block_blobaca917a4 response: @@ -61,74 +58,61 @@ interactions: string: '' headers: content-length: '0' - content-md5: vgQezzIngLMuOE5bTKRsxw== - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D75973536BCB3A"' - last-modified: Fri, 25 Oct 2019 17:46:55 GMT + content-md5: OQNrT16w6OPZrhcXAL74ZA== + date: Mon, 06 Jun 2022 23:55:11 GMT + etag: '"0x8DA4817FE4DE4DA"' + last-modified: Mon, 06 Jun 2022 23:55:11 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: E9Pz30i0xM4= + x-ms-content-crc64: MC643Bdb9pk= x-ms-request-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 201 message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraca917a4/encryption_block_blobaca917a4 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraca917a4/encryption_block_blobaca917a4 - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-blob/12.0.0b5 Python/3.6.3 (Windows-10-10.0.18362-SP0) + - azsdk-python-storage-blob/12.12.1 Python/3.10.4 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 25 Oct 2019 17:46:55 GMT + - Mon, 06 Jun 2022 23:55:11 GMT x-ms-range: - bytes=0-4095 x-ms-version: - - '2019-02-02' + - '2021-06-08' method: GET uri: https://storagename.blob.core.windows.net/utcontaineraca917a4/encryption_block_blobaca917a4 response: body: string: !!binary | - pob6xfP0xrZ1vwR3TePOxQ== + kuWLKj9TEy8fy3FHNqWdWQ== headers: accept-ranges: bytes content-length: '16' content-range: bytes 0-15/16 content-type: application/octet-stream - date: Fri, 25 Oct 2019 17:46:54 GMT - etag: '"0x8D75973536BCB3A"' - last-modified: Fri, 25 Oct 2019 17:46:55 GMT + date: Mon, 06 Jun 2022 23:55:11 GMT + etag: '"0x8DA4817FE4DE4DA"' + last-modified: Mon, 06 Jun 2022 23:55:11 GMT server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-blob-content-md5: vgQezzIngLMuOE5bTKRsxw== + vary: Origin + x-ms-blob-content-md5: OQNrT16w6OPZrhcXAL74ZA== x-ms-blob-type: BlockBlob - x-ms-creation-time: Fri, 25 Oct 2019 17:46:55 GMT + x-ms-creation-time: Mon, 06 Jun 2022 23:55:11 GMT x-ms-lease-state: available x-ms-lease-status: unlocked x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": - "d/h1KYBeW+kpApT7voN6PV7l8zVqQPkTDPShGWI5XOFNINuwHqP7HQ==", "Algorithm": "A256KW"}, + "JWNNHwwFiGCXt18uc0xqUtewrriX+mgPEryO1fkn2IQ9i619kAytRA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, - "ContentEncryptionIV": "lkoY1UNFiUvbXzrsTuUddQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b5"}, "EncryptionMode": "FullBlob"}' + "ContentEncryptionIV": "AIjAASvcsiMLFS+d+snAjA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.12.1"}, "EncryptionMode": "FullBlob"}' x-ms-server-encrypted: 'true' - x-ms-version: '2019-02-02' + x-ms-version: '2021-06-08' status: code: 206 message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pyacrstoragehddhigausowa.blob.core.windows.net - - /utcontaineraca917a4/encryption_block_blobaca917a4 - - '' - - '' + url: https://jalauzoncanary.blob.core.windows.net/utcontaineraca917a4/encryption_block_blobaca917a4 version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_decryption_on_non_encrypted_blob.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_decryption_on_non_encrypted_blob.yaml new file mode 100644 index 000000000000..1b03fa0828ab --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_decryption_on_non_encrypted_blob.yaml @@ -0,0 +1,320 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:18 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer82b190f?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:18 GMT + etag: + - '"0x8DA4E5FCCC63995"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: Hello World Not Encrypted! + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer82b190f/encryptionv2_blob82b190f + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - o87WgihooSvxgQmgMUvigg== + date: + - Tue, 14 Jun 2022 23:44:18 GMT + etag: + - '"0x8DA4E5FCCD239AD"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - Uo3ZNCShFc8= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer82b190f/encryptionv2_blob82b190f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '26' + content-md5: + - o87WgihooSvxgQmgMUvigg== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:18 GMT + etag: + - '"0x8DA4E5FCCD239AD"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer82b190f/encryptionv2_blob82b190f + response: + body: + string: Hello World Not Encrypted! + headers: + accept-ranges: + - bytes + content-length: + - '26' + content-range: + - bytes 0-25/26 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:18 GMT + etag: + - '"0x8DA4E5FCCD239AD"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - o87WgihooSvxgQmgMUvigg== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer82b190f/encryptionv2_blob82b190f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '26' + content-md5: + - o87WgihooSvxgQmgMUvigg== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:18 GMT + etag: + - '"0x8DA4E5FCCD239AD"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer82b190f/encryptionv2_blob82b190f + response: + body: + string: Hello World Not Encrypted! + headers: + accept-ranges: + - bytes + content-length: + - '26' + content-range: + - bytes 0-25/26 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:19 GMT + etag: + - '"0x8DA4E5FCCD239AD"' + last-modified: + - Tue, 14 Jun 2022 23:44:19 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - o87WgihooSvxgQmgMUvigg== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:19 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek.yaml new file mode 100644 index 000000000000..02b60c29157a --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:53 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer843e11a2?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:53 GMT + etag: + - '"0x8DA4E5FBDF0D2CC"' + last-modified: + - Tue, 14 Jun 2022 23:43:54 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAIThwmf2hnlp92mEhnyQTSkJOg7L9HidSVpqxmsjR/KUMsEck3dc= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:43:54 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "StUKBMzefjouYzxcRfaVH+duTL0eWsAhosO6THuGD2RScl64MxPm6rnm0MKZ9Ja7", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer843e11a2/encryptionv2_blob843e11a2 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - xX8LLIvuFRZLqJGbptKsmA== + date: + - Tue, 14 Jun 2022 23:43:53 GMT + etag: + - '"0x8DA4E5FBDFE072F"' + last-modified: + - Tue, 14 Jun 2022 23:43:54 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - /FEk4tMigBo= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:54 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer843e11a2/encryptionv2_blob843e11a2 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - xX8LLIvuFRZLqJGbptKsmA== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:53 GMT + etag: + - '"0x8DA4E5FBDFE072F"' + last-modified: + - Tue, 14 Jun 2022 23:43:54 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:54 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "StUKBMzefjouYzxcRfaVH+duTL0eWsAhosO6THuGD2RScl64MxPm6rnm0MKZ9Ja7", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:54 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer843e11a2/encryptionv2_blob843e11a2 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAIThwmf2hnlp92mEhnyQTSkJOg7L9HidSVpqxmsjR/KUMsEck3dc= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:53 GMT + etag: + - '"0x8DA4E5FBDFE072F"' + last-modified: + - Tue, 14 Jun 2022 23:43:54 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - xX8LLIvuFRZLqJGbptKsmA== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:54 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "StUKBMzefjouYzxcRfaVH+duTL0eWsAhosO6THuGD2RScl64MxPm6rnm0MKZ9Ja7", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek_resolver.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek_resolver.yaml new file mode 100644 index 000000000000..95030a18dabd --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_kek_resolver.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer35d41573?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:59 GMT + etag: + - '"0x8DA4E5FC1A47531"' + last-modified: + - Tue, 14 Jun 2022 23:44:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAA1dlp+D+X80U5cFFhOndu0pBHwOiJycl8NGCJZnUXd5kQqjl9srk= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ttHnkpR/DVbWZgMrekbfKMJAGX3nAzVfMf48cn+qoSDP21cd7sSDLwIXTpo23MUb", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer35d41573/encryptionv2_blob35d41573 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - Rb1AEfkoXwousoYmfOTlYQ== + date: + - Tue, 14 Jun 2022 23:43:59 GMT + etag: + - '"0x8DA4E5FC1B0E77E"' + last-modified: + - Tue, 14 Jun 2022 23:44:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - acQHDUNKivI= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer35d41573/encryptionv2_blob35d41573 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - Rb1AEfkoXwousoYmfOTlYQ== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:59 GMT + etag: + - '"0x8DA4E5FC1B0E77E"' + last-modified: + - Tue, 14 Jun 2022 23:44:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ttHnkpR/DVbWZgMrekbfKMJAGX3nAzVfMf48cn+qoSDP21cd7sSDLwIXTpo23MUb", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer35d41573/encryptionv2_blob35d41573 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAA1dlp+D+X80U5cFFhOndu0pBHwOiJycl8NGCJZnUXd5kQqjl9srk= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:00 GMT + etag: + - '"0x8DA4E5FC1B0E77E"' + last-modified: + - Tue, 14 Jun 2022 23:44:00 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - Rb1AEfkoXwousoYmfOTlYQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ttHnkpR/DVbWZgMrekbfKMJAGX3nAzVfMf48cn+qoSDP21cd7sSDLwIXTpo23MUb", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_modify_cek.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_modify_cek.yaml new file mode 100644 index 000000000000..41dfd2291e61 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_modify_cek.yaml @@ -0,0 +1,334 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:33 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5A92FEA"' + last-modified: + - Tue, 14 Jun 2022 23:44:33 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAZYHPxefdTTsAJ18ZUKIEvEPBVgxxiuBVFfvhR0hI+XcGOLeqRZ8= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ariJDpxXRWLyaWRAjSEDYXbr9QUf2oL7eSFYa3fyqyBSTy+dPODFTVLFaJ3uMEVZ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481/encryptionv2_blobb6b1481 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - Y1O2v9wB3U2jzxSElp+XLQ== + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5B6E813"' + last-modified: + - Tue, 14 Jun 2022 23:44:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - khr4AUq07xY= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481/encryptionv2_blobb6b1481 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - Y1O2v9wB3U2jzxSElp+XLQ== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5B6E813"' + last-modified: + - Tue, 14 Jun 2022 23:44:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ariJDpxXRWLyaWRAjSEDYXbr9QUf2oL7eSFYa3fyqyBSTy+dPODFTVLFaJ3uMEVZ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "dQfgiXGAajdOqPeSUVaFt24cBtzIE5FHN/WtSF+G9hGZuyT/Ej1AaQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481/encryptionv2_blobb6b1481?comp=metadata + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5D23446"' + last-modified: + - Tue, 14 Jun 2022 23:44:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481/encryptionv2_blobb6b1481 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - Y1O2v9wB3U2jzxSElp+XLQ== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5D23446"' + last-modified: + - Tue, 14 Jun 2022 23:44:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "dQfgiXGAajdOqPeSUVaFt24cBtzIE5FHN/WtSF+G9hGZuyT/Ej1AaQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerb6b1481/encryptionv2_blobb6b1481 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAZYHPxefdTTsAJ18ZUKIEvEPBVgxxiuBVFfvhR0hI+XcGOLeqRZ8= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:33 GMT + etag: + - '"0x8DA4E5FD5D23446"' + last-modified: + - Tue, 14 Jun 2022 23:44:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - Y1O2v9wB3U2jzxSElp+XLQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:34 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "dQfgiXGAajdOqPeSUVaFt24cBtzIE5FHN/WtSF+G9hGZuyT/Ej1AaQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_v2_v1_downgrade.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_v2_v1_downgrade.yaml new file mode 100644 index 000000000000..9f15efa14b98 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_v2_v1_downgrade.yaml @@ -0,0 +1,334 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7369162f?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:24 GMT + etag: + - '"0x8DA4E5FD0CA04EF"' + last-modified: + - Tue, 14 Jun 2022 23:44:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAW2J2rFtcFtqqVlupjRM31Nnm9+MMBtAv+7qwcRu4LwXN+QEpziU= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "IGlxCOiHiVs2vlTqyPxEVbmMVvMqU4WkRYGZ6HayAfkPwy5R9q/FHtsaZjwHL8eC", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7369162f/encryptionv2_blob7369162f + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - YZfxJkVMzfXlPmCSHBZA9g== + date: + - Tue, 14 Jun 2022 23:44:24 GMT + etag: + - '"0x8DA4E5FD0D55115"' + last-modified: + - Tue, 14 Jun 2022 23:44:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - Pvnx6m5iPp0= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer7369162f/encryptionv2_blob7369162f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - YZfxJkVMzfXlPmCSHBZA9g== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:25 GMT + etag: + - '"0x8DA4E5FD0D55115"' + last-modified: + - Tue, 14 Jun 2022 23:44:25 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "IGlxCOiHiVs2vlTqyPxEVbmMVvMqU4WkRYGZ6HayAfkPwy5R9q/FHtsaZjwHL8eC", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "IGlxCOiHiVs2vlTqyPxEVbmMVvMqU4WkRYGZ6HayAfkPwy5R9q/FHtsaZjwHL8eC", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob", "ContentEncryptionIV": "r+gUP647YdHfxxqLf+BBfQ=="}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7369162f/encryptionv2_blob7369162f?comp=metadata + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:25 GMT + etag: + - '"0x8DA4E5FD0EA5C9D"' + last-modified: + - Tue, 14 Jun 2022 23:44:26 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:26 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer7369162f/encryptionv2_blob7369162f + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - YZfxJkVMzfXlPmCSHBZA9g== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:25 GMT + etag: + - '"0x8DA4E5FD0EA5C9D"' + last-modified: + - Tue, 14 Jun 2022 23:44:26 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "IGlxCOiHiVs2vlTqyPxEVbmMVvMqU4WkRYGZ6HayAfkPwy5R9q/FHtsaZjwHL8eC", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob", "ContentEncryptionIV": "r+gUP647YdHfxxqLf+BBfQ=="}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:26 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer7369162f/encryptionv2_blob7369162f + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAW2J2rFtcFtqqVlupjRM31Nnm9+MMBtAv+7qwcRu4LwXN+QEpziU= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:26 GMT + etag: + - '"0x8DA4E5FD0EA5C9D"' + last-modified: + - Tue, 14 Jun 2022 23:44:26 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - YZfxJkVMzfXlPmCSHBZA9g== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:25 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "IGlxCOiHiVs2vlTqyPxEVbmMVvMqU4WkRYGZ6HayAfkPwy5R9q/FHtsaZjwHL8eC", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob", "ContentEncryptionIV": "r+gUP647YdHfxxqLf+BBfQ=="}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_blob_lease.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_blob_lease.yaml new file mode 100644 index 000000000000..3c2a864a5b9f --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_blob_lease.yaml @@ -0,0 +1,372 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7859168a?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC572E225"' + last-modified: + - Tue, 14 Jun 2022 23:44:06 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "BBtM4tcuqm910kcFztZTtOLknYEUeBIaJR39Wg3u8MlJ9dZTqx9uiYQw5F3TcEuI", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC57F3B09"' + last-modified: + - Tue, 14 Jun 2022 23:44:06 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - AAAAAAAAAAA= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-lease-action: + - acquire + x-ms-lease-duration: + - '-1' + x-ms-proposed-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a?comp=lease + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC57F3B09"' + last-modified: + - Tue, 14 Jun 2022 23:44:06 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAApvPkZh+ElBva9X7pEy4svIlHwQXj5QXQ7xIhAn1UL4TyNo+ck5c= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "rzK/g4OkBnzNymag+2QrQuGpc15qSsvfUjIoViHr4NotVbqSbzm4CjYim0pTS06V", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - hxgwaGYexzi5+Ha0sp+4PQ== + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC59AFC53"' + last-modified: + - Tue, 14 Jun 2022 23:44:07 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - V7EWeWXuULk= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:07 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444445 + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a + response: + body: + string: '' + headers: + date: + - Tue, 14 Jun 2022 23:44:06 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + vary: + - Origin + x-ms-error-code: + - LeaseIdMismatchWithBlobOperation + x-ms-version: + - '2021-08-06' + status: + code: 412 + message: The lease ID specified did not match the lease ID for the blob. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:07 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - hxgwaGYexzi5+Ha0sp+4PQ== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC59AFC53"' + last-modified: + - Tue, 14 Jun 2022 23:44:07 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-lease-duration: + - infinite + x-ms-lease-state: + - leased + x-ms-lease-status: + - locked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "rzK/g4OkBnzNymag+2QrQuGpc15qSsvfUjIoViHr4NotVbqSbzm4CjYim0pTS06V", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:07 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer7859168a/encryptionv2_blob7859168a + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAApvPkZh+ElBva9X7pEy4svIlHwQXj5QXQ7xIhAn1UL4TyNo+ck5c= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:06 GMT + etag: + - '"0x8DA4E5FC59AFC53"' + last-modified: + - Tue, 14 Jun 2022 23:44:07 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - hxgwaGYexzi5+Ha0sp+4PQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:06 GMT + x-ms-lease-duration: + - infinite + x-ms-lease-state: + - leased + x-ms-lease-status: + - locked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "rzK/g4OkBnzNymag+2QrQuGpc15qSsvfUjIoViHr4NotVbqSbzm4CjYim0pTS06V", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_if_match.yaml new file mode 100644 index 000000000000..1b68fc7b7387 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_encryption_with_if_match.yaml @@ -0,0 +1,322 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:12 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:12 GMT + etag: + - '"0x8DA4E5FC91BC49E"' + last-modified: + - Tue, 14 Jun 2022 23:44:12 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:12 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LgBOGSi2EWxIXk7K88N8HP7oGvyCJPilGkPKGJSlvvnpoPEzGf97oG4iIcLduGmm", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd/encryptionv2_blob4bb215bd + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + date: + - Tue, 14 Jun 2022 23:44:12 GMT + etag: + - '"0x8DA4E5FC927206B"' + last-modified: + - Tue, 14 Jun 2022 23:44:12 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - AAAAAAAAAAA= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAA5pSpUOB0ikiXfpnj/U6F0rGjbUMdGJwAPIlYdu+MeObvAtCfIso= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + If-Match: + - '"0x8DA4E5FC927206B"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:13 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ki/YyJPsjM+Jt0feW5guE99LzlI2YjGA6EvBq4hQjo/V2iiLLd+IfPa3mbMLLN6U", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd/encryptionv2_blob4bb215bd + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - SK2VfNfGRGuCsLN0SgWudQ== + date: + - Tue, 14 Jun 2022 23:44:12 GMT + etag: + - '"0x8DA4E5FC9310A0A"' + last-modified: + - Tue, 14 Jun 2022 23:44:13 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - MLImK/3i0hQ= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:13 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd/encryptionv2_blob4bb215bd + response: + body: + string: '' + headers: + date: + - Tue, 14 Jun 2022 23:44:12 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + vary: + - Origin + x-ms-error-code: + - ConditionNotMet + x-ms-version: + - '2021-08-06' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + If-Match: + - '"0x8DA4E5FC9310A0A"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:13 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd/encryptionv2_blob4bb215bd + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - SK2VfNfGRGuCsLN0SgWudQ== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:12 GMT + etag: + - '"0x8DA4E5FC9310A0A"' + last-modified: + - Tue, 14 Jun 2022 23:44:13 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:12 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ki/YyJPsjM+Jt0feW5guE99LzlI2YjGA6EvBq4hQjo/V2iiLLd+IfPa3mbMLLN6U", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + If-Match: + - '"0x8DA4E5FC9310A0A"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:13 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer4bb215bd/encryptionv2_blob4bb215bd + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAA5pSpUOB0ikiXfpnj/U6F0rGjbUMdGJwAPIlYdu+MeObvAtCfIso= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:12 GMT + etag: + - '"0x8DA4E5FC9310A0A"' + last-modified: + - Tue, 14 Jun 2022 23:44:13 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - SK2VfNfGRGuCsLN0SgWudQ== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:12 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ki/YyJPsjM+Jt0feW5guE99LzlI2YjGA6EvBq4hQjo/V2iiLLd+IfPa3mbMLLN6U", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_empty.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_empty.yaml new file mode 100644 index 000000000000..887844f6be25 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_empty.yaml @@ -0,0 +1,261 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:39 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer83b111a2?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:39 GMT + etag: + - '"0x8DA4E5FD95E00E5"' + last-modified: + - Tue, 14 Jun 2022 23:44:40 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XPsmG+NO+gNKIgi2R3/K2QBow9/Clfa5KmZ23hYI2MhpY6prbJmyaxnxIlew8Glu", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer83b111a2/encryptionv2_blob83b111a2 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + date: + - Tue, 14 Jun 2022 23:44:39 GMT + etag: + - '"0x8DA4E5FD968DE1E"' + last-modified: + - Tue, 14 Jun 2022 23:44:40 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - AAAAAAAAAAA= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer83b111a2/encryptionv2_blob83b111a2 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '0' + content-md5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:39 GMT + etag: + - '"0x8DA4E5FD968DE1E"' + last-modified: + - Tue, 14 Jun 2022 23:44:40 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XPsmG+NO+gNKIgi2R3/K2QBow9/Clfa5KmZ23hYI2MhpY6prbJmyaxnxIlew8Glu", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer83b111a2/encryptionv2_blob83b111a2 + response: + body: + string: "\uFEFFInvalidRangeThe + range specified is invalid for the current size of the resource.\nRequestId:93fa129a-801e-0048-5348-80c7f5000000\nTime:2022-06-14T23:44:40.4071448Z" + headers: + content-length: + - '249' + content-range: + - bytes */0 + content-type: + - application/xml + date: + - Tue, 14 Jun 2022 23:44:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-error-code: + - InvalidRange + x-ms-version: + - '2021-08-06' + status: + code: 416 + message: The range specified is invalid for the current size of the resource. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer83b111a2/encryptionv2_blob83b111a2 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '0' + content-md5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:39 GMT + etag: + - '"0x8DA4E5FD968DE1E"' + last-modified: + - Tue, 14 Jun 2022 23:44:40 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:40 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "XPsmG+NO+gNKIgi2R3/K2QBow9/Clfa5KmZ23hYI2MhpY6prbJmyaxnxIlew8Glu", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_single_region_chunked.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_single_region_chunked.yaml new file mode 100644 index 000000000000..8cc5049c500c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_put_blob_single_region_chunked.yaml @@ -0,0 +1,674 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:44 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:44 GMT + etag: + - '"0x8DA4E5FDC436900"' + last-modified: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAdBM3FLo9w6BLkg/NvjDOk20bhJpCQBjO5se9xGKvuqDqt8Z4WKXnMVKPDR5X + FPuSJP2cpbQgjLXclfox42fCR83UsJCEGIlR0t9ZkgW2wlk9RP/qtAR2BCRNNlNklnHIdpJw+F/Y + bSjwSu0wGykqfjJfCiufEYPN3sJumypKwPzCO6IaouSY3Kmh9u/YjVA/Vo6aMwi4DutyyYZtyJQZ + OQEXvV96CooExmRTM/Fz6e/j+Gvs+XVwr2VhBlnTSStKMRvSaUEay+HYknRSUIuyCrowEJygo7vz + BkyEMbFeiHKe/0UezSIp2r8RftJXuE7HAhS3FoxenoSOz1IapGd+uaFpSNek5wH2Mbfq7pBKwjDh + rhwrsJ+FFSzJn9M+/fuw1bv6qhOMcQ7/8vvRP0T+NwCkfJ7WM55DR1V8DkRUMgvZIcwrNLkORJ0p + UjuIWLstvMUe06SPQKCGZzoNn3Vlho8GoPPNvWx0Gk9pfkzMzdbJyiyDeDr129p7a+MBqjqONwCg + lCSofHiraF6910kzKEPE+gDdbgzpODocVNYpQDzrAPMk5iW1sjLemJ5x9EAwdHBvR9dZWQiaMTHR + hSb4ZeVeV8rUmCcmXJ4MKFbymCvJIjFAvNqMuvhpGw9I3nD+pm0IqYNAiYeKgUD5IMPymwrDt/1y + AoBlySE54IAt5N/UxD8oBa/ct4bU1v6QutP1o5+wLNwYzXgGBM33yDp0jE20rZMU1qOvroHz00aj + 35UMJEcujXolh/E31KrHA/bq8d0SavOoTDCz5IHAZMHcjCGJVjSTahe8gKQEYqIFvJhUR/Td0QC9 + 3HuIIODpQKIW5zYnYSPObIROhg3le52F+KzHbYt2tCJTcgxSlzDli+mjImKJroEcVcITJfiT+/9t + S8GR9yU/+/wBRzVUiP8i2QTtyOAt4yB51aESDff2lSTWuWpKtuciBcm+VDXjElET4BZKpG066TGB + J+TSF2Vah9VVbjn9juS/uazbzJGhrgJGI67JagjK0In70Gb9h/WfTl7TdcwfE7XZqWIQno+f69kT + vGBQPtDvGKTztODQ+He//xF85w8+/N2luWotMs7EudkUhWMlOgJYM2hc0V2Bl7ZZBZFZPhQwcwfC + 4e/tfnLHJhVguY7UUjelCtmoW8Z6HuD2NqD5vPNXz9HGuoU5/VePPmT9bh2C9XBf+Jv5kTT7cKrJ + XAvcHSnFw0v8xQEj8ieQfM4Jp95MNlAuTsdO9caW2QngT5056njluMLbCFm913+0K/MMzk7hwVD+ + wESn1HBcO+u2wGJq8ZXt5piz/5J/2eQpxgUL4eRaJPBwnGtIszufHN8nQlb9iSJ53kCvLoSKCg== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - lfcPvFK9w1o= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + wHP5ZVwCfHu+PGoHc1v4CeC58QLkTEX9wchj44L93k8IpxEQmgNWDOJA/899+wz8IXJ/fBBJZLhi + mpVCPqTnsYpoRXUHKejk5yJH+oGs5N4AE8D16s+CztgWhUTjL0QQZIdMtlJoyEyus+w7x8yWCt1D + ofUTsCYSr7WxjRCssaMO1dQmwfBon7Whcm1Y0LHoVj2ssmhhmYQDMG9uc0Dp4PwfDBj/idkTaKVI + O0QJDTkrGdVk7eghPyqPPiIcxVWJqwtnOefsFxGHUHcl8WP5Lc8rJgaQqaRGPDgFJvR8HTlK0upY + yO1vGGAEha01cBBMaQR6jhoqMeebtXSijIsFnG81q0Nirla3adxfOfnqaHRg/phb1IdvT8RZS9R4 + 1qPahFimd7fN+EVonNPAmIQjYSShwnJX4ayROfcfrJw0nfa/BQT0Bd4ReYF+fhvilFM3yVWfKoqc + MPfp/MvpH4GdgSTs5QZ1BRjUtdGgoG1AnV3+sXZBK0sFLLBtTGz/MGSqF7EphlImqCNnl+cqDJqc + wRhQVEjj+fyEFEE9F6qoeEcZCT14fQOvv3H2TZmNPiV8iajmik3H9QixxuNyeBzObN1XM90VdA/W + KttX40JqDOHZ6PlwebhaSGw7e/PaPK22GI3530pnO2tdiBgZ5u9gWN2XbdOoCp1t1BlShcSbkv8A + jcQfYlSqjieOqigE4T6HmhOj3DMjrDUiWekEO8yc5031NxqYqXEdg+2ZuU+inOrD8GDVN0ajU6Rk + V/ki+sSL6ttlisQ2TMj4iDZahEkyb4AJfFTms9MFOUTE0TnrVZnZg+ZdgG52CnoEURODw6QKQB0+ + XXd+KtIkv75uagX7KNZPzFv5Gf0HcW3r/HOwd3qPbeHc4/Ky1wnIFhBoUDJKgGIYsYt8Lttres2d + Ssv+FtIneynioyi/fjmbop9ubl9o2SNKhE7pzLIOrwdWKsxQl7t2mAGLUaXtkVhnb9L9z6BocZAf + rN2DUGi2WQX3qwnBg8xe8/D1XsynSUv7yU51KhVNeUJIxsjWndU71glJl/QL20POu92s55rIKtXT + 7Xd4CxC7+77apmSPbK6dQDxHvDYiXdk+0doqCgfzsLV3MRiwFe0Jfj8yfUcbA5wTW4pUxrHSnBTm + pOV1eKD2npxUXf3DBC7eaFIdpb1g71UU/tsaYPAIi30ctdk0Tgl2EEYgEUeh7Dlzyy/y73V1PxvV + 0GY8B8GqjMoG8Ru8F8+t/yVcPncLrC2Fup5OFtnj7JqiC2ypzjDvb4Y5Pqp1npkRgPt3gjErM0BL + jeqlItVZfaV2aX+0jhx7CPFkzjyi61tGqrxTpDvfIxtiCxYWPA13SR2xfJSABBW77yLiaTxg/A== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - faYR4WuZrf4= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + StJVopKvpvNmnlg9BLzWQaH2XzZ3mM0PLDIAj21d5Ljnqm1dRX9OM5uenz7vUtOPakKUx1cJPisj + hQgn0q/AEN6gzQCwvoDEllOfa88tBGZ/JjwWQSm6ra2MrYlSjqukGM6cZb0wht1Mp/JWtk3Ulfhj + rVkXjMzqa5YGJDs1iyrQvlYcnuPpe+WSZ5/ewIUPSMOCE4qfM5RryFtUVrEi+LZg6pJfQmvLz3ja + hn3dxsUq9HTwhidkyR/4Fe1H640uQ6igCwHqoHjx3GA4JKCucQGcHOK04luyybnKXZhr75YEtUU2 + gnteBRaLeGYbaQzm4kHq2HZ59I/iJWDbebZDOnoru1Y0j+exBcp4aFSwuob9vP4zYysp1aTq3qkb + DTgO5PuYuCljJwjmvf8Zu4EutGCxt0VtbJJ2KVJdU0zeK40Rwoj0ehpJp9vs6hsP1mobvh4j3ydn + gI3EX3jc1dqscfD3KPm8oCI2SxNXsTLtfZhI1TOHZNKbzNirF/VUN1yAPXgSzPOdsg5jWwjtqZvj + 57yxpRCnIhtJFGFP/NtKUBihs/LeJzmLQ07DmVbKvVep/aZ3QJWJv7TomPDzceo4Y3SSp5p3t1CN + 3j0p77KmfhmEwM4uxkozUMMCC9bKJ9ZliptWr+R/lD3NozZVWlUlloSgdHWBpJlu9z0muykW8ASQ + xnlEjVVjkzht3973J0dbA13SVTdvkDbGNQVpIijGCZl8rPshfzQBTsX87YWJoizApB/7rvIJh4Yr + DTTmqPrfKAv29lNtS0DDr6CbwtP95XwAFALg9y/CVZ/CgZX3KU1Tm46wBYnKGkQxcH3tASowWLIV + zVqzylUAwDYBXJpzmENJ6xUnzsIoq1b7rjiIq2zpHN5+CK4NAy7utOq1Uf44QumINlOc/Bv0BD7+ + OVun4godgiVelsxRAPZ+PDcX3qtF0cMH/XYkBAQBiyRv0q3atwoxmjCriFTg1rYZgJ3ws5zHgYTV + kpjvtBWcmW/yECPfSY1UPGK89xKQcdzA6k7MJPQDwpkRfOGdaf1CxpIgT+jNHwTkquzUDNU2pCbG + MO9seY3LbD50xAEGjhNmeAZVK8T+9YF7Yh09lJ33D/yzevJjdK2t8zW0+O6qx5XQn776ejLXznMI + qShoIiqO0y4g/+9n/xQF9+azJVSj2tNod3A0UTSBBTZ8ozhNqjMbPWjZItfIXq9SkzUU8mAU4XCh + fepWT9lIkLkwH1JoEj+3Frz18xq/Uo8gecrGenWDmE7rtoG4j9oh5q80dSAbtNZRVpXKJWRU3Q3k + gcW0i54TlTrOWwPG/n0vzNWPBS/db4PnsH8nK+mfzQCUZbVHzbFGk7dR4ftptaLIHQvH/qSh5A== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - ECtuPGLTnUY= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + HKlOiBwmKzkurwfuK5JF5C8NVLH7bYQ50g7Fi08HtnFPKUJIIVua2rV7Avcvxi+Ni+OJ5VHifyxG + 3WV2vQfRynbKfHhl9xC0mU+ifwYOO9KDBRYNfs3JVwukdNz3DQAL5jYrLr++JNydTTFfRD/w8oWA + J6O59UFXJ8XyeQ4oGa+KurYjk1KLYKdrye576WS+EiSw8yVt/Z7nDtwKxaR7ma74hgD2u2yVHEJJ + enRW+RmJKHqyvUFoXo5YHf0ZpSvefAQToIJn1sdwl4xmPdMJG4W3PnpDWz5OtnxTWIYMSp5yBwZ9 + RRYLWxOdVpNvdU6xYgK4aoVRARp9UBMDXF0GMw1PVNuT984+/3Gw226N10UUmZ6IS8jUdfhls1M/ + 1uFGdrSQ9rq+oEpVxFN3G/DKGMK7OfiSm1aD80UH/ZDtKJKyFW9VprFOIhK7/N/WiocO71mOdDPl + 68UpquPMh6AApiHltt/P50LW2gQy1+AlYwbfYljg10F8l9ix/6xtPNF4quRi1xSqSVy13JQS9Skf + deS1DedIQn4oFXe/ejmH3b6KaiubgwXFlA9Yxp68l0WT3VqQmo1BS2S08EsEkltwV0nOKbjZgqR4 + t63DdJnAPkSdIO5kZ8RS6srOMY+fhlpzje3xza5mAoHBlcoNM8N6Q02DweTor1/Z97R2DMFRw1tX + 1/MrPI/uKNzalyBYtL42eJPSuOQ1pTusX4lyw6SJwWMLZHWZvjzLBUw0eD1/hNOJiryeAYqh20g0 + CfjIVfi7wtuaLyaWiksCXOq/liB4t03HmaKeyHJFq6SDjaV8PVuUBC/poaBsb7/qAy7nEEkrZF10 + qZkxY2ng59lzHmIQKm2Aqg5JBO+YjTiRUWl+T+koB/kgPGE/Ro8ZnHQPEGuLsC87crekveodpgmz + JryV5mwN8xqB/UT1Ug0hvg2IYVKxUT9AWchWJdrdT0WZEuHCc81xe7D/4+MVtDii1QzLRMQYTwGs + 8ywZw8qFTIiAk8YWxr7Aq1ynYkM3YERegLMUgcsl38Vh4ST5WWdRd+bvM1Jv7S5VxVavmJ+a1sha + RWbxK6lTlPdOlXFumB0/bJQUK9mPFtJu0H7RoqRS31Wy96OXjbcIvSomaV8k0dGLU6GxcWMYGqM0 + +gEdy09KR32p8FCOhEqC7ryN5dj95FJEBGGumsn43qqyTWo61hW68lI3A9qzqBbZvPtApCD27x6D + 517XFoiQ81En+21+wvxjKOFi8FnLQ82Oy3Ejx0yetVv5RWEtU504R+MGInibRzk0Is03cht61qoA + CpZzEoHtNlAegHDdMHNVuCFPuJhG30+QBx34td60ufTRLoP79e27GV6GXJwyzv7aTGuiPgZQuQ== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - rgbMC3kSYQk= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + RwRr2jk2u1aI+du0qVGfcgTT8f7YKiURoOSEtb72kCJcW+J3XRPcoVKeZGjAg1t6FO1bukVs5h5h + t5SB5r+JuorERhxk448nNIO5rzBRA5eET9ZeS3qgl/fJd5tq61PFLeWFd+E5XwbyBTFZl45g4FUQ + vOBoaxJN8LTJ7BAHN7J5Fu6d4VtUTPs8rXYRu1nfl/DJpgiiotdO0ah8/U/uHaKkYfXRk7O/sr0M + qSwClb+tkZl00NB0geZnFGElGmszXJK4pSMM1B0jjA9kCHOgl4Ea1NVL+mTEH00jcoM9BRpM1Npf + 9161oXzpYwI6cLNIERouwEzepgyal7L2g6V+q4C7Ktb8kyeML9daocNuZCnR+eMpGlRXY19yre6T + 4nnVm0UDWbExDK+O0mnCzXitP9Jtbk2xe35YoYKum0+ThVExY5F9Anj3CzCi4jDes2frVzYgF6A8 + 7q1sr0YsrGoFn4eaEIPXosRtBYxDU+2ri34qzsCci5HldhwSfbxdCNCx9Qy0klsh/n1OJGsaG2I5 + EMZ3NLDCqLxZT68gpgnEJMPV2k2zVP2chnZ42oA6xqWddZpIsQeEUKmzVDaCwAooWe3bXVdEUQvC + azJq7Rgi/9FxCbSaWN7L/OteUouVH+qVVoAiKnCnAeBegC54o9T8CeZqKhO9PkfrgnFrOwHGzxsE + 06FQLM400kPclI7Q6Lu4b+auRk0jiqL6AcW+DTCoLUY3Anm3KqUDFNv1ywqDzNY9wSPvaNt5YfGP + rweqOpS9uWkminoc5agyX2Kooq52kDTNQAePtgRS+AkouIpdTiqUpByeTGV3leZgCfpj9LG5t5Do + ysm4Ee88QxUFf1jGfndsJncteukPMOQQdojxIhtiw82kuEXs5PYQcOCOqWGaK5uaX5tyRm6ETuDl + ooyaPthJel76rBqcieS07JaVLnPYN06ABoabvtV3dICRaJq6mq2yJ3AYQLZc1T5L1+ievxHxLI7T + uujtPZZiq/0xge5Plrp+gjyyDSK73MNrQcX7QCSar+XFHpRk31gnAIGGtTY5577zjt6+uOe3QVCH + U+bOelf5SO8nppRz10VSNV4HNpUy+ZqHoQpKzLA0LIVFH149Uo++FBRZKerLrYCLWh2CGJvdAa/H + BcCq5KMplZxVODgPSST0+cAOw+QwKScC9HAJCoWaKmJajG1YQbodM2vf3lMWFLZunXELgtA5VgFj + NfSJfP02YEjBR0ImwluNJ8iaIanSacm43109pfcKOVK39thGi0X4g5WBtZwc44vBFU5fYOoYgEEk + ixKxla+UGK3ZPwkYn4aa5jnJWVAwR81rzpY0RSFw5GoWfXSP7qmoIBZI0n5ZLOgRMX6qpLnYGw== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - rwjx2qIs8pw= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + 22NbicF0haJyiu2YaWzbqOC6MRDcTa95ze45YQ== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '28' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - 6l7tzvv3+iw= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '548' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819?comp=blocklist + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:44:45 GMT + etag: + - '"0x8DA4E5FDCB1E88D"' + last-modified: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - 458m2zSGZuo= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '5148' + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:45 GMT + etag: + - '"0x8DA4E5FDCB1E88D"' + last-modified: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerd41f1819/encryptionv2_blobd41f1819 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAdBM3FLo9w6BLkg/NvjDOk20bhJpCQBjO5se9xGKvuqDqt8Z4WKXnMVKPDR5X + FPuSJP2cpbQgjLXclfox42fCR83UsJCEGIlR0t9ZkgW2wlk9RP/qtAR2BCRNNlNklnHIdpJw+F/Y + bSjwSu0wGykqfjJfCiufEYPN3sJumypKwPzCO6IaouSY3Kmh9u/YjVA/Vo6aMwi4DutyyYZtyJQZ + OQEXvV96CooExmRTM/Fz6e/j+Gvs+XVwr2VhBlnTSStKMRvSaUEay+HYknRSUIuyCrowEJygo7vz + BkyEMbFeiHKe/0UezSIp2r8RftJXuE7HAhS3FoxenoSOz1IapGd+uaFpSNek5wH2Mbfq7pBKwjDh + rhwrsJ+FFSzJn9M+/fuw1bv6qhOMcQ7/8vvRP0T+NwCkfJ7WM55DR1V8DkRUMgvZIcwrNLkORJ0p + UjuIWLstvMUe06SPQKCGZzoNn3Vlho8GoPPNvWx0Gk9pfkzMzdbJyiyDeDr129p7a+MBqjqONwCg + lCSofHiraF6910kzKEPE+gDdbgzpODocVNYpQDzrAPMk5iW1sjLemJ5x9EAwdHBvR9dZWQiaMTHR + hSb4ZeVeV8rUmCcmXJ4MKFbymCvJIjFAvNqMuvhpGw9I3nD+pm0IqYNAiYeKgUD5IMPymwrDt/1y + AoBlySE54IAt5N/UxD8oBa/ct4bU1v6QutP1o5+wLNwYzXgGBM33yDp0jE20rZMU1qOvroHz00aj + 35UMJEcujXolh/E31KrHA/bq8d0SavOoTDCz5IHAZMHcjCGJVjSTahe8gKQEYqIFvJhUR/Td0QC9 + 3HuIIODpQKIW5zYnYSPObIROhg3le52F+KzHbYt2tCJTcgxSlzDli+mjImKJroEcVcITJfiT+/9t + S8GR9yU/+/wBRzVUiP8i2QTtyOAt4yB51aESDff2lSTWuWpKtuciBcm+VDXjElET4BZKpG066TGB + J+TSF2Vah9VVbjn9juS/uazbzJGhrgJGI67JagjK0In70Gb9h/WfTl7TdcwfE7XZqWIQno+f69kT + vGBQPtDvGKTztODQ+He//xF85w8+/N2luWotMs7EudkUhWMlOgJYM2hc0V2Bl7ZZBZFZPhQwcwfC + 4e/tfnLHJhVguY7UUjelCtmoW8Z6HuD2NqD5vPNXz9HGuoU5/VePPmT9bh2C9XBf+Jv5kTT7cKrJ + XAvcHSnFw0v8xQEj8ieQfM4Jp95MNlAuTsdO9caW2QngT5056njluMLbCFm913+0K/MMzk7hwVD+ + wESn1HBcO+u2wGJq8ZXt5piz/5J/2eQpxgUL4eRaJPBwnGtIszufHN8nQlb9iSJ53kCvLoSKCsBz + +WVcAnx7vjxqB3Nb+AngufEC5ExF/cHIY+OC/d5PCKcREJoDVgziQP/PffsM/CFyf3wQSWS4YpqV + Qj6k57GKaEV1Byno5OciR/qBrOTeABPA9erPgs7YFoVE4y9EEGSHTLZSaMhMrrPsO8fMlgrdQ6H1 + E7AmEq+1sY0QrLGjDtXUJsHwaJ+1oXJtWNCx6FY9rLJoYZmEAzBvbnNA6eD8HwwY/4nZE2ilSDtE + CQ05KxnVZO3oIT8qjz4iHMVViasLZznn7BcRh1B3JfFj+S3PKyYGkKmkRjw4BSb0fB05StLqWMjt + bxhgBIWtNXAQTGkEeo4aKjHnm7V0ooyLBZxvNatDYq5Wt2ncXzn56mh0YP6YW9SHb0/EWUvUeNaj + 2oRYpne3zfhFaJzTwJiEI2EkocJyV+GskTn3H6ycNJ32vwUE9AXeEXmBfn4b4pRTN8lVnyqKnDD3 + 6fzL6R+BnYEk7OUGdQUY1LXRoKBtQJ1d/rF2QStLBSywbUxs/zBkqhexKYZSJqgjZ5fnKgyanMEY + UFRI4/n8hBRBPReqqHhHGQk9eH0Dr79x9k2ZjT4lfImo5opNx/UIscbjcngczmzdVzPdFXQP1irb + V+NCagzh2ej5cHm4WkhsO3vz2jytthiN+d9KZztrXYgYGebvYFjdl23TqAqdbdQZUoXEm5L/AI3E + H2JUqo4njqooBOE+h5oTo9wzI6w1IlnpBDvMnOdN9TcamKlxHYPtmblPopzqw/Bg1TdGo1OkZFf5 + IvrEi+rbZYrENkzI+Ig2WoRJMm+ACXxU5rPTBTlExNE561WZ2YPmXYBudgp6BFETg8OkCkAdPl13 + firSJL++bmoF+yjWT8xb+Rn9B3Ft6/xzsHd6j23h3OPystcJyBYQaFAySoBiGLGLfC7ba3rNnUrL + /hbSJ3sp4qMov345m6Kfbm5faNkjSoRO6cyyDq8HVirMUJe7dpgBi1Gl7ZFYZ2/S/c+gaHGQH6zd + g1BotlkF96sJwYPMXvPw9V7Mp0lL+8lOdSoVTXlCSMbI1p3VO9YJSZf0C9tDzrvdrOeayCrV0+13 + eAsQu/u+2qZkj2yunUA8R7w2Il3ZPtHaKgoH87C1dzEYsBXtCX4/Mn1HGwOcE1uKVMax0pwU5qTl + dXig9p6cVF39wwQu3mhSHaW9YO9VFP7bGmDwCIt9HLXZNE4JdhBGIBFHoew5c8sv8u91dT8b1dBm + PAfBqozKBvEbvBfPrf8lXD53C6wthbqeThbZ4+yaogtsqc4w72+GOT6qdZ6ZEYD7d4IxKzNAS43q + pSLVWX2ldml/tI4cewjxZM48outbRqq8U6Q73yMbYgsWFjwNd0kdsXyUgAQVu+8i4mk8YPxK0lWi + kq+m82aeWD0EvNZBofZfNneYzQ8sMgCPbV3kuOeqbV1Ff04zm56fPu9S049qQpTHVwk+KyOFCCfS + r8AQ3qDNALC+gMSWU59rzy0EZn8mPBZBKbqtrYytiVKOq6QYzpxlvTCG3Uyn8la2TdSV+GOtWReM + zOprlgYkOzWLKtC+Vhye4+l75ZJnn97AhQ9Iw4ITip8zlGvIW1RWsSL4tmDqkl9Ca8vPeNqGfd3G + xSr0dPCGJ2TJH/gV7UfrjS5DqKALAeqgePHcYDgkoK5xAZwc4rTiW7LJucpdmGvvlgS1RTaCe14F + Fot4ZhtpDObiQerYdnn0j+IlYNt5tkM6eiu7VjSP57EFynhoVLC6hv28/jNjKynVpOreqRsNOA7k + +5i4KWMnCOa9/xm7gS60YLG3RW1sknYpUl1TTN4rjRHCiPR6Gkmn2+zqGw/Wahu+HiPfJ2eAjcRf + eNzV2qxx8Pco+bygIjZLE1exMu19mEjVM4dk0pvM2KsX9VQ3XIA9eBLM852yDmNbCO2pm+PnvLGl + EKciG0kUYU/820pQGKGz8t4nOYtDTsOZVsq9V6n9pndAlYm/tOiY8PNx6jhjdJKnmne3UI3ePSnv + sqZ+GYTAzi7GSjNQwwIL1son1mWKm1av5H+UPc2jNlVaVSWWhKB0dYGkmW73PSa7KRbwBJDGeUSN + VWOTOG3f3vcnR1sDXdJVN2+QNsY1BWkiKMYJmXys+yF/NAFOxfzthYmiLMCkH/uu8gmHhisNNOao + +t8oC/b2U21LQMOvoJvC0/3lfAAUAuD3L8JVn8KBlfcpTVObjrAFicoaRDFwfe0BKjBYshXNWrPK + VQDANgFcmnOYQ0nrFSfOwiirVvuuOIirbOkc3n4Irg0DLu606rVR/jhC6Yg2U5z8G/QEPv45W6fi + Ch2CJV6WzFEA9n48Nxfeq0XRwwf9diQEBAGLJG/Srdq3CjGaMKuIVODWthmAnfCznMeBhNWSmO+0 + FZyZb/IQI99JjVQ8Yrz3EpBx3MDqTswk9APCmRF84Z1p/ULGkiBP6M0fBOSq7NQM1TakJsYw72x5 + jctsPnTEAQaOE2Z4BlUrxP71gXtiHT2UnfcP/LN68mN0ra3zNbT47qrHldCfvvp6MtfOcwipKGgi + Ko7TLiD/72f/FAX35rMlVKPa02h3cDRRNIEFNnyjOE2qMxs9aNki18her1KTNRTyYBThcKF96lZP + 2UiQuTAfUmgSP7cWvPXzGr9SjyB5ysZ6dYOYTuu2gbiP2iHmrzR1IBu01lFWlcolZFTdDeSBxbSL + nhOVOs5bA8b+fS/M1Y8FL91vg+ewfycr6Z/NAJRltUfNsUaTt1Hh+2m1osgdC8f+pKHkHKlOiBwm + KzkurwfuK5JF5C8NVLH7bYQ50g7Fi08HtnFPKUJIIVua2rV7Avcvxi+Ni+OJ5VHifyxG3WV2vQfR + ynbKfHhl9xC0mU+ifwYOO9KDBRYNfs3JVwukdNz3DQAL5jYrLr++JNydTTFfRD/w8oWAJ6O59UFX + J8XyeQ4oGa+KurYjk1KLYKdrye576WS+EiSw8yVt/Z7nDtwKxaR7ma74hgD2u2yVHEJJenRW+RmJ + KHqyvUFoXo5YHf0ZpSvefAQToIJn1sdwl4xmPdMJG4W3PnpDWz5OtnxTWIYMSp5yBwZ9RRYLWxOd + VpNvdU6xYgK4aoVRARp9UBMDXF0GMw1PVNuT984+/3Gw226N10UUmZ6IS8jUdfhls1M/1uFGdrSQ + 9rq+oEpVxFN3G/DKGMK7OfiSm1aD80UH/ZDtKJKyFW9VprFOIhK7/N/WiocO71mOdDPl68UpquPM + h6AApiHltt/P50LW2gQy1+AlYwbfYljg10F8l9ix/6xtPNF4quRi1xSqSVy13JQS9SkfdeS1DedI + Qn4oFXe/ejmH3b6KaiubgwXFlA9Yxp68l0WT3VqQmo1BS2S08EsEkltwV0nOKbjZgqR4t63DdJnA + PkSdIO5kZ8RS6srOMY+fhlpzje3xza5mAoHBlcoNM8N6Q02DweTor1/Z97R2DMFRw1tX1/MrPI/u + KNzalyBYtL42eJPSuOQ1pTusX4lyw6SJwWMLZHWZvjzLBUw0eD1/hNOJiryeAYqh20g0CfjIVfi7 + wtuaLyaWiksCXOq/liB4t03HmaKeyHJFq6SDjaV8PVuUBC/poaBsb7/qAy7nEEkrZF10qZkxY2ng + 59lzHmIQKm2Aqg5JBO+YjTiRUWl+T+koB/kgPGE/Ro8ZnHQPEGuLsC87crekveodpgmzJryV5mwN + 8xqB/UT1Ug0hvg2IYVKxUT9AWchWJdrdT0WZEuHCc81xe7D/4+MVtDii1QzLRMQYTwGs8ywZw8qF + TIiAk8YWxr7Aq1ynYkM3YERegLMUgcsl38Vh4ST5WWdRd+bvM1Jv7S5VxVavmJ+a1shaRWbxK6lT + lPdOlXFumB0/bJQUK9mPFtJu0H7RoqRS31Wy96OXjbcIvSomaV8k0dGLU6GxcWMYGqM0+gEdy09K + R32p8FCOhEqC7ryN5dj95FJEBGGumsn43qqyTWo61hW68lI3A9qzqBbZvPtApCD27x6D517XFoiQ + 81En+21+wvxjKOFi8FnLQ82Oy3Ejx0yetVv5RWEtU504R+MGInibRzk0Is03cht61qoACpZzEoHt + NlAegHDdMHNVuCFPuJhG30+QBx34td60ufTRLoP79e27GV6GXJwyzv7aTGuiPgZQuUcEa9o5NrtW + iPnbtKlRn3IE0/H+2ColEaDkhLW+9pAiXFvid10T3KFSnmRowINbehTtW7pFbOYeYbeUgea/ibqK + xEYcZOOPJzSDua8wUQOXhE/WXkt6oJf3yXebautTxS3lhXfhOV8G8gUxWZeOYOBVELzgaGsSTfC0 + yewQBzeyeRbuneFbVEz7PK12EbtZ35fwyaYIoqLXTtGofP1P7h2ipGH10ZOzv7K9DKksApW/rZGZ + dNDQdIHmZxRhJRprM1ySuKUjDNQdI4wPZAhzoJeBGtTVS/pkxB9NI3KDPQUaTNTaX/detaF86WMC + OnCzSBEaLsBM3qYMmpey9oOlfquAuyrW/JMnjC/XWqHDbmQp0fnjKRpUV2Nfcq3uk+J51ZtFA1mx + MQyvjtJpws14rT/SbW5NsXt+WKGCrptPk4VRMWORfQJ49wswouIw3rNn61c2IBegPO6tbK9GLKxq + BZ+HmhCD16LEbQWMQ1Ptq4t+Ks7AnIuR5XYcEn28XQjQsfUMtJJbIf59TiRrGhtiORDGdzSwwqi8 + WU+vIKYJxCTD1dpNs1T9nIZ2eNqAOsalnXWaSLEHhFCps1Q2gsAKKFnt211XRFELwmsyau0YIv/R + cQm0mljey/zrXlKLlR/qlVaAIipwpwHgXoAueKPU/AnmaioTvT5H64JxazsBxs8bBNOhUCzONNJD + 3JSO0Oi7uG/mrkZNI4qi+gHFvg0wqC1GNwJ5tyqlAxTb9csKg8zWPcEj72jbeWHxj68HqjqUvblp + Jop6HOWoMl9iqKKudpA0zUAHj7YEUvgJKLiKXU4qlKQcnkxld5XmYAn6Y/SxubeQ6MrJuBHvPEMV + BX9Yxn53bCZ3LXrpDzDkEHaI8SIbYsPNpLhF7OT2EHDgjqlhmiubml+bckZuhE7g5aKMmj7YSXpe + +qwanInktOyWlS5z2DdOgAaGm77Vd3SAkWiaupqtsidwGEC2XNU+S9fonr8R8SyO07ro7T2WYqv9 + MYHuT5a6foI8sg0iu9zDa0HF+0Akmq/lxR6UZN9YJwCBhrU2Oee+847evrjnt0FQh1PmznpX+Ujv + J6aUc9dFUjVeBzaVMvmah6EKSsywNCyFRR9ePVKPvhQUWSnqy62Ai1odghib3QGvxwXAquSjKZWc + VTg4D0kk9PnADsPkMCknAvRwCQqFmipiWoxtWEG6HTNr395TFhS2bp1xC4LQOVYBYzX0iXz9NmBI + wUdCJsJbjSfImiGp0mnJuN9dPaX3CjlSt/bYRotF+IOVgbWcHOOLwRVOX2DqGIBBJIsSsZWvlBit + 2T8JGJ+GmuY5yVlQMEfNa86WNEUhcORqFn10j+6pqCAWSNJ+WSzoETF+qqS52BvbY1uJwXSFonKK + 7ZhpbNuo4LoxENxNr3nN7jlh + headers: + accept-ranges: + - bytes + content-length: + - '5148' + content-range: + - bytes 0-5147/5148 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:44:45 GMT + etag: + - '"0x8DA4E5FDCB1E88D"' + last-modified: + - Tue, 14 Jun 2022 23:44:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:44:45 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iNlvMLkPxNWuJsLn8J3GzmoaK/kPwTzyzJnBPQJGXJun0jaB08s9mot3FjMbRLdU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_v2_blocked_for_page_blob_upload.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_v2_blocked_for_page_blob_upload.yaml new file mode 100644 index 000000000000..7df71d63017e --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_v2_blocked_for_page_blob_upload.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:33 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere24a181c?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:33 GMT + etag: + - '"0x8DA4E5FB211EE5E"' + last-modified: + - Tue, 14 Jun 2022 23:43:34 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption.yaml new file mode 100644 index 000000000000..8a44bfa47129 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:38 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere10013b1?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:39 GMT + etag: + - '"0x8DA4E5FB4F604DA"' + last-modified: + - Tue, 14 Jun 2022 23:43:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAFhKp4W/4f4PnUqG7DkgFfTxLzFgPSm8Bx2GyM0SPVFP1c++mPFg= + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:43:39 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "sVQxfjLg5OqziH4wbmYXDovBDk/2e8VYxx8oxFuygCtc1TQahLGfERO9MsHOkpqJ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere10013b1/encryptionv2_blobe10013b1 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - FZykviUQ21MRXxQjLHKtSA== + date: + - Tue, 14 Jun 2022 23:43:39 GMT + etag: + - '"0x8DA4E5FB5022AB0"' + last-modified: + - Tue, 14 Jun 2022 23:43:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - DgImg4rwYKA= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:39 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere10013b1/encryptionv2_blobe10013b1 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-md5: + - FZykviUQ21MRXxQjLHKtSA== + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:39 GMT + etag: + - '"0x8DA4E5FB5022AB0"' + last-modified: + - Tue, 14 Jun 2022 23:43:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:39 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "sVQxfjLg5OqziH4wbmYXDovBDk/2e8VYxx8oxFuygCtc1TQahLGfERO9MsHOkpqJ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:39 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainere10013b1/encryptionv2_blobe10013b1 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAFhKp4W/4f4PnUqG7DkgFfTxLzFgPSm8Bx2GyM0SPVFP1c++mPFg= + headers: + accept-ranges: + - bytes + content-length: + - '50' + content-range: + - bytes 0-49/50 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:39 GMT + etag: + - '"0x8DA4E5FB5022AB0"' + last-modified: + - Tue, 14 Jun 2022 23:43:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-content-md5: + - FZykviUQ21MRXxQjLHKtSA== + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:39 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "sVQxfjLg5OqziH4wbmYXDovBDk/2e8VYxx8oxFuygCtc1TQahLGfERO9MsHOkpqJ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption_chunked_upload.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption_chunked_upload.yaml new file mode 100644 index 000000000000..fb6c7ea1aabd --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2.test_validate_encryption_chunked_upload.yaml @@ -0,0 +1,674 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:45 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:45 GMT + etag: + - '"0x8DA4E5FB933641A"' + last-modified: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + AAAAAAAAAAAAAAAAswoPbjD+Rayp12ncAy1KbR/YosNuH/EVbDBiJb1JKr1JD6ug72TMGu7Chxa/ + MUjWTfhDiRtFT0Gtbih29uUFMPw+hWG7VCyKzxo34E1ksjUZQsMu243gnKnHqECUYXegishFHFMj + GBQoY++fucqRgLPSOibVm0Zbfyya10XtvgGheKqoJs+Ewv+QZbJaCjbsmTQnGDduU6tFO8WDfCqD + olOUU3Y+WD0RpqXfVeDwAuyyFV3pF5AV1mckcA28HEkq6PgoZmuzog6y9d7sQGJ+9ZWrRh1slkzu + 2AWhaiLbFlaTijW005BEeJwdv+3sL5O7xtJ9nEtsXh/jwir3cmHGbDwjl9L2dXAIK1BJBMAJMblH + VCOeKkqhM9rhDHkdZanYELPcO7LzpjgLSl8UO4vFdbvoIOWCtc0VLAQmLZi6X++IG3n6Xf8QXpEt + Taj/m9htwc0TmdhBVetZkLYdZskUpX6PX1ytzqDAZIYESsRJms1JXo6MnypMwYuP2EkIxJ02thdA + zqHp20QuVtUY06Z3DWUMfdvu+E92yT5uKjJOsQmTfbYNDarjfmnks4xsdJxL1cOY9KcXnbVr6bqj + dCqR4fXbJEECOjUEVs9qT/wBwPCXgGnqApJbh0EpQ9ASJWia7nUoHAoNWP8jnaReVb0pqSCIc6+W + Tmsma/vNIw7rlcOy9ZHwoO5+L/gNFM73rh/ZNu7FM/77arUJj2xDpn925jrLTIS7C8gb5s6KxHbH + +sr+Xdb8gUPo+eFo/gU/Ad+vV+y+A4/qoXaFzc1So+WKGjSvLc6Po5dFfolA/0k/wh70UwzByR82 + OXIpQQxyKcAzYafLu4YsbxVexjgL1jPAJpenDDxnULjWsjmIpH3CVVqgYCcMIMdGoWVZhyvCaNWT + v57SOXORn3GDbSDj3mcwYyisIzJYnQtoyaySSxuOdF3SkD+r7bfPAFUj8cFOXk+sMNPVAaWpiVzj + qX7N/MuMOxWvWP/iKy5zU/3THuPIzFwPtKvqGeVu4DK6vr3/ioauxoCA6XHsKCQ9twGhaJ5j5ZAx + 35EVsr9taWDvkpaxTXUbL36dGlt1Rz3ssXdbOTnuEJS/r8MSW0t2vM6tYAAd7Cj4bLEYqnqn/nki + 4SfwUj3/ptjzm3TRMoc9x4f3HPCHLSQg4nYjhWP8PZCRiyG2fGwSiB473UhqaZeUtcoURXFJ/lC7 + H7xUlEKOwNkgRA5+3rcoaEYI+XH7zec/p9yajjWQtcVRW0Skbx1yfZNoHTPh86etD0VtNEuxbSI7 + JZK9JYBac+lyx3EKk8k3capHaPxTLH3iuXt8amiNf9hx4lDfQyEqnty2zSVAbJcqvPrnEQw9BQ== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:46 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:45 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - kIxSsjMWQ0Y= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + JuhwfgJpYawI2GCkQhInQbnH+XnfvFqD8tKP0nF4Y3P0+QFsODXLnU5OsYLps/dPTRi5Rrl5w/5X + /fH0vv2XG3w731sYlzvdnrwIsJ+w5AcLCMqNrMb7sAljfz9PvyY75+Jgdsng/d5u/dEog5A0rUN3 + G/NLDtO8gZ/9az98WRc8uwszGj/JVMA5K0vKItW2/R4z86xVnn7htF9MNB9PhHU4MhiIH+K+8Llt + C1ILmsunEWcJG0ZpT7c/CGK0qWfeX0TPYMM0M4povQxMyxt3zIKb3XFiEGS1RSImucm70yuGfnzR + YkdPO/l2iUVkkqSJTgrggRsgGGOjH7yCNsLUZVIWVX83D+EsJmgjfSkAa4azrbfJICDag4lSfUpq + w1gL8a7aXVLMxF5WqP4IJEFCwXJ5Cv+u7tPsP2G+HXvwbsdW7soy5w7MTLBB0qryceYfWlt7JsZo + RBGSjFx4XSGPdyDQgO/nbDkMOfODLxE7+yag9F2R1IPIDhcPANjNDV8dGCO2tpKEau8VEiVp5bV5 + NaLeXxACmIz5r0mY8ScZVGY6GctiH/VLz/T9mGvbxpAQ5iTgFgkJEqPBjmDcNfN6Ac4tUk4Zhdff + vJZg8QiF9+lFXWNQ7Th1pez7VPcjOhW28rNzvKXB8liUZlmiVLhsIdyMFRbDLPUn5F2g1Lzb8foL + cWd6M3OaEmFjhfgFRQ2UGPiMUxLqlqbOE+ki4XNOzEJpXaqmDyzY9Y7nUobH4S17Rm+PBZidZgZw + OpOOS1CYJLcr3gaT1dbp2OUSJLa69h9BIwxZdmjU4AUyY0Yk9os9KjEsiHZ8+rHYTPbpneteywAX + sB6Ak1tsYSUI5HMDd1B1sfUbTsL2HajbCGjKT7PlECQOPDegetwIFaP8crwG/IRtqa7rRqP68ZDA + 2Za8JetvAP/pwcYNFkQDTMoAYTAnZ13a32GUrsKZl+Jw9CyfyxSx+p6n4nb9PvD/Ce3kR9yygWXR + mpUriCBQBh5Dtg/MHaNrgyfa33MdMBMEUFHi1v+d3MGpQz7MS/H33uxi287qEVzfoNSuwAYLZzur + 6C2GnvSveiuY4OQL8o5z+XUtcu7YbPoikJn4mGz38qyRZxzDD/P4wZ9kbh2qA6K0U2R++DvAbA72 + KniHO0+lJwIzy8c5eoASCjOBqzKNEVo+wVaU3fTlsO7LLtsV3j7y9FTUUBZ6T3Itc9TFs7JrgZnm + 036zWYzVna98VC/7eNMWD+6jhmcyzueNN0Ocmuv7lhcVPxDGz1usYhsaQy8E+g4c/YppCrtONBlT + icWjKaNbD+vlEP05+6sLfJ12n6gPqP9ToKaP+g2jd83rfe46azHAGzj4V+eTL6+03SxdhfYd/w== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:46 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - 27t3pZ/+tic= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3Refqt36SuFl5R17C6BXnDn/lDw6GvrzNXSavCCjfTrhf1SSYasgMkBbxt2jfLU93gJKWyzgfwZs + +de3WoNhw/O7O0eIwfWLbIDq78wbWFu1RzY2PkNdCFeQgMzt3XrPwWWe0CGFoMey6wuLT9Fyj15P + o0lfA/sfLaV+1LiU2j8e3iSwgmobyycmasIAmL7HZk6muusqUkO6+Zy6b8zn09xlcPoGR1EPADyA + 3zvdxKpDfGMF+CtWgmhMqJ52JC30rfBfkINyncF8pn+qZcNEnPHx1915FHUUn2kH+jXenZvYJHfG + Gola5uZFpDsLSAbWEj0GTlPl24OeJ6t+PCeXrMk60fazqR2TgkQTs1Udr3pjJ2kbF0BKtO94yM/o + RrpPdnKklnjlZdA4n4DrRnxvhiXBHzal4N4+WeVR2RbQE3O3PXuTWk85IPTzllvTMzfOgeYmME3W + HU97keX8XX7poHrd3lG1dEsft0NdNMuWIiqWbNB18yOLsbiass4Lm2zEU+LtCe+pmQVp2jVSDlCu + VGqnIcwr6lqosARRV1ZuVVz4I+aKH9JxU+ACiv+Z7jqy5zfVF50KxeCgRxJObGPdiY9HkacKf7y0 + pt8QNInvlZMHo/WEYlg/7ths/QcfYH5JroxC1eoPNqs3k/diqznFoagrByFbENwHp9U4KEoL5rus + 12/p0c/StH6Ff7xnzuU/j8XNkDbvwEI86eyN2s6+RpWz1CCQYTQsWcPXwG3vuX/YGgFHALCfA7+y + 6ZDqLi9MIfThalbcCT4HYO+akxRGrf/xfNKo7pVsDV73jDKdWe/6qG26MbMjaldiflJ366z6yUE3 + J0GhAbRRg5omHhlexfHqClSDwVtEsAN1Y7MhDU6FMnPvRcqONLRts//U1Ny6SQPUbwOobAMHto4m + LKfrUvY32ESZ35ORuMZPmUOPcqv07RwGn5DH05Irtu9qOBg/Lfs7W1zQQbAqUQz9rXfo2EYZ605H + 37gkPRBMcFNnbzmFE2e7OcSmJ0I3tGb9aF2RdU/tfWOMAerOxNlsue3YkYJp308Dakx867fvp/Q0 + AQgK7RPZHz+uMPa/fO0lrNl5o21UaT190Xxb5LqU7OEoAxaAtKZnlN65itO+hB3ILarOfutIL6S/ + BqZL9tLvGn3WEXKlpPqIMKNLZ9z28ihptKrNu1Xqv4rCrZPquUDazb8sksKBr7Uk6nyFErWVnImP + U0u61wkU5AE7pFDoUr2FClVDNMDQRw+2cQr6aS9u6pl0GamnHwxgpCKOfHIa4Ij6NKPHeVgqXJNo + aXIbJH2OXUpCUWTc7B8F3k13Ik0ZUVsyzcB0DZFw8g7veAYSsi9/VsDED+ZEUCSAH3BkZyoUfw== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:46 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - SSA8hULDRkU= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + 29uk51uYkMfb3wfII/rSYNRxPy4HNUyYTrUUXIL0hkppVebaSWtVMzbAaZ5aUuB9Q16ue065FOml + pHyEx2cjwOmsYbsLOaxRKgw/XpFxRuvT0nQS2cXeI9PziMcF9ADAHpmvT5JZi1o50/PdAnWUIPAJ + 7xNldHDAiA065T5404hjaPY7KfT2Qn01gdGoVaAhqf4uO22Skeo2a+83hwPxNPIIUasNmD6tAich + pqr3fEAEGeB4mPqw3kWsIWXC85oM+q0NPy1bBSKs6+J7zDDNpXiB0nIOVJPU9+EFtqNyQvQ+zgEm + MGTV5/FqrArX79g8p2i7C0v9tCvDP5Z6oklcZxgD7WdpO4vCIJJvPsnoRPlt5YRi4D+/WEekVGaC + T8imqAkKVHjT7sKbUtmRYFUbfL9ZtxFvuI8UF5j1FDfkr6kg+e9jAUYMF02waT6PLCAl6ektAFa2 + PGhDrSgHHGaVPhIBPzUJy5EaL439/TiZ5GgioLExmPXceDZ3khczcmv9JrFk6iAXybqR2MtPJT9r + kiRa1MGZWlcm8rqVF/AMSacPy3shrOTHROGnd/vOKm6ixNyylgcllpmznGzDTxs0UXBMEg2SqSXW + lAb4Y/yl2tSgLS52mKtBfRIgNGvZvQfvhDKoyzwZjy3TH+K0DewwxjNe1a9bddKN/WKO7UBcp6az + UXsv/QdVWxYS7diAVSWZ9Gd/q+ncSPr8mwxAAMrIgYm8XrJWnTEeGem1RklXdGfMrqv7dc/EY7DJ + ygQK1ECd3hl5z7rb9zwN+R5y+vxXJpaODp0nt80fLIaOXLo+rYhPc4VWTtg60zJ87p9cQPWubRbn + okllYtPT5cv1Iz7gvS4sICtHI7s4m7ov+Wfr19yCEkUwDB2eR2AMPk/1BOXl9rIzpUWLS78cgztj + NWPM6I3Xt98XtEcc4yoEcnErjdvKi0lGqRex9FeqFRHg/GBBgDdGEPTqSVjNcerPWRQgVxrGQM4P + 7s8Zpu/9UwzvW5SENR8dwFA0ksuGYLzGKGltO4txEH5rYsDLrJOeGEWjz56GThcip4dLYOOdthX4 + r84e64GJBxYAVvOfjeOSeO9HNwTjopOr9CbSWZWYC8yxzyTapxQMr4+T9Uu8p7zXy7pQhw7h7RJw + hs38eADXcdtZ4jknmEGRuIXd7Y6wUdFOcmHYomOL9MkXeMJWH/La6yU/S1y5IgDAFOS6MILVR3Ay + 48H7swVN5h+GiLJViqzbevRd59dsoMpv0bnKH4wtN/7YOfTw/+in72/u4n83HRWThrOidoofezoN + xkiuX/2yCeHA2GNFpFfRt3arqJYRqgsrDsSyeSr28RJ7fUdqrWNsVCVtME2Bk6kUHd3JonPgTQ== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - zvR0aUEin5Y= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + cEbGr80oG+aZfLipiVKQQqMq5Sls0oLrEaBvsOe4wd9ex7QpGioiOdapa6zriXsulhEfkoAr/74k + C6g5PnX9pyNqx+3l3xaOcGKo8pQJS5SxGmzO7A/Z4J57XNf8ELGAq0J4Mp2giVcdZ2lYYKG/24aR + CN/3wAiXxpzUQkbyscDBbcAWXAyFVODOL9V61+fEturpkUMrtVoEfOGO00V+prrl0bZeR6FiiNAa + 3q5w4/sHcrn+Cb2pGeOrDnm6/bWuhZ2avJ4bVmvS6EELaVUismm6o6AJZtCaZ9D+NJ58gEOfqmxx + 3ZeJNF6Qu9cZZC4P4QRMig0z6w8bKQdP24WLsOUQ0Sql+KK2kLc/5U0uEbnk8xVBDTrQxDcUKa8y + dsGxmzr2aCelZMOUems9z1VeGk0HwL1t4LXzogIjc4S7Ll7Krtm2I7oM18frCim/iySW4XybUGju + WbN9vXqYUGoNuheByoD6ioSCgdnk+MfuwTL167OjAJYGQ8itnF2YOTo1rmBEF9RD1+L6bUV98l5k + mIkidwqtvwIoG/8oiA2txQw81EeAN3o1TMUbC5Y2zlqJcw/BsiGG/b/P3NPghP9pRW2tuWypmLd+ + szUHsK9hwBC0XMbe6I52IF4w+c2C+jHup5mx/8vH4NaLeFIVG4PCNnPPseAZB7zJmL0WWpeiNFSW + ExZJUgDgMok4jDzxD8JpcmQlz55289P4Zn7llgww0TLztDFw1wtxgmEQmFx4dOu8h0yS15JopA/N + 1pA5w/GojhMJtimx0nMXAuDXrhhyDUegiF2WRyc77b6nefuQyzkvZU3n8SjvrJ7HjdAfs/qek15A + UVTUb8CQgGsgz73kkSfFYNzt26t3K3mVx6Zk3NODb5qdFDZLc6olpimwGBUVyx3am6Aty13rZnC2 + brd4XmpOap6JY7QTKRtltJw/4v112Cokzv/wDQ2t5JVrSmqOGbDaZT1CChMdETRGaIvlCENfhoce + udZOE0fR4ARixCLXDCTue47tUnGDGG/C16qrnPbJNqEsyN+hnmQF9t4dazf9i+4KmxZaHUMGgNY5 + WRQt4JPV68Pq3PsKH7KnUQZ3uDarwziu0ky5ua6fY+h7lfEyN79dReu3yZ2G2Fe4oRT2/7lI9fqj + uN47fMUIyFgZWKLgSE4Q7/ws/jqECZp+u5UT9SMUwq6oXeERZEJ02DGV01z6+Uq1Y9/CtcMWXl7s + sEuH3CHQKZ+PQlUTv28zDqogjgNb4+YQ4AqOoh5D1M6MTF2G33lISAoNWwdY+chY1AqXf3j0WomN + Q4l/GFZhIeqti3T1+1eu+aiKeKC0psF3IiyhTXZ81hWqdHXQhN15ECJqXWtlAY8KhY612vQhkw== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - 9SUzQvVZMos= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: !!binary | + c2POaOX8gL7G3lMU3NmiW3kr9jsmjPD/re+E7w== + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '28' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - mtb5OOwk2Tg= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '548' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6?comp=blocklist + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 14 Jun 2022 23:43:46 GMT + etag: + - '"0x8DA4E5FB9E7DFC3"' + last-modified: + - Tue, 14 Jun 2022 23:43:47 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: + - 458m2zSGZuo= + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6 + response: + body: + string: '' + headers: + accept-ranges: + - bytes + content-length: + - '5148' + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:46 GMT + etag: + - '"0x8DA4E5FB9E7DFC3"' + last-modified: + - Tue, 14 Jun 2022 23:43:47 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer397b19d6/encryptionv2_blob397b19d6 + response: + body: + string: !!binary | + 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 + UxTc2aJbeSv2OyaM8P+t74Tv + headers: + accept-ranges: + - bytes + content-length: + - '5148' + content-range: + - bytes 0-5147/5148 + content-type: + - application/octet-stream + date: + - Tue, 14 Jun 2022 23:43:46 GMT + etag: + - '"0x8DA4E5FB9E7DFC3"' + last-modified: + - Tue, 14 Jun 2022 23:43:47 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: + - Origin + x-ms-blob-type: + - BlockBlob + x-ms-creation-time: + - Tue, 14 Jun 2022 23:43:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "U3ab1VNJ4dR34SCCTHFwbHru9iwpAr2bht6WziAbWNnNAFWarOy31LnxV0Vmva0b", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2021-08-06' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_decryption_on_non_encrypted_blob.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_decryption_on_non_encrypted_blob.yaml new file mode 100644 index 000000000000..926b7376b792 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_decryption_on_non_encrypted_blob.yaml @@ -0,0 +1,219 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:06 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:06 GMT + etag: '"0x8DA4E600D3346D0"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c?restype=container +- request: + body: Hello World Not Encrypted! + headers: + Accept: + - application/xml + Content-Length: + - '26' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c + response: + body: + string: '' + headers: + content-length: '0' + content-md5: o87WgihooSvxgQmgMUvigg== + date: Tue, 14 Jun 2022 23:46:06 GMT + etag: '"0x8DA4E600D3D0769"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: Uo3ZNCShFc8= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '26' + content-md5: o87WgihooSvxgQmgMUvigg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D3D0769"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c + response: + body: + string: Hello World Not Encrypted! + headers: + accept-ranges: bytes + content-length: '26' + content-range: bytes 0-25/26 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D3D0769"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: o87WgihooSvxgQmgMUvigg== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '26' + content-md5: o87WgihooSvxgQmgMUvigg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D3D0769"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c + response: + body: + string: Hello World Not Encrypted! + headers: + accept-ranges: bytes + content-length: '26' + content-range: bytes 0-25/26 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D3D0769"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: o87WgihooSvxgQmgMUvigg== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainera7ee1b8c/encryptionv2_bloba7ee1b8c +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek.yaml new file mode 100644 index 000000000000..9e818b66b6fa --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek.yaml @@ -0,0 +1,160 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf737141f?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D94983B"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf737141f?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAABZn5M4DDG0sh/IhOuHAAQARv6dLOWJRrfOFRRAwm02XNcE9RsOE= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/eh8e8rmTDNEeqfego0WE3LX4828kvTDuQtQBeMAdGqHT0z+3gCAduGxZOqRm1F5", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f + response: + body: + string: '' + headers: + content-length: '0' + content-md5: s/ui0Ahp98RCC1sCy4I+zw== + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D9E5308"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: c9bOMs6BiiA= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: s/ui0Ahp98RCC1sCy4I+zw== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D9E5308"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/eh8e8rmTDNEeqfego0WE3LX4828kvTDuQtQBeMAdGqHT0z+3gCAduGxZOqRm1F5", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:07 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAABZn5M4DDG0sh/IhOuHAAQARv6dLOWJRrfOFRRAwm02XNcE9RsOE= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600D9E5308"' + last-modified: Tue, 14 Jun 2022 23:46:07 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: s/ui0Ahp98RCC1sCy4I+zw== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:07 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "/eh8e8rmTDNEeqfego0WE3LX4828kvTDuQtQBeMAdGqHT0z+3gCAduGxZOqRm1F5", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf737141f/encryptionv2_blobf737141f +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek_resolver.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek_resolver.yaml new file mode 100644 index 000000000000..5bf319cbc05c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_kek_resolver.yaml @@ -0,0 +1,160 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbf3217f0?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600DD566AC"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerbf3217f0?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAA+rCjzGYlzixr3X9RBgEdShv5HrOtUomgeDuAFc2dYc8K0sENCcA= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "aujCaVbHnnlOHUj7JBt5d/D2XnDAmMYlMQDdkYV4rDDug/yPo1ZnbncPi8hOI2eG", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 + response: + body: + string: '' + headers: + content-length: '0' + content-md5: GCxGOw/4fcPFeXnNhOwUmA== + date: Tue, 14 Jun 2022 23:46:07 GMT + etag: '"0x8DA4E600DDF9835"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: TJ39Q36pN+8= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: GCxGOw/4fcPFeXnNhOwUmA== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600DDF9835"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "aujCaVbHnnlOHUj7JBt5d/D2XnDAmMYlMQDdkYV4rDDug/yPo1ZnbncPi8hOI2eG", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAA+rCjzGYlzixr3X9RBgEdShv5HrOtUomgeDuAFc2dYc8K0sENCcA= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600DDF9835"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: GCxGOw/4fcPFeXnNhOwUmA== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "aujCaVbHnnlOHUj7JBt5d/D2XnDAmMYlMQDdkYV4rDDug/yPo1ZnbncPi8hOI2eG", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainerbf3217f0/encryptionv2_blobbf3217f0 +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_modify_cek.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_modify_cek.yaml new file mode 100644 index 000000000000..d7be4de0bc4d --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_modify_cek.yaml @@ -0,0 +1,237 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E152391"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAAoHVaE2Ztos+TLlCWtfqLrz/f12aDR/91Kh+rQa81nZNgV2kg/OM= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "4oN9Gsq8JYDcaTju8uF9QyZFtJ2e5SNchz5mtxcA6VBankYaKmMiQIzsigt6+3IF", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe + response: + body: + string: '' + headers: + content-length: '0' + content-md5: 7LPl9MYKTdW/Zdxrks1ffg== + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E1E6CC1"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: afmFYqgmbDo= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: 7LPl9MYKTdW/Zdxrks1ffg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E1E6CC1"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "4oN9Gsq8JYDcaTju8uF9QyZFtJ2e5SNchz5mtxcA6VBankYaKmMiQIzsigt6+3IF", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "baI3WBfS5gNB89Ix1jbCF2P1v0mkboxUlDSHLda1IoTvqBZW8ed8mQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe?comp=metadata + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E2F5A3A"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe?comp=metadata +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: 7LPl9MYKTdW/Zdxrks1ffg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E2F5A3A"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "baI3WBfS5gNB89Ix1jbCF2P1v0mkboxUlDSHLda1IoTvqBZW8ed8mQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:08 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAoHVaE2Ztos+TLlCWtfqLrz/f12aDR/91Kh+rQa81nZNgV2kg/OM= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E2F5A3A"' + last-modified: Tue, 14 Jun 2022 23:46:08 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: 7LPl9MYKTdW/Zdxrks1ffg== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "baI3WBfS5gNB89Ix1jbCF2P1v0mkboxUlDSHLda1IoTvqBZW8ed8mQ==", "Algorithm": "A256KW"}, + "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainer8fcf16fe/encryptionv2_blob8fcf16fe +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_v2_v1_downgrade.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_v2_v1_downgrade.yaml new file mode 100644 index 000000000000..a1eba5641f99 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_v2_v1_downgrade.yaml @@ -0,0 +1,239 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E7CFEAB"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAAK4U773h1ze8JgR0UWNMBD+rM2An7ri9gDQg5n8feHmxd9wNiFgA= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "OPtkacDFh0R6jBv7GNIBCBda1mhNGEC8s07iahYa2aWR3oaWaE9qvkqwezTvAnQj", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac + response: + body: + string: '' + headers: + content-length: '0' + content-md5: ihzpbJ6za8fSZOZ4EqFarA== + date: Tue, 14 Jun 2022 23:46:08 GMT + etag: '"0x8DA4E600E86E342"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: m/5PA9txPAY= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: ihzpbJ6za8fSZOZ4EqFarA== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600E86E342"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:09 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "OPtkacDFh0R6jBv7GNIBCBda1mhNGEC8s07iahYa2aWR3oaWaE9qvkqwezTvAnQj", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "OPtkacDFh0R6jBv7GNIBCBda1mhNGEC8s07iahYa2aWR3oaWaE9qvkqwezTvAnQj", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob", "ContentEncryptionIV": "SGGIgBkoIQAkRNhHp8uoVw=="}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac?comp=metadata + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600E997E27"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac?comp=metadata +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: ihzpbJ6za8fSZOZ4EqFarA== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600E997E27"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:09 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "OPtkacDFh0R6jBv7GNIBCBda1mhNGEC8s07iahYa2aWR3oaWaE9qvkqwezTvAnQj", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob", "ContentEncryptionIV": + "SGGIgBkoIQAkRNhHp8uoVw=="}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAK4U773h1ze8JgR0UWNMBD+rM2An7ri9gDQg5n8feHmxd9wNiFgA= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600E997E27"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: ihzpbJ6za8fSZOZ4EqFarA== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:09 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "OPtkacDFh0R6jBv7GNIBCBda1mhNGEC8s07iahYa2aWR3oaWaE9qvkqwezTvAnQj", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": "AES_CBC_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob", "ContentEncryptionIV": + "SGGIgBkoIQAkRNhHp8uoVw=="}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainer44d18ac/encryptionv2_blob44d18ac +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_blob_lease.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_blob_lease.yaml new file mode 100644 index 000000000000..f7ad4b9d9a19 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_blob_lease.yaml @@ -0,0 +1,273 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer93d1907?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600ED3E846"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907?restype=container +- request: + body: null + headers: + Accept: + - application/xml + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:09 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6Y5zc84Q/hsVBLLOfu74ZGMVx81NYpNVtrbCmF9ssDXFKgDbaYg5QvCKs+A+fwdZ", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 + response: + body: + string: '' + headers: + content-length: '0' + content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600EE374A4"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: AAAAAAAAAAA= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-action: + - acquire + x-ms-lease-duration: + - '-1' + x-ms-proposed-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907?comp=lease + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600EE374A4"' + last-modified: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-lease-id: 00000000-1111-2222-3333-444444444444 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907?comp=lease +- request: + body: !!binary | + AAAAAAAAAAAAAAAAbmE1A0NGJ0os/IV/Fi/+3+SMx3U0C3G2Dav00QGBHnyiVLGNS1A= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "skaj8tnwFDhBXScLhQl5bzhAeQLf/kMrrVfHT/Injm4cJOhejNtDkZ/50NgfEMbK", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 + response: + body: + string: '' + headers: + content-length: '0' + content-md5: yJ/8EJM+Gk1ls1zQLfY4/w== + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600EF60F84"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: aUjelxwN2Zs= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444445 + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 + response: + body: + string: '' + headers: + date: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-error-code: LeaseIdMismatchWithBlobOperation + x-ms-version: '2021-08-06' + status: + code: 412 + message: The lease ID specified did not match the lease ID for the blob. + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: yJ/8EJM+Gk1ls1zQLfY4/w== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600EF60F84"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:09 GMT + x-ms-lease-duration: infinite + x-ms-lease-state: leased + x-ms-lease-status: locked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "skaj8tnwFDhBXScLhQl5bzhAeQLf/kMrrVfHT/Injm4cJOhejNtDkZ/50NgfEMbK", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-id: + - 00000000-1111-2222-3333-444444444444 + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAbmE1A0NGJ0os/IV/Fi/+3+SMx3U0C3G2Dav00QGBHnyiVLGNS1A= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600EF60F84"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: yJ/8EJM+Gk1ls1zQLfY4/w== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:09 GMT + x-ms-lease-duration: infinite + x-ms-lease-state: leased + x-ms-lease-status: locked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "skaj8tnwFDhBXScLhQl5bzhAeQLf/kMrrVfHT/Injm4cJOhejNtDkZ/50NgfEMbK", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainer93d1907/encryptionv2_blob93d1907 +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_if_match.yaml new file mode 100644 index 000000000000..a196df2cdccc --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_encryption_with_if_match.yaml @@ -0,0 +1,237 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600F369AF6"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a?restype=container +- request: + body: null + headers: + Accept: + - application/xml + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "wYYu0Co2swVLjIdafkl5yZnWxBKjeHuOg35tE8V7xCO7/nGgXgQZlu6YAZn270XA", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a + response: + body: + string: '' + headers: + content-length: '0' + content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600F3ECDAC"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: AAAAAAAAAAA= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a +- request: + body: !!binary | + AAAAAAAAAAAAAAAAdRM0ZSzSUUesFr2O2CibM4yUUC9nTDbeHNGVSabFbYGfB3M4a9A= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + If-Match: + - '"0x8DA4E600F3ECDAC"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+5GagVkE2UIz/MKyNUAmJ97PFy88t/Tt438t2CHkA5kEa9QxKg6VMnLKW+jB4LID", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a + response: + body: + string: '' + headers: + content-length: '0' + content-md5: KWtXiH8Uot+uJmFhh51A9A== + date: Tue, 14 Jun 2022 23:46:09 GMT + etag: '"0x8DA4E600F4757ED"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: SQa2QDAxYFQ= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a +- request: + body: null + headers: + Accept: + - application/xml + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a + response: + body: + string: '' + headers: + date: Tue, 14 Jun 2022 23:46:09 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-error-code: ConditionNotMet + x-ms-version: '2021-08-06' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a +- request: + body: null + headers: + Accept: + - application/xml + If-Match: + - '"0x8DA4E600F4757ED"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: KWtXiH8Uot+uJmFhh51A9A== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600F4757ED"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "+5GagVkE2UIz/MKyNUAmJ97PFy88t/Tt438t2CHkA5kEa9QxKg6VMnLKW+jB4LID", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a +- request: + body: null + headers: + Accept: + - application/xml + If-Match: + - '"0x8DA4E600F4757ED"' + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAdRM0ZSzSUUesFr2O2CibM4yUUC9nTDbeHNGVSabFbYGfB3M4a9A= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600F4757ED"' + last-modified: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: KWtXiH8Uot+uJmFhh51A9A== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:10 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "+5GagVkE2UIz/MKyNUAmJ97PFy88t/Tt438t2CHkA5kEa9QxKg6VMnLKW+jB4LID", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainerd78d183a/encryptionv2_blobd78d183a +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_empty.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_empty.yaml new file mode 100644 index 000000000000..cc3b8b30e645 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_empty.yaml @@ -0,0 +1,187 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:10 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf6aa141f?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600F97BA61"' + last-modified: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf6aa141f?restype=container +- request: + body: null + headers: + Accept: + - application/xml + Content-Length: + - '0' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "m4x4awXWktsCLj3uVZ9wgB4E8Skm0aRs1QMhlI9aH0qrLBykEE11ONgGCFMKllSw", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f + response: + body: + string: '' + headers: + content-length: '0' + content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600FA0DC80"' + last-modified: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: AAAAAAAAAAA= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '0' + content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600FA0DC80"' + last-modified: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:11 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "m4x4awXWktsCLj3uVZ9wgB4E8Skm0aRs1QMhlI9aH0qrLBykEE11ONgGCFMKllSw", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f + response: + body: + string: "\uFEFFInvalidRangeThe + range specified is invalid for the current size of the resource.\nRequestId:30e000c2-b01e-007c-7048-80f43d000000\nTime:2022-06-14T23:46:11.3494337Z" + headers: + content-length: '249' + content-range: bytes */0 + content-type: application/xml + date: Tue, 14 Jun 2022 23:46:10 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-error-code: InvalidRange + x-ms-version: '2021-08-06' + status: + code: 416 + message: The range specified is invalid for the current size of the resource. + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '0' + content-md5: 1B2M2Y8AsgTpgAmY7PhCfg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600FA0DC80"' + last-modified: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:11 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "m4x4awXWktsCLj3uVZ9wgB4E8Skm0aRs1QMhlI9aH0qrLBykEE11ONgGCFMKllSw", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerf6aa141f/encryptionv2_blobf6aa141f +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_single_region_chunked.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_single_region_chunked.yaml new file mode 100644 index 000000000000..386531dc8dfb --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_put_blob_single_region_chunked.yaml @@ -0,0 +1,559 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:10 GMT + etag: '"0x8DA4E600FDDDCD1"' + last-modified: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAAQRMrf7gHRc1hQvi+aSaQWj2+2OkGHdx7f8L62ApjId4coCJN+sCzVhwLC2fp + Pa5ANHJZvu7K3XBxhs+2MUA3DOpqeryTGOo5aFt7oOQR4HVL37ZkPxF/0rACGGnsAbsX9QLGFlAc + QLQvuYNwLNEzT398rIZVwGYD+N9AATwvVwEpuljVxEpkJ5GwBfC9tG+TLL3fr7U5ooYKpChnRWf7 + sHWQPNyohsG+BqKke2/eVBV1B+CM/IjR23Q1vN/KRIkhAEm1ribPb21y5GvKX1YQhshj4JguvjDb + WuATuktth30sdkKA0b0nqK9eYYtZEsXjHzUwegrA7k3eFHww8cP6s0Yu1lGz89bPJ+OGTk+1B41Y + tpPH//gp73wkgFwZObzrtNngwxIgGQtmiLa45hN4Fm03SsGRS2lrXesC1GXiEkT4gXCzxwu9mR0I + rCjsBR6a7qVpAvE9e8XP1CQGw57k7rVJMCJAUWVQ91k44fY+axtfqCh+prGs8EoQkuOo+2kQh6kc + wMdO6CFbAufo1UStm1tL2zv0ydPwHczyOtYVLxGaMV993WfHNAvnSMu+NJSW3EwZmB7YJy+pIj/S + yZbmUH5yA7s9jm5dxUsB5UrhzTbWxeUWxEJMVRjOXsl9NbuGAj19tvjbrd8lfRWoazzYs0stNqI6 + WyjI1pBH0JGN9t1uF++MgojvaCnhAfjdUjfJn6IrbpuFVuVwSBeC/5IRaGa14a2iu6iYM8+mRSWi + Oz7JBrVtAJMP+jTsIA+yZmV9NUDjPsVDzmjzswumey1kPccYLuOhWzYJK1K2N+oBkTVHbHsaDmnU + NP2s9yt8HmFWviA3SF2Jti2/29PVdwoRWVIvW5rdyFaibtVz+4wtzQA243g+7o8Mtx00I4ltZZ0v + MiyL8pW1mB2zhoeZPmpMBDK1olnDIVLULXf0edq3Ne5ioUgY9/appKE6x5oPCUNk1WdxsPt5NER5 + kI7ZOOaOcBAKXO/RHnGiuRIzcXixzAuxtAR+nskV//k75E2ec3LjLyNBM7Tkf6lkZDXtYWCBPUm0 + HLMUrBQNJ6FWMRdMbov5C2Bwx0NYyM7kebhHE9pL90cM5BPY56hH1Dw3h3Lp4Jgmn4gLfYzS2b4c + QRFqEId7wLdMChCQatoqp6yBrL8RRiP9TLnzHtHrqgjziAY8yxPiWgWvXvOnqSyVoNNCbgVYhCpa + kF1bhsFxnCkg6kzwhFCLIcDNGbQZ55SNd/q9ykgOna2PhT7kTSNNI15ZrpQbG+Cy5a4ARWnCJO99 + JaFzaorJdgFfEQtSa+Rgxibg99nOIsuaQwLQbdk+KN59HZUwrUsT1J4+0sNNMuS4saqe065dUA== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: Htux+uAyOlo= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D +- request: + body: !!binary | + HtxnRqebhfimtnwEU14Re1oV27Duk2GB+PXyzOVgb2GlJaTpm9lKEnEPfDaxmVB85ToD53OxoaNE + +AwP7VHTdKOSzuaiFyQmpTQUW/ASYAQDHcrMgTyh/vUGB6VwfQAAiiZ+0lwYM3rL297SQO3dqeyo + NsML4vKi5kku9/dqisfvthwUYgayzSr+8xo++bRcoyupplaPuvs6Opr7zD3DekchMoktWl2AaS4I + YwqmoWhMqY01t5h4Sho2WEe+2Y64XzS7hDK65B6iNs1CV0eFephvHtJOGiD6woaYq/bqZ1qd/SrW + vMa9uRKAKoFf6ri9rbFqv6hnETrrbxBcJLgyVyhr4UN+r5rcBps/82RiiTqHGGaWymEC4gnIKRW6 + l7jEsl+KgtA180r4FJXTAKYnqEJ5FsOtmyqsw7+cvEgsbrxCe1S6+no/ch6BuJRKOBdH4txArNml + wImxYbKnTCT8y8T3fCfdkgdJZxItITyRlVzRMbrgoyPOe7lrSej1/9lSoyPizb7hLQLEqmWNzsXR + jinE5hyuBZDsW3ei+cb6OuaBX0Ev/IipDyLTrm+XQdnjGcpABAv15vkzIkg2Jcf+IA3wbpMuVVvw + j6bl6fXhZJg6Fz69FdhELG3LCKS8gk2Tu4LG7n8xFKyxCYpwbEZC/sYxTxtQkrgw5X3DZDQoA+MU + e+/NWhVNlLvbA93T7L773Pt/TFEFRv6cmn5jLrBavWKdU16Fus63wUQ9Vxv6YCSPXvwLdDXr3gVd + fGw/hPX4xcqlYwkeDCS++8qls5HpWQGhAVAsg60GfUWJVt3NQ+Sl4ut8mYUsAQwkE6g1ZKImp93r + ZvLmmVXDPazylsmGrh9BIDUfg3Y0CgA+vq3o7rOSa5uT5Y+fWF3O+0QPNEw4ErZ3slvDulOeaUNX + 8lmsQOiENS3XilAAAliWQJtDsHtQMvNwE8ednxiVmIdt2DWgVhwmgw+fPh0fER5fSgsh1v4FsNKp + xwwFcglXlUG/dnHQYdKlVB1faes/9yEFCwl4vAXTRmelQ6JX8A/F5bX6vX9IuXre/+MrzJkf+wJz + MP3l7EdoDV3VBBRJxZfAYjZbh4dwMBBgUl3a7UpW544676DERGsx5I88FuAJ/bXtjpA+E4pHr/QS + j7ll48CD1hN/huYSkrd2U0co/Bth/JMlXT0VA6frd49pEwRapGQj83vasWm+8V3xHyFLu4NdvVCF + LfcHlizqf+PbernBGMGLrdAAEstipOktzQS28QrUbxK/kikSBZyFMy0+Ggrqoa1f8zyE4shUpspg + 43ymU9CrbfU91O0InIWIUFk/5tvZstGl6tZb19LChJw/Q7vNfK1xO6DOVKtdpS4TePDM5Ro59g== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: 8h4hWEFPdrI= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D +- request: + body: !!binary | + bKjmjtJRTxpkFXadZOBoedZfbZkU+BtBCaYvWjN5wqDkqfybUngYyABd5wgBQIZac9CvNsXrjwfg + 1YmN8ZCDZKvAgGEXj8OVOoWM7FHc4WBfd8iGx/kqCiSHT1x96Fr2clbKYhXGzxSqHHcUEcMmywUZ + JRqW+OqTPRn9X2iNBYpieEmkXi+7oHXhc+4r2KlO3afMC5d4RlzH+4bOx33WLwNTGyrveEqaDp7u + YAGmWzJdQUX85f7RWVXyy77q46OCUmd4yLLS1rYvvBmQrk+nhJ7Qi0WD8nfHuupjOlxfdIeKKZX+ + 9mBmxUfeaewhuo6mr7FE7HIHYwRIyBIO3V8G4SurRCrN8f/KPmwXVbmpDNTOxlTKYUe9nFEkKkuH + 6yD+A+3tu2WN8vCIhe8qvZpvmX0USsp1hoHGDvDWLP72nW1W/CuuEWlO3zmaz4HML+bgKiDNW7Jo + XIc+HIs7LzjY8zfujCp76XWf6wFXAuE9lwje2IPRiI6p1A4H9QDln1qZ4tssE+q2gGVvJNAFzn95 + yCqE8PkwRnbQ+PRidVLRn8VOzILL0JVTbJ3kxzDRrSZQGBunzxdvjcoZ59X5dAx1tZndh6/0d5C7 + bFijLZlBAD8+rBkREGqaKdHDdndKUyAq1d8D2TzFSu+obZX1eMiAjOjswVw1BIcEqjBswL93oebt + mE8df8zjTQpJBU1oPFCVf57/g4Hh54ZV1i3mdBOpDtxC075so8ISIPtu8MfMuOZVW7qQPZwqGb3P + /ss9wKTMmH/0/tUpl13GE3J8zB043kg0ihkElYfp08akxH2Efo8hPb7xXiDyA1od5Ws7jKTiPbyL + TIGVs6nMNGBuUAtIG65ZiTSD1dgAAhhhs1X45mmdSEjjqWZPEZRsizji3HuE3wqYcO5VMobKx1es + OBW4FHL1O8WKPotMAenW0n3ePIlIoj8Gd9YZbiKZ39gcAXnV+apUfn8jhDZPe/9KGXjIsBL/fYDe + VRiGTZa64axJJsdK2h+uvXp7z70FVs/tP47bB3PD/ukCNRqS8WidfriPtd5cyO/b/X4C9ekswgYK + NqxIxqAugt5ntnieREampHhK6ZpUR/mpRGsqBrrbGYgoSRev6IGr/XLSxO7kGR6aXVEJyayZAtLm + eF4zZBZmXnYwe75uqIXYc3Z6EGToUyOuZmyD3xShrBAhcLdgT9L59odl0xkT86d94UiwZ6kw5jkw + qejY4hrU4045wM3mnsNAiEQMN4V1LMF3dykn3CqjW2ACPM8xQCYk50ON1r78lZPYhqPKosH6yvrb + q5dvJvHSBsV+824XngD3+ue1J4EZXUM0XiWlyjmA66Jgy3eBrrUrnfkcCnfJ1w0Pd4jb3MI/Bw== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: JHPDE/f6FAI= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D +- request: + body: !!binary | + ipisIkAjeU99s5/c1IbJCjg97wPKUBoCg6Jjt+5965bKNes2q5ei4RraXVVnUT/1a5HtCimfMTj1 + Ktnem+algn0FRyVPj55jqtyh1/7WNWM1lYWDJQVxgbJiuRqAUJ652wmJGgcVxjHPyiN8/JnNGXfW + ZUvQATZmr3rzanZJ9sNdaP6crqrV0WxB2OWrnYH3iRjzrPgM89mHgwQPFPIB5b90YaLStuWoZhdQ + PUhE42hVN1nI9xJ+20HUyp9UCQxWijOK8uN/Na4NC+XUgs0UirfS7g0Y7dhl0gXtadU795UUcObk + 28t7VvC2Z6ybjPkbvM4COKBHVIwe2utue016s4TMLPAOelpbdcFNkzVyJSrhSa7ksg2YOnosmV55 + uqtEYzDV2IJrG+suZaVBcW/iH1P9EDfj+nlmlwvjbsCnaGw1PozTVKBwFfq6Y+Z9QZmWn+6WBkUO + MIp2WHgUv8kys6BftfjUETKgGIEEhTopB2qM0EvZub6sayi+0eypZHcOFeDl73NNRjPy7eaKxklN + t0cZr+Dxlupx2nQP7wtAIlrDa2xKv9B9Yir93dHb9O2/w3mbtGN5bLJJKkqjWr/h7nHDtpAK1Z1/ + C34ziE2sYbG575cDbJr46qG0VwaXLicSkGs0xQRrYwuTHDebdZpmD++Goz1bN75hvliO4hTpAfKm + LfA4HFL7BhE+U9Vpib21TRyX+DV0/ZsWiBHIP/fN89qYlMSGkPaSlxnpnkmUotSF/VsPuLJGjhMB + VIRuzsoztMysSoK72ttxlKtcuGPgbeP7iW7jLruH/DoOsknfhAtKlJ++Tf3eHhgilYA5tOw/YKJ8 + jteR7dxorrSvUIoVI8HQ2z1m17n2Ve9lfrrTKFEJEdw1XR4G8JGq1M14kw/Diy2xVY48dXbh8156 + iWk/NBpu38OwXqiPI4/Yt2mef7Jt5nBTwiWyQb5CKej4uAI4yB+APmStd/Kfpn24rqGDVD4mzPPu + GlT8QN8tqmNeCr68rOqBX6wP4E7EaXcMCtj3FRBWgVQIMOPyHBfZX444oKAKy2BEUWeWGhVHYBxy + I47YVgx12P/HNM14bSWZjlI9VTDeqRGquynvvBLyBERzhguBN1yiLla5fsAysPeQY4qWiHzObZEu + TQNhOzMx/CT+1L7MxxK/Kefpg9U5kw/APWANGqI5sZ16dXIAlBO32MjID+QBsP/oPHZLluUdRQ6+ + YBWWTrCFXFVsnOHqqerWWwA9wEH/K5XX5sAgYfzLVCk5ug4s94wb9ilWa32xrZITE+L7tseg41qA + 0BADsK+XPCHNOPF+qNqOsMCR41hNMp2x7qxBYKJ+PuZpxeHI5fe7XxW3D4BGYALqFmaG0xOdYQ== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:11 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:11 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: /+j/r31VMy0= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D +- request: + body: !!binary | + WLiERVjsYioAZDxNBXvYWs/FpafHro/NysNERslMdh2OFE3cVYAoV11GC+dd6EllEUkcoK9y3nn1 + afMuJrlZrCbLik2mTmR84/u2sfb5vlqFmtxLGVUvhlrmJps2JPZtPTVlNsVPuR47TCmVxJpdFExm + trjsT/fulRPFMm5HTATj73ZF3F8TbafTmsn1s8b2RRh7Hzt+vaUMmNvbsPNRMkG6a1HYFlcSk31O + +7K0Y3vAysXxvEUxRzJSdYXloXsFszxpNs14XrnOUe4SAHecu/8JDQi0To9eIyF5ObiPZGH4Ci2D + 8LIp6kVYIqbdkKcWGTOJwD8Npt0pxToRIcxpcjwnjjU+UfZAzlfET1bVbEwpGST38DBMqIAWPA8+ + ySpoy6j77sGnrC2PXd1PmNJNQhUxTLcindXIk1tj8bXfCU+f0LXhEWqlQNZcakH7X/MgkvHtsqSz + r5KvyxShUGUfPdFe9605a4YXUdq9ljLmbFeXlXJPe+F4MJb+QFl2v8w0KHDy4ocEDY70OUAq5cG7 + FWfCmEyFT5NEXq/oHDevBNJqaW6P3Y67AKAj0kRxhJWqrD/uH226gOAVAs1rdVDIsVjjkJ+Y7Vr2 + Me3kwpdp+uvsI7E61Ql8IXErwWL3YhlXnnHMjeJQeXqSPhmiDPRDaYCvQCbj/FLnF8W0VM9jLc58 + aqwjVO04FePK3zf8G3rct5kOFKw54GKWQzpEMOBaDerkJqkVmYkHjn/MKIUV/p1BxwDR/Gake5fn + fDblOLDBE7YArwbC3QNRO3711GWtzrxcbAQ+FlKL9eZ/vhHnwu/pitoNhz3Wk8qIlpPhgmjRkWxu + bqqkGSk36/4zAsNSbJNzCfA+vB1Nkshqd5PGUAWQoThKdistaiawr5TR7Kk5KMGxFbteKfyy3PKi + ThWavmrVywLml1LPqav/E86jB9EGJOPeQhILs6WkNOVEzqHSiRPA5HlZOPAcd+2nb8M0OivsdWJP + 2FGYlfh2PUkT07AbNzV9BiVKLFZUwj2bxQPJacdJbCo+7LRE3xGZPE45e83LeHEgNE5ZVw0+i1XL + RAjzUiS6G5dKUN2NwavCwkdQx3pU6mj4xfb4N9mIKM6HAtokT6NiiHprYHfJlDNIjOnOEpcFI7W3 + gx38bdL/O6MWbbYm4xcm1XY7g4aC30hXSmA9Bbd6TECB6B+hFZZbrTtN24Gx7BTlEi8UXmSWju0A + Mj0rCqAk44cySvu38ReZDKp3hjzPqkgGH50FgwCRmHKXgp4VNgBj3XDgYb12ouzhI2MoDDo0+p16 + nmyRk6VSlnxJec298SQpmMwJxroRWXVy7HN+lprLrYk+WPc+2YNSj2pEuvfWfje5vU8h+cSgaw== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:12 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:12 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: /jEUPN1rdns= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D +- request: + body: !!binary | + PjFrPrMCyD+TVK2dW62LeDuEoXHAtmTxTX81mA== + headers: + Accept: + - application/xml + Content-Length: + - '28' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:12 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:12 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: oUC211dCtBw= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==' + headers: + Accept: + - application/xml + Content-Length: + - '548' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:12 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=blocklist + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:12 GMT + etag: '"0x8DA4E601034F07A"' + last-modified: Tue, 14 Jun 2022 23:46:12 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: 458m2zSGZuo= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96?comp=blocklist +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:12 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '5148' + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:12 GMT + etag: '"0x8DA4E601034F07A"' + last-modified: Tue, 14 Jun 2022 23:46:12 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:12 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:12 GMT + x-ms-range: + - bytes=0-33554655 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96 + response: + body: + string: !!binary | + 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 + rZ1brYt4O4ShccC2ZPFNfzWY + headers: + accept-ranges: bytes + content-length: '5148' + content-range: bytes 0-5147/5148 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:12 GMT + etag: '"0x8DA4E601034F07A"' + last-modified: Tue, 14 Jun 2022 23:46:12 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:12 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "Co5SpZa+BPacWQzclJdDtCnk+kNARLYET2aryBa/A6R8VXRRA6/NhQmySCk7hdli", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6ef71a96/encryptionv2_blob6ef71a96 +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_v2_blocked_for_page_blob_upload.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_v2_blocked_for_page_blob_upload.yaml new file mode 100644 index 000000000000..369486a5a294 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_v2_blocked_for_page_blob_upload.yaml @@ -0,0 +1,29 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:13 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7f9f1a99?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E6011067D15"' + last-modified: Tue, 14 Jun 2022 23:46:13 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer7f9f1a99?restype=container +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption.yaml new file mode 100644 index 000000000000..81bb61c6acf4 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption.yaml @@ -0,0 +1,160 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:13 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6079162e?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E60112A9AFE"' + last-modified: Tue, 14 Jun 2022 23:46:13 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6079162e?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAAOnaMUfiRv8t1QS9hRWLk0ZujHZz7ahaFKFCngIJ4o5/wqPdX85s= + headers: + Accept: + - application/xml + Content-Length: + - '50' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-date: + - Tue, 14 Jun 2022 23:46:13 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "sg/brMxvK2Cgd1DoMmrjB1VXBvpzE/LYsFG/UAnhviJBcIuuX9zyxx5/HtrCxN2V", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e + response: + body: + string: '' + headers: + content-length: '0' + content-md5: 5+VGu7RTRPDzySkIGoJYqg== + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E6011334F74"' + last-modified: Tue, 14 Jun 2022 23:46:13 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: UMSTE/Kqt5c= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:13 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '50' + content-md5: 5+VGu7RTRPDzySkIGoJYqg== + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E6011334F74"' + last-modified: Tue, 14 Jun 2022 23:46:13 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:13 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "sg/brMxvK2Cgd1DoMmrjB1VXBvpzE/LYsFG/UAnhviJBcIuuX9zyxx5/HtrCxN2V", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:13 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e + response: + body: + string: !!binary | + AAAAAAAAAAAAAAAAOnaMUfiRv8t1QS9hRWLk0ZujHZz7ahaFKFCngIJ4o5/wqPdX85s= + headers: + accept-ranges: bytes + content-length: '50' + content-range: bytes 0-49/50 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E6011334F74"' + last-modified: Tue, 14 Jun 2022 23:46:13 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-content-md5: 5+VGu7RTRPDzySkIGoJYqg== + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:13 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "sg/brMxvK2Cgd1DoMmrjB1VXBvpzE/LYsFG/UAnhviJBcIuuX9zyxx5/HtrCxN2V", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainer6079162e/encryptionv2_blob6079162e +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption_chunked_upload.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption_chunked_upload.yaml new file mode 100644 index 000000000000..1743a8e13b35 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_blob_encryption_v2_async.test_validate_encryption_chunked_upload.yaml @@ -0,0 +1,559 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53?restype=container + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:13 GMT + etag: '"0x8DA4E601165ADAB"' + last-modified: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53?restype=container +- request: + body: !!binary | + AAAAAAAAAAAAAAAAZMr9MpUU8VEM79TISzbRsokFMeflzIYxfcuXul4ad1Djmr21rjG2k43ij8Uf + FoTutsyJKtf++/x0X65gozYKxqrm3lIpUk/sphyBP0rBhOqtf5yZ3f4M8xH+WmJy4FUDaDTsSnir + wtYL3GnkNrwhgbYz8m/GxH30fo+cY+KVgOUZw5tJzZWCVophV4/jvoBlfG76YrvVZCSkL2OOSKYW + a4v49261SfAHbGnkOuO5EVt8KLbSRM7CPvo45hW8xeYv/rvQdoMm29/zQl1w1tRFW3sB0816Odbl + fjsL6CA/EMf7YmDUQWmQlHWqY4Q3GDP9PFaCDUwtBwV+3RXowXDW1dp/SeALacvHY6ZSSWeT1cT3 + X8papvNK9CRBsjWLS/OcIt3gJwSNPhvyQrGE3gFGTnWQyB/ReyNSbw46+UmsWHvoF0s3nIGBjs7f + xMR24xuUgW97rW2Z4RXXpj9KYDaiQOHZoMyTdRo3eiey6w76s/VjNzh25si+Kqda4QlRkJenGt3n + io3eiUFuOCDATF2LMm01tx+AiqHzn03R9RUssnI5/3DpHDRZpF8aG0ytgH5tQTTcwctZTKedumj9 + 3wxLuAjYM4sRb5ZqSBWP7PlO9z4rjdTd5+wooDc0ze8Kg/SfiPsnjvOBS9gC91F3fcQJSLPC7QPa + 5zOSGwBYv/pY+LaJcjW/5YydRLye7Pa+JgwA04Iab3ypNEhiBvWqPQtGjvGdyjUJBbbsW3gUGTUy + IkUXiWhJRok1VeKfTkp9510D2wAFAhWi651P3TeLw6AqN82wsvtrZSQ+3Zza6u0O13e+i2N0n3lP + pMyza2FtyiHhYMqCRVALYsaamtOvj2b2CdbThsj6ECRIy7kRj/xmU76m33mO8FxG/lBSzBtmC80/ + Q31MgvQKU5TVbNimGv4hY+l6ImWdkSa7l24f6kePSLdwIzS2SO8sZtti5Wc/qdy3ztE7LwW02t6F + EEevxthhSNfpnhMZRJOFc4I3cK+OMUI9/BqTd1t5T8nxKVr14LoVo0EqgO18xl0qsCU0hdd28eL6 + W9apLOs13MJRjchdA9t2NvbT7Wyfye8hygAOeom44b7fQQ0U+cDpCXRzlq3KEf0pKXlbwuRw4LUS + 2OKfJPMXimu5BtNLDBjOb2t1BF1BM32Og2rtJoKaF6hbBYJzzXp0LSXSsbY4Y4goGLfyor8nsGru + vaRx/tfbQjXL9s5pjlGRxf/8gZGsz8Mb+twEmGjfKLLuWkbGhnAp1JsFvhTsPo7DVZO/DQOz+NxA + oRNPtfCbZSH5esrLTq5VMXIiDlDw0m7OQD9Pg7D+ZoitmcOZfoz8COVCdzzQ1dCxFc/xA9NWqA== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: OoVIlzlZc0U= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D +- request: + body: !!binary | + 8dN7EKRylzh3QattlKa/DlSzBmRDUlyYOz4+itfP5pJo9khNufwGFIUsMkl04Sp9TsajmCSslaqh + IN0IppWyBYeWzAY7YPqdsYRySWwAG3MqDmSxcvgqweM3p4UavsqU5iKb1WxS9zB2XBb1Mq2YO/HI + Nulgo5nZt2YKVDe9pXXDcEKwpMu53HdJI1P1xTOjgQgYBI74a8qxIBdbGjwwIXwV+WK0CqNDNiIM + VXdeWGHNudhibHwSZTcBVuIgKkdIcfcFYJSdWdSBhkI+zpxI5BOzypo1x9SjmLZjuA9tS1PkideZ + cZcRSXisheIVytLOwN6q7ZtzfH/rqN+U/b8BgUBn2xdZqYEH5I0RUs/9Nr0XhhXV94g7ncKunUQw + 0sDv2mViXpA2jqCutH0vESIhYMpYWe4uQgHE7Q7bybVo27rUN/D9DdMk4uRqhckbkI7a8ZIMEX9e + eIB0fySkqby6EXRcewINF2QAI4AYGEC9qXidiL6GGdIFCRUXbWX6l0HMMMa1PQhXbABBqHAB/ivK + 8gBwiP8LCYmLZ2iYmK7AsfVLtON01cO37o408eHqOdKzCnmh8jp27kh7GDBYFIUFIyxttpxgG4Ji + zqiTqYH7CXiQjJ0xRWnEAqeoFDxcEt8PA4REt5UP5WrGmW/APXp6mzdJlrSCStgbR/Th6Dl3FD62 + kMdxpJW2lWrVWGBo4NATFdF6gORcIZzAQqogmRT6zc5f2zdlF7uqeiNnB31D0jTKxLHMOHDmVFYR + uKUTQMR8/jMyPHZFbA/rKM+UogjZ2a0oPKAbi/yU0P9ONPlV0bGLIAi5lFOT3rmWw1XNtu9gJ2Vl + yyUeofRk7oH2z4wXudlu2TH5BSgICWzoh6HdF+Nov71AaAiLT/vtH64G5sV73d4EA/m702A72hEH + wgWtsOVd9oxCoHXxBq+HFNsW7yvHjW32O2/xdjkpyWRMSz46ZoavgKJ2S3Xh/195OM60zUaUEKns + g16Zuz53UYPVfnmU25C7kMBHjtaXhLQEx63oiwxRMgPDOds74IYmENMttiMpfdx0mYmhRKwo0XGE + rBS5Hz8gmdfZrOM+SZpxE9uQ0uXvKAT8Mfr12WU/efUo/I4J9fKYOJNVrgxG7oVsdTs3rSr0QM3h + gLPUdctkYV5YFgdYy5x0hQ2l23S5M7SJMrglHU6ujQ79yxHm+xiE0z3dbwDt4eTGTANGFN5ILS4K + Wm6osznZGsLd/llrMKsh8GF6sXJtQ66lA4Gq8d7LAVZ35S10YBcGtEQYoKRJgNz5LOHMLIUgDQmP + 3G3EIczLf4AE+GNWBqkaNIyIg8ahaOEj9uc1Z/Qm6YTWZ8MXJCJKcWmCjuFd7w/4A643clzo0g== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: 4dSIBE0vmAg= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D +- request: + body: !!binary | + wrpka51FBORUuF9x43jtS0vrkoP5FA+aJR2l5UdgMDy+I994OWtUPuL8m4vmZSg/pkNb5qd1oW5h + xb1dXlug7KPjFMS3RRscfgLXjigiQeo/X3wQHN+EThpVx9e3xK8K3lcrPpBf3l8MjeyHdX5STMG2 + hwgVZ4eLqjEb6FAs9e44lGzSEaCzT1ppqoAwxwj/6Di7UALkAJItk35p4FcztvvzuE71i4zQeszi + HiM4ctYZWSxNRI0haaZt5BVLVIOQX2bd6jbLGFv8f3kEQSsz66cucQ99KLnDVUNJLuIxBH0wvTXn + z61hSgALutfO+mXO1dZAONAVzZdNzYgdChkjYBLhEY3zkeycnd+H7DMTmuirpBhHRRA8hhecNnnk + A+wphOsqEqlu169QJbnI/3SEqy2Xj0ggZTA2L7N4oGMpVaRuWmHo0MHpzZ+hwkBfMaK9uAwEejKH + 4nDe/9UaB2AKMPQuCErLgLFYUQ2gz/wuJVWRBWRLNaqUFJ9Iecyfp4qc5h+OnzwvO1VnH79ppQ/q + MH/shXgfXa1z8t+kdydwpuj7z4ibdBCZxns4IIWBSdEeru8NayDKAVrwDg/ST1F6oh5SbPnO2EF1 + ILLiZB+eLxtbVyvKVpBlHhlwobmDou7oZYo5cEeNKFyIxd0IjEyBOlzQ2QmtjHtyDSYrODI0RY2r + YrI2T+GFoWYlZwIQ07CPEvA7txuvFL+jmwqW37BUl/t62R8YA+EWBpL6CHNnNhFtf5pn0gsKCmaF + Q++LNvjnprEMZaBIMN/NPSWpwHdPdl2PV3quUxGIkINPYd09CORrcTPB0oXM1f7iEkpS+uGOdyhE + ZTya0hcvBGlSaHGjeuPijDgrpWT1NWJKjhS4kOV45oosFxKrVF6CMvAIPEAuInJB56Z2PSIGLWQS + h+RSoMkkCdVS5b8C8Od3g/ogR7ksGGqn9kL01gGBZ1bcG40rvoHMM9/mDC1xD5yb/D0UCPomSK8T + bfs99acQYSQJacFDrGuluI38/ch7gFiZV8v/lTtO9/YJnVf+ysfsa5WXyUR5Gea5H6/YjvOTCkOv + uyAIYqmuodQd6WKf9p6TCjWknAfqHlkXGyNR3w6DbwB1YXhEBYG2V9WH0Da6sB16KRIhw/fDSHrW + LYKXFqEmVy+T/efidAkuyGBFbPoJppMfEGAmGUfTP3hH2HPj+aedN7hgvzJ6jMJx4QE3zxDyElAL + 4gg+oalJY/b9ftRC8lkplpQTiCpHFEbMg/n/6L7Sp1OtKCAhBORUAspX2PDKpkvxsmaOEqHFOFIH + 57B3Q7KJkKm3dDdQkKxjWJsRFN0uCY7TnKNtMXNRT98aeC6N9pyC56IQtMlcXhbI79QzrQX0AQ== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: G0acf8BIa14= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D +- request: + body: !!binary | + bloUncNtlFeuElkUTduFeo6FaaOmDJrnv/S+PdvLYHV4fx42D6nTQLrW+o4fc1KevRGDPnKo72Dy + PaHhnSIE24vlWvI6cPUk7kOFl2F26MzqyGVh+1M8VJpPWwpKZpa84FbJkwfb1jcbp5OwhAPXJwCW + F7SDRUNVcKtDg20z2CaNdkZTCNFruW8hva4vJa/I8zV7EYELVnllhT0yR111qJaP2BOJ5qmIwBAk + T4Yp8KzeN4GqTKCC2axylaF722TkBkQx6+3W+Nc2jlLAf+B6HHux4kL3tJppIrFhjA5LodBydHa0 + QzDU7VzbBOK8uHvBKQw14rp1aShdobGYs3JIcMQV7TXS438jkJJWklneXfKfMa6CPzUijsKFjLMu + rLYmxhXzM93RPQzDqO/sP8wsPZ+mk3tnIGULIP4GivBI+ITZ1E/TDne+agaV8vMdJIXtNlxD6lVP + q8AYRHfFK9+U8994nBe4y9QsDpnXe8z2oNxOwhCLzYxDU+g6mUKKs7Cmn356C9aoceRfavweRlqG + roQEoOyq8VIeQbrmqIPGC7weH5zDt8kT+2g72UShriSVnRSakG5RSaqbeTZgds8hAIbOGCDhh2P8 + ks2HVp6NqqIrzyEggUQjXyNKfEvrmSFCwc5mlmYz7yUt1prquVox3avNVgM1J4CaJ2FeigUO7HQF + UsOn55mbINldeBbNY9bpATu+6MYR5RLL9TMwsp7eCg5wyxYxGlVlXzT4BNadY8lOuOlYQeUd7gGx + bFCgJ1UVQncxS89dHjzt9s9dLrhp/FnuJ98wwFzUaONeTKh2KYFsMW6Y8A+CrGNdP04h6dO99Tq8 + 2Bzo+aQ/r2tDikN0rxIbheVzF2aj8PU9aT75lUKJfT+OMTXJZ0WnVGqBZHR4B23J17wfwsZNSb/J + 6m9iMCMoMTolmv23wQKM3NXXqKISCPNmKqTSML9HAi+/WOoMHcBe33XL8D5SsUcRwaDoV5QN6NLN + TJG2oMQHIClamtUcbp7a37zdQOC5lVggQ+PZHflauVMzhRfCVWsDTumetCP7a0U1wVZD8oO4478J + nA77yhRaX8MnVfjmp+0VojERgZnaHS2RInUSbTnJKpbBlwN6p+Ia6+uAGBn2R0DV3J2WaLSfOKOe + 1nTmhyFTWVZfecufW3SbBWCoaaPBmhAKiZnE31U+C4xIrGJHAXfzMvtmLaaptIwGQxsfduWBKCrk + lLJJNcPT+zbaiZNYhJ6GcVQDjlUzmlKBWMltWEdUlQeykEA8ZjSA57Lcwmcc+LUkbc3tDIgLO0R6 + gEWXuGsnq3IJ0NBRNhK8nhjihOOy6LgYUEJTGi6O0deJ5sbXUgyEZqEX5fbhoseB1pqWk0yC4w== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: V/+s0x7+Hto= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D +- request: + body: !!binary | + JXvPDCPC4AAexdHk8DL+tbftxYqsJ4QmPrFuPlH7UWBEBB4QJCLj7rHlf11/y3bxbAXTXIdPmELC + fFwDGHg0ALx3YSwM7BidelVG6DBlir9b20aIYcqSMtr80ctnGO/SpNlGeZe6sGq6dsaPMrwNTGeU + 8VQHEG7wg08SPN1Sep6W28jKuxMqJ72qKrKJgQNrAj+eRlwJOjw/vgPvBo37R12ql08EfnzTbkf9 + PEGQgeHdY/qckW2vaEQqWuqQ2Q9dQpnXCImrI02sO1dTloX72CUmOjPOtUmXZK5ZP6UVDvlYOIfC + Vhh54GL6stINlVnsUmqtPiWkEOqz3xUqGzBPUfljZ6004c27aAOPaU//exDPQGqtiO1xRLUoqGe/ + PGbKwKpPMOzKxJYEEdgByAlvaeJCleFtdHaD0YwtIPtIwtyh8MpC3YOBA79gLbuHpAX9GVb+LeRq + f4Skld2ocnLCKP/8pdXxZ2jbj9djkp0QIgEa7Vn9mULAUbvkCgQZ9CbOXnaqJbVvaNIC4SlfQYmZ + sS2Z1lf84PT4VEKNi/BjRZd+y5lYYtRUapkZ0ht0noV+YLhVI8Wh8cpw1QotJ3eRlrLqer4/xRKs + c+PeC8hJguvF8ZnBsCNZQFduGo096gt/Yir/XcPUDqTuV6RSh7tgpq0+1OiD8gJS1aOU7DVebZzv + aoSGwI4XLuuOEvBLQACpOOAK57asjqBq5HZSGTEck2RZP0kb67bjzeIXCio53vnI1zPh+4DHoOST + qkkjI+vVR2uesGLpDdUY92XMTdS6YhYWIAfHAzOkmLjPzxb5XTk4+f9fJfMbQDYDAfuE3g6BxDu7 + Gitkavyx1HraUDtpkrH/1NgrNMm4Z0d/Q47611XYQTXyuW+86O7dvBKugT7lAZ6aQxtGwAwzTebP + YdWorIaVt56Q2UkTxGL2disQ3p5MVhlFKD21/l5ciD4AxtyCBXEojqigOcOViYoqsiysKQI5ez1l + UuNFs5tRyjPPx7oblzdLoGw3V7vI3+Mgk7PUSsZ9eTYsA7F98cASrp6hN2BEQKD/qePN/mct91BU + 3+8PEUk91at6z1TL6m3NYLB7wrZXA0qg9Pam/bplzElWIEMH4yU1myBX44oE56QhRkZ9Z4ePDPf2 + Cuynjr8bvB6T8oaP40c9suVKUgGvdUnWWp+wYchCfhVeQEyixHJg6WJgfBwW7b3CEUBR0kALIwDn + 95bL/UAl4q/bgBT+mwvaoR3SNVHF/AWjbuV7fFDqrcDD7OFj6TjVbTlrOFmQ+uC2V6K847vGS4O1 + +QudcSuhldYwCUCXEHET+9kEXU2iIWxk1SdxjVYBCBt9roMUj/RgwGUXYmgiUfq+iQOBY/D8VQ== + headers: + Accept: + - application/xml + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: ilbMOIaslMo= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D +- request: + body: !!binary | + B9VACZugDvRNpTWwT0ZnxfcNosfxw5HhkzVTvw== + headers: + Accept: + - application/xml + Content-Length: + - '28' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: 69mm+D3HZBM= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==' + headers: + Accept: + - application/xml + Content-Length: + - '548' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-meta-encryptiondata: + - '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": + "FullBlob"}' + x-ms-version: + - '2021-08-06' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=blocklist + response: + body: + string: '' + headers: + content-length: '0' + date: Tue, 14 Jun 2022 23:46:14 GMT + etag: '"0x8DA4E6011B627E6"' + last-modified: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-content-crc64: 458m2zSGZuo= + x-ms-request-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 201 + message: Created + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53?comp=blocklist +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-version: + - '2021-08-06' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53 + response: + body: + string: '' + headers: + accept-ranges: bytes + content-length: '5148' + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:14 GMT + etag: '"0x8DA4E6011B627E6"' + last-modified: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:14 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 200 + message: OK + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.13.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Tue, 14 Jun 2022 23:46:14 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2021-08-06' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53 + response: + body: + string: !!binary | + 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 + NbBPRmfF9w2ix/HDkeGTNVO/ + headers: + accept-ranges: bytes + content-length: '5148' + content-range: bytes 0-5147/5148 + content-type: application/octet-stream + date: Tue, 14 Jun 2022 23:46:14 GMT + etag: '"0x8DA4E6011B627E6"' + last-modified: Tue, 14 Jun 2022 23:46:14 GMT + server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + vary: Origin + x-ms-blob-type: BlockBlob + x-ms-creation-time: Tue, 14 Jun 2022 23:46:14 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-encryptiondata: '{"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": + "LjhqViCmnLQy+b5SW/E3SestH/OU+ChtV4NEaE24xYzasyxuMohB47afayfbSzl3", "Algorithm": + "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": "AES_GCM_256"}, + "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": 12}, "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.13.0b1"}, "EncryptionMode": "FullBlob"}' + x-ms-server-encrypted: 'true' + x-ms-version: '2021-08-06' + status: + code: 206 + message: Partial Content + url: https://jalauzoncanary.blob.core.windows.net/utcontainerde381c53/encryptionv2_blobde381c53 +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2.py b/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2.py new file mode 100644 index 000000000000..12819d2e569c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2.py @@ -0,0 +1,775 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import base64 +import os +import pytest +from json import dumps, loads + +from azure.core import MatchConditions +from azure.core.exceptions import HttpResponseError +from azure.storage.blob import ( + BlobServiceClient, + BlobType +) +from azure.storage.blob._shared.encryption import ( + _dict_to_encryption_data, + _validate_and_unwrap_cek, + _GCM_NONCE_LENGTH, + _GCM_TAG_LENGTH, +) +from cryptography.hazmat.primitives.ciphers.aead import AESGCM + +from devtools_testutils.storage import StorageTestCase +from encryption_test_helper import ( + KeyWrapper, + KeyResolver, + RSAKeyWrapper, +) +from settings.testcase import BlobPreparer + +TEST_CONTAINER_PREFIX = 'encryptionv2_container' +TEST_BLOB_PREFIX = 'encryptionv2_blob' +MiB = 1024 * 1024 + + +class StorageBlobEncryptionV2Test(StorageTestCase): + # --Helpers----------------------------------------------------------------- + def _setup(self, storage_account_name, key): + self.bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=key) + self.container_name = self.get_resource_name('utcontainer') + + if self.is_live: + container = self.bsc.get_container_client(self.container_name) + try: + container.create_container() + except: + pass + + def _get_container_reference(self): + return self.get_resource_name(TEST_CONTAINER_PREFIX) + + def _get_blob_reference(self): + return self.get_resource_name(TEST_BLOB_PREFIX) + + def enable_encryption_v2(self, kek): + self.bsc.require_encryption = True + self.bsc.encryption_version = '2.0' + self.bsc.key_encryption_key = kek + # -------------------------------------------------------------------------- + + @BlobPreparer() + def test_v2_blocked_for_page_blob_upload(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + + # Act + with self.assertRaises(ValueError): + blob.upload_blob(b'Test', blob_type=BlobType.PAGEBLOB) + + @BlobPreparer() + def test_validate_encryption(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + blob.upload_blob(content, overwrite=True) + + blob.require_encryption = False + blob.key_encryption_key = None + metadata = blob.get_blob_properties().metadata + encrypted_data = blob.download_blob().readall() + + encryption_data = _dict_to_encryption_data(loads(metadata['encryptiondata'])) + + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = encrypted_data[:nonce_length] + ciphertext_with_tag = encrypted_data[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + # Assert + self.assertEqual(content, decrypted_data) + + @BlobPreparer() + def test_validate_encryption_chunked_upload(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=1024, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'a' * 5 * 1024 + + # Act + blob.upload_blob(content, overwrite=True) + + blob.require_encryption = False + blob.key_encryption_key = None + metadata = blob.get_blob_properties().metadata + encrypted_data = blob.download_blob().readall() + + encryption_data = _dict_to_encryption_data(loads(metadata['encryptiondata'])) + + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = encrypted_data[:nonce_length] + ciphertext_with_tag = encrypted_data[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + # Assert + self.assertEqual(content, decrypted_data) + + @BlobPreparer() + def test_encryption_kek(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_encryption_kek_rsa(self, storage_account_name, storage_account_key): + # We can only generate random RSA keys, so this must be run live or + # the playback test will fail due to a change in kek values. + self._setup(storage_account_name, storage_account_key) + kek = RSAKeyWrapper('key2') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_encryption_kek_resolver(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + key_resolver = KeyResolver() + key_resolver.put_key(self.bsc.key_encryption_key) + self.bsc.key_resolver_function = key_resolver.resolve_key + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + self.bsc.key_encryption_key = None + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_encryption_with_blob_lease(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + blob.upload_blob(b'', overwrite=True) + lease = blob.acquire_lease(lease_id='00000000-1111-2222-3333-444444444444') + + # Act + blob.upload_blob(content, overwrite=True, lease=lease) + with self.assertRaises(HttpResponseError): + blob.download_blob(lease='00000000-1111-2222-3333-444444444445') + + data = blob.download_blob(lease=lease).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_encryption_with_if_match(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + resp = blob.upload_blob(b'', overwrite=True) + etag = resp['etag'] + + # Act + resp = blob.upload_blob(content, overwrite=True, etag=etag, match_condition=MatchConditions.IfNotModified) + etag = resp['etag'] + + with self.assertRaises(HttpResponseError): + blob.download_blob(etag='0x111111111111111', match_condition=MatchConditions.IfNotModified) + + data = blob.download_blob(etag=etag, match_condition=MatchConditions.IfNotModified).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_decryption_on_non_encrypted_blob(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Not Encrypted!' + + blob.upload_blob(content, overwrite=True) + + # Act + blob.key_encryption_key = KeyWrapper('key1') + blob.require_encryption = True + + with self.assertRaises(HttpResponseError): + blob.download_blob() + + blob.require_encryption = False + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_encryption_v2_v1_downgrade(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Upload blob with encryption V2 + blob.upload_blob(content, overwrite=True) + + # Modify metadata to look like V1 + metadata = blob.get_blob_properties().metadata + encryption_data = loads(metadata['encryptiondata']) + encryption_data['EncryptionAgent']['Protocol'] = '1.0' + encryption_data['EncryptionAgent']['EncryptionAlgorithm'] = 'AES_CBC_256' + iv = base64.b64encode(os.urandom(16)) + encryption_data['ContentEncryptionIV'] = iv.decode('utf-8') + metadata = {'encryptiondata': dumps(encryption_data)} + + # Act / Assert + blob.set_blob_metadata(metadata) + with self.assertRaises(HttpResponseError) as e: + blob.download_blob() + + assert 'Decryption failed.' in str(e.exception) + + @BlobPreparer() + def test_encryption_modify_cek(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + blob.upload_blob(content, overwrite=True) + + # Modify cek to not include the version + metadata = blob.get_blob_properties().metadata + encryption_data = loads(metadata['encryptiondata']) + encrypted_key = base64.b64decode(encryption_data['WrappedContentKey']['EncryptedKey']) + cek = kek.unwrap_key(encrypted_key, 'A256KW') + encrypted_key = kek.wrap_key(cek[8:]) + encrypted_key = base64.b64encode(encrypted_key).decode() + encryption_data['WrappedContentKey']['EncryptedKey'] = encrypted_key + metadata = {'encryptiondata': dumps(encryption_data)} + + # Act / Assert + blob.set_blob_metadata(metadata) + with self.assertRaises(HttpResponseError) as e: + blob.download_blob() + + assert 'Decryption failed.' in str(e.exception) + + @BlobPreparer() + def test_put_blob_empty(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'' + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + def test_put_blob_single_region_chunked(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=1024, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 1024 + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_put_blob_multi_region_chunked_size_equal_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_put_blob_multi_region_chunked_size_equal_region_concurrent(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True, max_concurrency=3) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_put_blob_multi_region_chunked_size_less_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=2 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_put_blob_multi_region_chunked_size_greater_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=6 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_single_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=0, length=4 * MiB).readall() + + # Assert + self.assertEqual(content[:4 * MiB], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_multiple_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=0, length=8 * MiB).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_single_region_beginning_to_middle(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=0, length=100000).readall() + + # Assert + self.assertEqual(content[:100000], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_single_region_middle_to_middle(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=100000, length=2000000).readall() + + # Assert + self.assertEqual(content[100000:2100000], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_single_region_middle_to_end(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + length = len(content) + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=length - 1000000, length=1000000).readall() + + # Assert + self.assertEqual(content[length - 1000000:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_cross_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=3*1024*1024, length=2*1024*1024).readall() + + # Assert + self.assertEqual(content[3*1024*1024:5*1024*1024], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_inside_second_region(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=5 * MiB, length=MiB).readall() + + # Assert + self.assertEqual(content[5 * MiB:6 * MiB], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_oversize_length(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=1 * MiB, length=7 * MiB).readall() + + # Assert + self.assertEqual(content[1 * MiB:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_range_boundary(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(offset=4 * MiB - 1, length=4 * MiB + 2).readall() + + # Assert + self.assertEqual(content[4 * MiB - 1:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_chunked_size_equal_region_size(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_chunked_size_equal_region_size_concurrent(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 4 * MiB # 20 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob(max_concurrency=3).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_chunked_size_less_than_region_size(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=2 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_chunked_size_greater_than_region_size(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=6 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + data = blob.download_blob().readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_using_chunks_iter(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + blob.upload_blob(content, overwrite=True) + chunks_iter = blob.download_blob().chunks() + + total = 0 + for chunk in chunks_iter: + self.assertEqual(content[total:total+len(chunk)], chunk) + total += len(chunk) + + # Assert + self.assertEqual(len(content), total) + + @pytest.mark.skip(reason="Intended for manual testing due to blob size.") + @pytest.mark.live_test_only + @BlobPreparer() + def test_get_blob_large_blob(self, storage_account_name, storage_account_key): + self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = (b'abcde' * 100 * MiB) + b'abc' # 500 MiB + 3 + + # Act + blob.upload_blob(content, overwrite=True, max_concurrency=5) + data = blob.download_blob(max_concurrency=5).readall() + + # Assert + self.assertEqual(content, data) diff --git a/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2_async.py b/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2_async.py new file mode 100644 index 000000000000..04b673fb7989 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2_async.py @@ -0,0 +1,775 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import base64 +import os +import pytest +from json import dumps, loads + +from azure.core import MatchConditions +from azure.core.exceptions import HttpResponseError +from azure.storage.blob import BlobType +from azure.storage.blob.aio import ( + BlobServiceClient +) +from azure.storage.blob._shared.encryption import ( + _dict_to_encryption_data, + _validate_and_unwrap_cek, + _GCM_NONCE_LENGTH, + _GCM_TAG_LENGTH, +) +from cryptography.hazmat.primitives.ciphers.aead import AESGCM + +from devtools_testutils.storage import StorageTestCase +from encryption_test_helper import ( + KeyWrapper, + KeyResolver, + RSAKeyWrapper, +) +from settings.testcase import BlobPreparer + +TEST_CONTAINER_PREFIX = 'encryptionv2_container' +TEST_BLOB_PREFIX = 'encryptionv2_blob' +MiB = 1024 * 1024 + + +class StorageBlobEncryptionV2TestAsync(StorageTestCase): + # --Helpers----------------------------------------------------------------- + async def _setup(self, storage_account_name, key): + self.bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=key) + self.container_name = self.get_resource_name('utcontainer') + + if self.is_live: + container = self.bsc.get_container_client(self.container_name) + try: + await container.create_container() + except: + pass + + def _get_container_reference(self): + return self.get_resource_name(TEST_CONTAINER_PREFIX) + + def _get_blob_reference(self): + return self.get_resource_name(TEST_BLOB_PREFIX) + + def enable_encryption_v2(self, kek): + self.bsc.require_encryption = True + self.bsc.encryption_version = '2.0' + self.bsc.key_encryption_key = kek + # -------------------------------------------------------------------------- + + @BlobPreparer() + async def test_v2_blocked_for_page_blob_upload(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + + # Act + with self.assertRaises(ValueError): + await blob.upload_blob(b'Test', blob_type=BlobType.PAGEBLOB) + + @BlobPreparer() + async def test_validate_encryption(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + await blob.upload_blob(content, overwrite=True) + + blob.require_encryption = False + blob.key_encryption_key = None + metadata = (await blob.get_blob_properties()).metadata + encrypted_data = await (await blob.download_blob()).readall() + + encryption_data = _dict_to_encryption_data(loads(metadata['encryptiondata'])) + + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = encrypted_data[:nonce_length] + ciphertext_with_tag = encrypted_data[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + # Assert + self.assertEqual(content, decrypted_data) + + @BlobPreparer() + async def test_validate_encryption_chunked_upload(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=1024, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'a' * 5 * 1024 + + # Act + await blob.upload_blob(content, overwrite=True) + + blob.require_encryption = False + blob.key_encryption_key = None + metadata = (await blob.get_blob_properties()).metadata + encrypted_data = await (await blob.download_blob()).readall() + + encryption_data = _dict_to_encryption_data(loads(metadata['encryptiondata'])) + + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = encrypted_data[:nonce_length] + ciphertext_with_tag = encrypted_data[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + # Assert + self.assertEqual(content, decrypted_data) + + @BlobPreparer() + async def test_encryption_kek(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_encryption_kek_rsa(self, storage_account_name, storage_account_key): + # We can only generate random RSA keys, so this must be run live or + # the playback test will fail due to a change in kek values. + await self._setup(storage_account_name, storage_account_key) + kek = RSAKeyWrapper('key2') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_encryption_kek_resolver(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + key_resolver = KeyResolver() + key_resolver.put_key(self.bsc.key_encryption_key) + self.bsc.key_resolver_function = key_resolver.resolve_key + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Act + self.bsc.key_encryption_key = None + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_encryption_with_blob_lease(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + await blob.upload_blob(b'', overwrite=True) + lease = await blob.acquire_lease(lease_id='00000000-1111-2222-3333-444444444444') + + # Act + await blob.upload_blob(content, overwrite=True, lease=lease) + with self.assertRaises(HttpResponseError): + await blob.download_blob(lease='00000000-1111-2222-3333-444444444445') + + data = await (await blob.download_blob(lease=lease)).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_encryption_with_if_match(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + resp = await blob.upload_blob(b'', overwrite=True) + etag = resp['etag'] + + # Act + resp = await blob.upload_blob(content, overwrite=True, etag=etag, match_condition=MatchConditions.IfNotModified) + etag = resp['etag'] + + with self.assertRaises(HttpResponseError): + await blob.download_blob(etag='0x111111111111111', match_condition=MatchConditions.IfNotModified) + + data = await (await blob.download_blob(etag=etag, match_condition=MatchConditions.IfNotModified)).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_decryption_on_non_encrypted_blob(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Not Encrypted!' + + await blob.upload_blob(content, overwrite=True) + + # Act + blob.key_encryption_key = KeyWrapper('key1') + blob.require_encryption = True + + with self.assertRaises(HttpResponseError): + await blob.download_blob() + + blob.require_encryption = False + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_encryption_v2_v1_downgrade(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + # Upload blob with encryption V2 + await blob.upload_blob(content, overwrite=True) + + # Modify metadata to look like V1 + metadata = (await blob.get_blob_properties()).metadata + encryption_data = loads(metadata['encryptiondata']) + encryption_data['EncryptionAgent']['Protocol'] = '1.0' + encryption_data['EncryptionAgent']['EncryptionAlgorithm'] = 'AES_CBC_256' + iv = base64.b64encode(os.urandom(16)) + encryption_data['ContentEncryptionIV'] = iv.decode('utf-8') + metadata = {'encryptiondata': dumps(encryption_data)} + + # Act / Assert + await blob.set_blob_metadata(metadata) + with self.assertRaises(HttpResponseError) as e: + await blob.download_blob() + + assert 'Decryption failed.' in str(e.exception) + + @BlobPreparer() + async def test_encryption_modify_cek(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'Hello World Encrypted!' + + await blob.upload_blob(content, overwrite=True) + + # Modify cek to not include the version + metadata = (await blob.get_blob_properties()).metadata + encryption_data = loads(metadata['encryptiondata']) + encrypted_key = base64.b64decode(encryption_data['WrappedContentKey']['EncryptedKey']) + cek = kek.unwrap_key(encrypted_key, 'A256KW') + encrypted_key = kek.wrap_key(cek[8:]) + encrypted_key = base64.b64encode(encrypted_key).decode() + encryption_data['WrappedContentKey']['EncryptedKey'] = encrypted_key + metadata = {'encryptiondata': dumps(encryption_data)} + + # Act / Assert + await blob.set_blob_metadata(metadata) + with self.assertRaises(HttpResponseError) as e: + await blob.download_blob() + + assert 'Decryption failed.' in str(e.exception) + + @BlobPreparer() + async def test_put_blob_empty(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'' + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @BlobPreparer() + async def test_put_blob_single_region_chunked(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=1024, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 1024 + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_put_blob_multi_region_chunked_size_equal_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_put_blob_multi_region_chunked_size_equal_region_concurrent(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True, max_concurrency=3) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_put_blob_multi_region_chunked_size_less_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=2 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_put_blob_multi_region_chunked_size_greater_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_put_size=1024, + max_block_size=6 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_single_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=0, length=4 * MiB)).readall() + + # Assert + self.assertEqual(content[:4 * MiB], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_multiple_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=0, length=8 * MiB)).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_single_region_beginning_to_middle(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=0, length=100000)).readall() + + # Assert + self.assertEqual(content[:100000], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_single_region_middle_to_middle(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=100000, length=2000000)).readall() + + # Assert + self.assertEqual(content[100000:2100000], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_single_region_middle_to_end(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * MiB # 4 MiB + length = len(content) + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=length - 1000000, length=1000000)).readall() + + # Assert + self.assertEqual(content[length - 1000000:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_cross_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=3*1024*1024, length=2*1024*1024)).readall() + + # Assert + self.assertEqual(content[3*1024*1024:5*1024*1024], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_inside_second_region(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=5 * MiB, length=MiB)).readall() + + # Assert + self.assertEqual(content[5 * MiB:6 * MiB], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_oversize_length(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcdef' * MiB # 6 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=1 * MiB, length=7 * MiB)).readall() + + # Assert + self.assertEqual(content[1 * MiB:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_range_boundary(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcd' * 2 * MiB # 8 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(offset=4 * MiB - 1, length=4 * MiB + 2)).readall() + + # Assert + self.assertEqual(content[4 * MiB - 1:], data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_chunked_size_equal_region_size(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_chunked_size_equal_region_size_concurrent(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 4 * MiB # 20 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob(max_concurrency=3)).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_chunked_size_less_than_region_size(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=2 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_chunked_size_greater_than_region_size(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=6 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + data = await (await blob.download_blob()).readall() + + # Assert + self.assertEqual(content, data) + + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_using_chunks_iter(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + bsc = BlobServiceClient( + self.account_url(storage_account_name, "blob"), + credential=storage_account_key, + max_single_get_size=4 * MiB, + max_chunk_get_size=4 * MiB, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + + blob = bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = b'abcde' * 3 * MiB # 15 MiB + + # Act + await blob.upload_blob(content, overwrite=True) + chunks_iter = (await blob.download_blob()).chunks() + + total = 0 + async for chunk in chunks_iter: + self.assertEqual(content[total:total+len(chunk)], chunk) + total += len(chunk) + + # Assert + self.assertEqual(len(content), total) + + @pytest.mark.skip(reason="Intended for manual testing due to blob size.") + @pytest.mark.live_test_only + @BlobPreparer() + async def test_get_blob_large_blob(self, storage_account_name, storage_account_key): + await self._setup(storage_account_name, storage_account_key) + kek = KeyWrapper('key1') + self.enable_encryption_v2(kek) + + blob = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + content = (b'abcde' * 100 * MiB) + b'abc' # 500 MiB + 3 + + # Act + await blob.upload_blob(content, overwrite=True, max_concurrency=5) + data = await (await blob.download_blob(max_concurrency=5)).readall() + + # Assert + self.assertEqual(content, data) diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/encryption.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/encryption.py index 62607cc0cf85..0e46796b2ff3 100644 --- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/encryption.py +++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/encryption.py @@ -5,15 +5,19 @@ # -------------------------------------------------------------------------- import os -from os import urandom +import math +import sys +from collections import OrderedDict +from io import BytesIO from json import ( dumps, loads, ) -from collections import OrderedDict +from typing import Any, BinaryIO, Dict, Optional, Tuple from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 @@ -25,6 +29,11 @@ _ENCRYPTION_PROTOCOL_V1 = '1.0' +_ENCRYPTION_PROTOCOL_V2 = '2.0' +_GCM_REGION_DATA_LENGTH = 4 * 1024 * 1024 +_GCM_NONCE_LENGTH = 12 +_GCM_TAG_LENGTH = 16 + _ERROR_OBJECT_INVALID = \ '{0} does not define a complete interface. Value of {1} is either missing or invalid.' @@ -49,6 +58,7 @@ class _EncryptionAlgorithm(object): Specifies which client encryption algorithm is used. ''' AES_CBC_256 = 'AES_CBC_256' + AES_GCM_256 = 'AES_GCM_256' class _WrappedContentKey: @@ -75,6 +85,30 @@ def __init__(self, algorithm, encrypted_key, key_id): self.key_id = key_id +class _EncryptedRegionInfo: + ''' + Represents the length of encryption elements. + This is only used for Encryption V2. + ''' + + def __init__(self, data_length, nonce_length, tag_length): + ''' + :param int data_length: + The length of the encryption region data (not including nonce + tag). + :param str nonce_length: + The length of nonce used when encrypting. + :param int tag_length: + The length of the encryption tag. + ''' + _validate_not_none('data_length', data_length) + _validate_not_none('nonce_length', nonce_length) + _validate_not_none('tag_length', tag_length) + + self.data_length = data_length + self.nonce_length = nonce_length + self.tag_length = tag_length + + class _EncryptionAgent: ''' Represents the encryption agent stored on the service. @@ -101,11 +135,20 @@ class _EncryptionData: Represents the encryption data that is stored on the service. ''' - def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, - key_wrapping_metadata): + def __init__( + self, + content_encryption_IV, + encrypted_region_info, + encryption_agent, + wrapped_content_key, + key_wrapping_metadata): ''' - :param bytes content_encryption_IV: + :param Optional[bytes] content_encryption_IV: The content encryption initialization vector. + Required for AES-CBC (V1). + :param Optional[_EncryptedRegionInfo] encrypted_region_info: + The info about the autenticated block sizes. + Required for AES-GCM (V2). :param _EncryptionAgent encryption_agent: The encryption agent. :param _WrappedContentKey wrapped_content_key: @@ -115,28 +158,253 @@ def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, A dict containing metadata related to the key wrapping. ''' - _validate_not_none('content_encryption_IV', content_encryption_IV) _validate_not_none('encryption_agent', encryption_agent) _validate_not_none('wrapped_content_key', wrapped_content_key) + # Validate we have the right matching optional parameter for the specified algorithm + if encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_CBC_256: + _validate_not_none('content_encryption_IV', content_encryption_IV) + elif encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_GCM_256: + _validate_not_none('encrypted_region_info', encrypted_region_info) + else: + raise ValueError("Invalid encryption algorithm.") + self.content_encryption_IV = content_encryption_IV + self.encrypted_region_info = encrypted_region_info self.encryption_agent = encryption_agent self.wrapped_content_key = wrapped_content_key self.key_wrapping_metadata = key_wrapping_metadata -def _generate_encryption_data_dict(kek, cek, iv): +class GCMBlobEncryptionStream: + """ + A stream that performs AES-GCM encryption on the given data as + it's streamed. Data is read and encrypted in regions. The stream + will use the same encryption key and will generate a guaranteed unique + nonce for each encryption region. + """ + def __init__( + self, + content_encryption_key: bytes, + data_stream: BinaryIO, + ): + """ + :param bytes content_encryption_key: The encryption key to use. + :param BinaryIO data_stream: The data stream to read data from. + """ + self.content_encryption_key = content_encryption_key + self.data_stream = data_stream + + self.offset = 0 + self.current = b'' + self.nonce_counter = 0 + + def read(self, size: int = -1) -> bytes: + """ + Read data from the stream. Specify -1 to read all available data. + + :param int size: The amount of data to read. Defaults to -1 for all data. + """ + result = BytesIO() + remaining = sys.maxsize if size == -1 else size + + while remaining > 0: + # Start by reading from current + if len(self.current) > 0: + read = min(remaining, len(self.current)) + result.write(self.current[:read]) + + self.current = self.current[read:] + self.offset += read + remaining -= read + + if remaining > 0: + # Read one region of data and encrypt it + data = self.data_stream.read(_GCM_REGION_DATA_LENGTH) + if len(data) == 0: + # No more data to read + break + + self.current = self._encrypt_region(data) + + return result.getvalue() + + def _encrypt_region(self, data: bytes) -> bytes: + """ + Encrypt the given region of data using AES-GCM. The result + includes the data in the form: nonce + ciphertext + tag. + + :param bytes data: The data to encrypt. + """ + # Each region MUST use a different nonce + nonce = self.nonce_counter.to_bytes(_GCM_NONCE_LENGTH, 'big') + self.nonce_counter += 1 + + aesgcm = AESGCM(self.content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, data, None) + return nonce + cipertext_with_tag + + +def is_encryption_v2(encryption_data: Optional[_EncryptionData]) -> bool: + """ + Determine whether the given encryption data signifies version 2.0. + + :param Optional[_EncryptionData] encryption_data: The encryption data. Will return False if this is None. + """ + # If encryption_data is None, assume no encryption + return encryption_data and encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2 + + +def get_adjusted_upload_size(length: int, encryption_version: str) -> int: + """ + Get the adjusted size of the blob upload which accounts for + extra encryption data (padding OR nonce + tag). + + :param int length: The plaintext data length. + :param str encryption_version: The version of encryption being used. + """ + if encryption_version == _ENCRYPTION_PROTOCOL_V1: + return length + (16 - (length % 16)) + + if encryption_version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_length = _GCM_NONCE_LENGTH + _GCM_TAG_LENGTH + regions = math.ceil(length / _GCM_REGION_DATA_LENGTH) + return length + (regions * encryption_data_length) + + raise ValueError("Invalid encryption version specified.") + + +def get_adjusted_download_range_and_offset( + start: int, + end: int, + length: int, + encryption_data: Optional[_EncryptionData]) -> Tuple[Tuple[int, int], Tuple[int, int]]: + """ + Gets the new download range and offsets into the decrypted data for + the given user-specified range. The new download range will include all + the data needed to decrypt the user-provided range and will include only + full encryption regions. + + The offsets returned will be the offsets needed to fetch the user-requested + data out of the full decrypted data. The end offset is different based on the + encryption version. For V1, the end offset is offset from the end whereas for + V2, the end offset is the ending index into the stream. + V1: decrypted_data[start_offset : len(decrypted_data) - end_offset] + V2: decrypted_data[start_offset : end_offset] + + :param int start: The user-requested start index. + :param int end: The user-requested end index. + :param int length: The user-requested length. Only used for V1. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + :return: (new start, new end), (start offset, end offset) + """ + start_offset, end_offset = 0, 0 + if encryption_data is None: + return (start, end), (start_offset, end_offset) + + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if start is not None: + # Align the start of the range along a 16 byte block + start_offset = start % 16 + start -= start_offset + + # Include an extra 16 bytes for the IV if necessary + # Because of the previous offsetting, start_range will always + # be a multiple of 16. + if start > 0: + start_offset += 16 + start -= 16 + + if length is not None: + # Align the end of the range along a 16 byte block + end_offset = 15 - (end % 16) + end += end_offset + + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + start_offset, end_offset = 0, end + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + requested_length = end - start + + if start is not None: + # Find which data region the start is in + region_num = start // data_length + # The start of the data region is different from the start of the encryption region + data_start = region_num * data_length + region_start = region_num * region_length + # Offset is based on data region + start_offset = start - data_start + # New start is the start of the encryption region + start = region_start + + if end is not None: + # Find which data region the end is in + region_num = end // data_length + end_offset = start_offset + requested_length + 1 + # New end is the end of the encryption region + end = (region_num * region_length) + region_length - 1 + + return (start, end), (start_offset, end_offset) + + +def parse_encryption_data(metadata: Dict[str, Any]) -> Optional[_EncryptionData]: + """ + Parses the encryption data out of the given blob metadata. If metadata does + not exist or there are parsing errors, this function will just return None. + + :param Dict[str, Any] metadata: The blob metadata parsed from the response. + """ + try: + return _dict_to_encryption_data(loads(metadata['encryptiondata'])) + except: # pylint: disable=bare-except + return None + + +def adjust_blob_size_for_encryption(size: int, encryption_data: Optional[_EncryptionData]) -> int: + """ + Adjusts the given blob size for encryption by subtracting the size of + the encryption data (nonce + tag). This only has an affect for encryption V2. + + :param int size: The original blob size. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + """ + if is_encryption_v2(encryption_data): + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + num_regions = math.ceil(size / region_length) + metadata_size = num_regions * (nonce_length + tag_length) + return size - metadata_size + + return size + + +def _generate_encryption_data_dict(kek, cek, iv, version): ''' Generates and returns the encryption metadata as a dict. :param object kek: The key encryption key. See calling functions for more information. :param bytes cek: The content encryption key. - :param bytes iv: The initialization vector. + :param Optional[bytes] iv: The initialization vector. Only required for AES-CBC. + :param str version: The client encryption version used. :return: A dict containing all the encryption metadata. :rtype: dict ''' # Encrypt the cek. - wrapped_cek = kek.wrap_key(cek) + if version == _ENCRYPTION_PROTOCOL_V1: + wrapped_cek = kek.wrap_key(cek) + # For V2, we include the encryption version in the wrapped key. + elif version == _ENCRYPTION_PROTOCOL_V2: + # We must pad the version to 8 bytes for AES Keywrap algorithms + to_wrap = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek + wrapped_cek = kek.wrap_key(to_wrap) # Build the encryption_data dict. # Use OrderedDict to comply with Java's ordering requirement. @@ -146,13 +414,25 @@ def _generate_encryption_data_dict(kek, cek, iv): wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() encryption_agent = OrderedDict() - encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 - encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + encryption_agent['Protocol'] = version + + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_GCM_256 + + encrypted_region_info = OrderedDict() + encrypted_region_info['DataLength'] = _GCM_REGION_DATA_LENGTH + encrypted_region_info['NonceLength'] = _GCM_NONCE_LENGTH encryption_data_dict = OrderedDict() encryption_data_dict['WrappedContentKey'] = wrapped_content_key encryption_data_dict['EncryptionAgent'] = encryption_agent - encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_dict['EncryptedRegionInfo'] = encrypted_region_info encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} return encryption_data_dict @@ -169,7 +449,8 @@ def _dict_to_encryption_data(encryption_data_dict): :rtype: _EncryptionData ''' try: - if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + protocol = encryption_data_dict['EncryptionAgent']['Protocol'] + if protocol not in [_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2]: raise ValueError("Unsupported encryption version.") except KeyError: raise ValueError("Unsupported encryption version.") @@ -187,7 +468,21 @@ def _dict_to_encryption_data(encryption_data_dict): else: key_wrapping_metadata = None - encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + # AES-CBC only + encryption_iv = None + if 'ContentEncryptionIV' in encryption_data_dict: + encryption_iv = decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']) + + # AES-GCM only + region_info = None + if 'EncryptedRegionInfo' in encryption_data_dict: + encrypted_region_info = encryption_data_dict['EncryptedRegionInfo'] + region_info = _EncryptedRegionInfo(encrypted_region_info['DataLength'], + encrypted_region_info['NonceLength'], + _GCM_TAG_LENGTH) + + encryption_data = _EncryptionData(encryption_iv, + region_info, encryption_agent, wrapped_content_key, key_wrapping_metadata) @@ -227,11 +522,15 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol :rtype: bytes[] ''' - _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) - if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: - raise ValueError('Encryption version is not supported.') + # Validate we have the right info for the specified version + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + _validate_not_none('encrypted_region_info', encryption_data.encrypted_region_info) + else: + raise ValueError('Specified encryption version is not supported.') content_encryption_key = None @@ -249,6 +548,18 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol # Will throw an exception if the specified algorithm is not supported. content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, encryption_data.wrapped_content_key.algorithm) + + # For V2, the version is included with the cek. We need to validate it + # and remove it from the actual cek. + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + version_2_bytes = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek_version_bytes = content_encryption_key[:len(version_2_bytes)] + if cek_version_bytes != version_2_bytes: + raise ValueError('The encryption metadata is not valid and may have been modified.') + + # Remove version from the start of the cek. + content_encryption_key = content_encryption_key[len(version_2_bytes):] + _validate_not_none('content_encryption_key', content_encryption_key) return content_encryption_key @@ -279,26 +590,44 @@ def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver _validate_not_none('message', message) content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) - if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: - raise ValueError('Specified encryption algorithm is not supported.') + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if not encryption_data.content_encryption_IV: + raise ValueError("Missing required metadata for decryption.") - cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) - # decrypt data - decrypted_data = message - decryptor = cipher.decryptor() - decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) - # unpad data - unpadder = PKCS7(128).unpadder() - decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + block_info = encryption_data.encrypted_region_info + if not block_info or not block_info.nonce_length: + raise ValueError("Missing required metadata for decryption.") + + nonce_length = encryption_data.encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + else: + raise ValueError('Specified encryption version is not supported.') return decrypted_data -def encrypt_blob(blob, key_encryption_key): +def encrypt_blob(blob, key_encryption_key, version): ''' - Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Encrypts the given blob using the given encryption protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encryption metadata. This method should only be used when a blob is small enough for single shot upload. Encrypting larger blobs @@ -311,6 +640,7 @@ def encrypt_blob(blob, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. :rtype: (str, bytes) ''' @@ -319,70 +649,104 @@ def encrypt_blob(blob, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(blob) + padder.finalize() + data = BytesIO(blob) + encryption_stream = GCMBlobEncryptionStream(content_encryption_key, data) + + encrypted_data = encryption_stream.read() + + else: + raise ValueError("Invalid encryption version specified.") - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, version) encryption_data['EncryptionMode'] = 'FullBlob' return dumps(encryption_data), encrypted_data -def generate_blob_encryption_data(key_encryption_key): +def generate_blob_encryption_data(key_encryption_key, version): ''' Generates the encryption_metadata for the blob. - :param bytes key_encryption_key: + :param object key_encryption_key: The key-encryption-key used to wrap the cek associate with this blob. + :param str version: The client encryption version to use. :return: A tuple containing the cek and iv for this blob as well as the serialized encryption metadata for the blob. - :rtype: (bytes, bytes, str) + :rtype: (bytes, Optional[bytes], str) ''' encryption_data = None content_encryption_key = None initialization_vector = None if key_encryption_key: _validate_key_encryption_key_wrap(key_encryption_key) - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + content_encryption_key = os.urandom(32) + # Initialization vector only needed for V1 + if version == _ENCRYPTION_PROTOCOL_V1: + initialization_vector = os.urandom(16) encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, + version) encryption_data['EncryptionMode'] = 'FullBlob' encryption_data = dumps(encryption_data) return content_encryption_key, initialization_vector, encryption_data -def decrypt_blob(require_encryption, key_encryption_key, key_resolver, - content, start_offset, end_offset, response_headers): - ''' +def decrypt_blob( # pylint: disable=too-many-locals,too-many-statements + require_encryption, + key_encryption_key, + key_resolver, + content, + start_offset, + end_offset, + response_headers): + """ Decrypts the given blob contents and returns only the requested range. :param bool require_encryption: - Whether or not the calling blob service requires objects to be decrypted. + Whether the calling blob service requires objects to be decrypted. :param object key_encryption_key: The user-provided key-encryption-key. Must implement the following methods: wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. - :param key_resolver(kid): + :param object key_resolver: The user-provided key resolver. Uses the kid string to return a key-encryption-key implementing the interface defined above. + :param bytes content: + The encrypted blob content. + :param int start_offset: + The adjusted offset from the beginning of the *decrypted* content for the caller's data. + :param int end_offset: + The adjusted offset from the end of the *decrypted* content for the caller's data. + :param Dict[str, Any] response_headers: + A dictionary of response headers from the download request. Expected to include the + 'x-ms-meta-encryptiondata' header if the blob was encrypted. :return: The decrypted blob content. :rtype: bytes - ''' + """ try: encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) except: # pylint: disable=bare-except @@ -393,51 +757,87 @@ def decrypt_blob(require_encryption, key_encryption_key, key_resolver, return content - if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + algorithm = encryption_data.encryption_agent.encryption_algorithm + if algorithm not in(_EncryptionAlgorithm.AES_CBC_256, _EncryptionAlgorithm.AES_GCM_256): raise ValueError('Specified encryption algorithm is not supported.') - blob_type = response_headers['x-ms-blob-type'] - - iv = None - unpad = False - if 'content-range' in response_headers: - content_range = response_headers['content-range'] - # Format: 'bytes x-y/size' + version = encryption_data.encryption_agent.protocol + if version not in (_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2): + raise ValueError('Specified encryption version is not supported.') - # Ignore the word 'bytes' - content_range = content_range.split(' ') + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - content_range = content_range[1].split('-') - content_range = content_range[1].split('/') - end_range = int(content_range[0]) - blob_size = int(content_range[1]) + if version == _ENCRYPTION_PROTOCOL_V1: + blob_type = response_headers['x-ms-blob-type'] - if start_offset >= 16: - iv = content[:16] - content = content[16:] - start_offset -= 16 + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True else: + unpad = True iv = encryption_data.content_encryption_IV - if end_range == blob_size - 1: - unpad = True - else: - unpad = True - iv = encryption_data.content_encryption_IV + if blob_type == 'PageBlob': + unpad = False - if blob_type == 'PageBlob': - unpad = False + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() - content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) - decryptor = cipher.decryptor() + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() - content = decryptor.update(content) + decryptor.finalize() - if unpad: - unpadder = PKCS7(128).unpadder() - content = unpadder.update(content) + unpadder.finalize() + return content[start_offset: len(content) - end_offset] + + if version == _ENCRYPTION_PROTOCOL_V2: + # We assume the content contains only full encryption regions + total_size = len(content) + offset = 0 + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + decrypted_content = bytearray() + while offset < total_size: + # Process one encryption region at a time + process_size = min(region_length, total_size) + encrypted_region = content[offset:offset + process_size] - return content[start_offset: len(content) - end_offset] + # First bytes are the nonce + nonce = encrypted_region[:nonce_length] + ciphertext_with_tag = encrypted_region[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + decrypted_content.extend(decrypted_data) + + offset += process_size + + # Read the caller requested data from the decrypted content + return decrypted_content[start_offset:end_offset] def get_blob_encryptor_and_padder(cek, iv, should_pad): @@ -452,9 +852,9 @@ def get_blob_encryptor_and_padder(cek, iv, should_pad): return encryptor, padder -def encrypt_queue_message(message, key_encryption_key): +def encrypt_queue_message(message, key_encryption_key, version): ''' - Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Encrypts the given plain text message using the given protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encrypted message and the encryption metadata. @@ -465,6 +865,7 @@ def encrypt_queue_message(message, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A json-formatted string containing the encrypted message and the encryption metadata. :rtype: str ''' @@ -473,29 +874,47 @@ def encrypt_queue_message(message, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = os.urandom(32) - initialization_vector = os.urandom(16) - # Queue encoding functions all return unicode strings, and encryption should # operate on binary strings. message = message.encode('utf-8') - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 CBC uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(message) + padder.finalize() + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None + + # The nonce MUST be different for each key + nonce = os.urandom(12) + aesgcm = AESGCM(content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, message, None) + encrypted_data = nonce + cipertext_with_tag + + else: + raise ValueError("Invalid encryption version specified.") # Build the dictionary structure. queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector)} + initialization_vector, + version)} return dumps(queue_message) @@ -520,6 +939,7 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ :return: The plain text message from the queue message. :rtype: str ''' + response = response.http_response try: message = loads(message) @@ -528,9 +948,12 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) except (KeyError, ValueError): # Message was not json formatted and so was not encrypted - # or the user provided a json formatted message. + # or the user provided a json formatted message + # or the metadata was malformed. if require_encryption: - raise ValueError('Message was not encrypted.') + raise ValueError( + 'Encryption required, but received message does not contain appropriate metatadata. ' + \ + 'Message was either not encrypted or metadata was incorrect.') return message try: diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/encryption.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/encryption.py index 62607cc0cf85..0e46796b2ff3 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/encryption.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/encryption.py @@ -5,15 +5,19 @@ # -------------------------------------------------------------------------- import os -from os import urandom +import math +import sys +from collections import OrderedDict +from io import BytesIO from json import ( dumps, loads, ) -from collections import OrderedDict +from typing import Any, BinaryIO, Dict, Optional, Tuple from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 @@ -25,6 +29,11 @@ _ENCRYPTION_PROTOCOL_V1 = '1.0' +_ENCRYPTION_PROTOCOL_V2 = '2.0' +_GCM_REGION_DATA_LENGTH = 4 * 1024 * 1024 +_GCM_NONCE_LENGTH = 12 +_GCM_TAG_LENGTH = 16 + _ERROR_OBJECT_INVALID = \ '{0} does not define a complete interface. Value of {1} is either missing or invalid.' @@ -49,6 +58,7 @@ class _EncryptionAlgorithm(object): Specifies which client encryption algorithm is used. ''' AES_CBC_256 = 'AES_CBC_256' + AES_GCM_256 = 'AES_GCM_256' class _WrappedContentKey: @@ -75,6 +85,30 @@ def __init__(self, algorithm, encrypted_key, key_id): self.key_id = key_id +class _EncryptedRegionInfo: + ''' + Represents the length of encryption elements. + This is only used for Encryption V2. + ''' + + def __init__(self, data_length, nonce_length, tag_length): + ''' + :param int data_length: + The length of the encryption region data (not including nonce + tag). + :param str nonce_length: + The length of nonce used when encrypting. + :param int tag_length: + The length of the encryption tag. + ''' + _validate_not_none('data_length', data_length) + _validate_not_none('nonce_length', nonce_length) + _validate_not_none('tag_length', tag_length) + + self.data_length = data_length + self.nonce_length = nonce_length + self.tag_length = tag_length + + class _EncryptionAgent: ''' Represents the encryption agent stored on the service. @@ -101,11 +135,20 @@ class _EncryptionData: Represents the encryption data that is stored on the service. ''' - def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, - key_wrapping_metadata): + def __init__( + self, + content_encryption_IV, + encrypted_region_info, + encryption_agent, + wrapped_content_key, + key_wrapping_metadata): ''' - :param bytes content_encryption_IV: + :param Optional[bytes] content_encryption_IV: The content encryption initialization vector. + Required for AES-CBC (V1). + :param Optional[_EncryptedRegionInfo] encrypted_region_info: + The info about the autenticated block sizes. + Required for AES-GCM (V2). :param _EncryptionAgent encryption_agent: The encryption agent. :param _WrappedContentKey wrapped_content_key: @@ -115,28 +158,253 @@ def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, A dict containing metadata related to the key wrapping. ''' - _validate_not_none('content_encryption_IV', content_encryption_IV) _validate_not_none('encryption_agent', encryption_agent) _validate_not_none('wrapped_content_key', wrapped_content_key) + # Validate we have the right matching optional parameter for the specified algorithm + if encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_CBC_256: + _validate_not_none('content_encryption_IV', content_encryption_IV) + elif encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_GCM_256: + _validate_not_none('encrypted_region_info', encrypted_region_info) + else: + raise ValueError("Invalid encryption algorithm.") + self.content_encryption_IV = content_encryption_IV + self.encrypted_region_info = encrypted_region_info self.encryption_agent = encryption_agent self.wrapped_content_key = wrapped_content_key self.key_wrapping_metadata = key_wrapping_metadata -def _generate_encryption_data_dict(kek, cek, iv): +class GCMBlobEncryptionStream: + """ + A stream that performs AES-GCM encryption on the given data as + it's streamed. Data is read and encrypted in regions. The stream + will use the same encryption key and will generate a guaranteed unique + nonce for each encryption region. + """ + def __init__( + self, + content_encryption_key: bytes, + data_stream: BinaryIO, + ): + """ + :param bytes content_encryption_key: The encryption key to use. + :param BinaryIO data_stream: The data stream to read data from. + """ + self.content_encryption_key = content_encryption_key + self.data_stream = data_stream + + self.offset = 0 + self.current = b'' + self.nonce_counter = 0 + + def read(self, size: int = -1) -> bytes: + """ + Read data from the stream. Specify -1 to read all available data. + + :param int size: The amount of data to read. Defaults to -1 for all data. + """ + result = BytesIO() + remaining = sys.maxsize if size == -1 else size + + while remaining > 0: + # Start by reading from current + if len(self.current) > 0: + read = min(remaining, len(self.current)) + result.write(self.current[:read]) + + self.current = self.current[read:] + self.offset += read + remaining -= read + + if remaining > 0: + # Read one region of data and encrypt it + data = self.data_stream.read(_GCM_REGION_DATA_LENGTH) + if len(data) == 0: + # No more data to read + break + + self.current = self._encrypt_region(data) + + return result.getvalue() + + def _encrypt_region(self, data: bytes) -> bytes: + """ + Encrypt the given region of data using AES-GCM. The result + includes the data in the form: nonce + ciphertext + tag. + + :param bytes data: The data to encrypt. + """ + # Each region MUST use a different nonce + nonce = self.nonce_counter.to_bytes(_GCM_NONCE_LENGTH, 'big') + self.nonce_counter += 1 + + aesgcm = AESGCM(self.content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, data, None) + return nonce + cipertext_with_tag + + +def is_encryption_v2(encryption_data: Optional[_EncryptionData]) -> bool: + """ + Determine whether the given encryption data signifies version 2.0. + + :param Optional[_EncryptionData] encryption_data: The encryption data. Will return False if this is None. + """ + # If encryption_data is None, assume no encryption + return encryption_data and encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2 + + +def get_adjusted_upload_size(length: int, encryption_version: str) -> int: + """ + Get the adjusted size of the blob upload which accounts for + extra encryption data (padding OR nonce + tag). + + :param int length: The plaintext data length. + :param str encryption_version: The version of encryption being used. + """ + if encryption_version == _ENCRYPTION_PROTOCOL_V1: + return length + (16 - (length % 16)) + + if encryption_version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_length = _GCM_NONCE_LENGTH + _GCM_TAG_LENGTH + regions = math.ceil(length / _GCM_REGION_DATA_LENGTH) + return length + (regions * encryption_data_length) + + raise ValueError("Invalid encryption version specified.") + + +def get_adjusted_download_range_and_offset( + start: int, + end: int, + length: int, + encryption_data: Optional[_EncryptionData]) -> Tuple[Tuple[int, int], Tuple[int, int]]: + """ + Gets the new download range and offsets into the decrypted data for + the given user-specified range. The new download range will include all + the data needed to decrypt the user-provided range and will include only + full encryption regions. + + The offsets returned will be the offsets needed to fetch the user-requested + data out of the full decrypted data. The end offset is different based on the + encryption version. For V1, the end offset is offset from the end whereas for + V2, the end offset is the ending index into the stream. + V1: decrypted_data[start_offset : len(decrypted_data) - end_offset] + V2: decrypted_data[start_offset : end_offset] + + :param int start: The user-requested start index. + :param int end: The user-requested end index. + :param int length: The user-requested length. Only used for V1. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + :return: (new start, new end), (start offset, end offset) + """ + start_offset, end_offset = 0, 0 + if encryption_data is None: + return (start, end), (start_offset, end_offset) + + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if start is not None: + # Align the start of the range along a 16 byte block + start_offset = start % 16 + start -= start_offset + + # Include an extra 16 bytes for the IV if necessary + # Because of the previous offsetting, start_range will always + # be a multiple of 16. + if start > 0: + start_offset += 16 + start -= 16 + + if length is not None: + # Align the end of the range along a 16 byte block + end_offset = 15 - (end % 16) + end += end_offset + + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + start_offset, end_offset = 0, end + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + requested_length = end - start + + if start is not None: + # Find which data region the start is in + region_num = start // data_length + # The start of the data region is different from the start of the encryption region + data_start = region_num * data_length + region_start = region_num * region_length + # Offset is based on data region + start_offset = start - data_start + # New start is the start of the encryption region + start = region_start + + if end is not None: + # Find which data region the end is in + region_num = end // data_length + end_offset = start_offset + requested_length + 1 + # New end is the end of the encryption region + end = (region_num * region_length) + region_length - 1 + + return (start, end), (start_offset, end_offset) + + +def parse_encryption_data(metadata: Dict[str, Any]) -> Optional[_EncryptionData]: + """ + Parses the encryption data out of the given blob metadata. If metadata does + not exist or there are parsing errors, this function will just return None. + + :param Dict[str, Any] metadata: The blob metadata parsed from the response. + """ + try: + return _dict_to_encryption_data(loads(metadata['encryptiondata'])) + except: # pylint: disable=bare-except + return None + + +def adjust_blob_size_for_encryption(size: int, encryption_data: Optional[_EncryptionData]) -> int: + """ + Adjusts the given blob size for encryption by subtracting the size of + the encryption data (nonce + tag). This only has an affect for encryption V2. + + :param int size: The original blob size. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + """ + if is_encryption_v2(encryption_data): + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + num_regions = math.ceil(size / region_length) + metadata_size = num_regions * (nonce_length + tag_length) + return size - metadata_size + + return size + + +def _generate_encryption_data_dict(kek, cek, iv, version): ''' Generates and returns the encryption metadata as a dict. :param object kek: The key encryption key. See calling functions for more information. :param bytes cek: The content encryption key. - :param bytes iv: The initialization vector. + :param Optional[bytes] iv: The initialization vector. Only required for AES-CBC. + :param str version: The client encryption version used. :return: A dict containing all the encryption metadata. :rtype: dict ''' # Encrypt the cek. - wrapped_cek = kek.wrap_key(cek) + if version == _ENCRYPTION_PROTOCOL_V1: + wrapped_cek = kek.wrap_key(cek) + # For V2, we include the encryption version in the wrapped key. + elif version == _ENCRYPTION_PROTOCOL_V2: + # We must pad the version to 8 bytes for AES Keywrap algorithms + to_wrap = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek + wrapped_cek = kek.wrap_key(to_wrap) # Build the encryption_data dict. # Use OrderedDict to comply with Java's ordering requirement. @@ -146,13 +414,25 @@ def _generate_encryption_data_dict(kek, cek, iv): wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() encryption_agent = OrderedDict() - encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 - encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + encryption_agent['Protocol'] = version + + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_GCM_256 + + encrypted_region_info = OrderedDict() + encrypted_region_info['DataLength'] = _GCM_REGION_DATA_LENGTH + encrypted_region_info['NonceLength'] = _GCM_NONCE_LENGTH encryption_data_dict = OrderedDict() encryption_data_dict['WrappedContentKey'] = wrapped_content_key encryption_data_dict['EncryptionAgent'] = encryption_agent - encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_dict['EncryptedRegionInfo'] = encrypted_region_info encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} return encryption_data_dict @@ -169,7 +449,8 @@ def _dict_to_encryption_data(encryption_data_dict): :rtype: _EncryptionData ''' try: - if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + protocol = encryption_data_dict['EncryptionAgent']['Protocol'] + if protocol not in [_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2]: raise ValueError("Unsupported encryption version.") except KeyError: raise ValueError("Unsupported encryption version.") @@ -187,7 +468,21 @@ def _dict_to_encryption_data(encryption_data_dict): else: key_wrapping_metadata = None - encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + # AES-CBC only + encryption_iv = None + if 'ContentEncryptionIV' in encryption_data_dict: + encryption_iv = decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']) + + # AES-GCM only + region_info = None + if 'EncryptedRegionInfo' in encryption_data_dict: + encrypted_region_info = encryption_data_dict['EncryptedRegionInfo'] + region_info = _EncryptedRegionInfo(encrypted_region_info['DataLength'], + encrypted_region_info['NonceLength'], + _GCM_TAG_LENGTH) + + encryption_data = _EncryptionData(encryption_iv, + region_info, encryption_agent, wrapped_content_key, key_wrapping_metadata) @@ -227,11 +522,15 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol :rtype: bytes[] ''' - _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) - if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: - raise ValueError('Encryption version is not supported.') + # Validate we have the right info for the specified version + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + _validate_not_none('encrypted_region_info', encryption_data.encrypted_region_info) + else: + raise ValueError('Specified encryption version is not supported.') content_encryption_key = None @@ -249,6 +548,18 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol # Will throw an exception if the specified algorithm is not supported. content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, encryption_data.wrapped_content_key.algorithm) + + # For V2, the version is included with the cek. We need to validate it + # and remove it from the actual cek. + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + version_2_bytes = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek_version_bytes = content_encryption_key[:len(version_2_bytes)] + if cek_version_bytes != version_2_bytes: + raise ValueError('The encryption metadata is not valid and may have been modified.') + + # Remove version from the start of the cek. + content_encryption_key = content_encryption_key[len(version_2_bytes):] + _validate_not_none('content_encryption_key', content_encryption_key) return content_encryption_key @@ -279,26 +590,44 @@ def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver _validate_not_none('message', message) content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) - if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: - raise ValueError('Specified encryption algorithm is not supported.') + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if not encryption_data.content_encryption_IV: + raise ValueError("Missing required metadata for decryption.") - cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) - # decrypt data - decrypted_data = message - decryptor = cipher.decryptor() - decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) - # unpad data - unpadder = PKCS7(128).unpadder() - decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + block_info = encryption_data.encrypted_region_info + if not block_info or not block_info.nonce_length: + raise ValueError("Missing required metadata for decryption.") + + nonce_length = encryption_data.encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + else: + raise ValueError('Specified encryption version is not supported.') return decrypted_data -def encrypt_blob(blob, key_encryption_key): +def encrypt_blob(blob, key_encryption_key, version): ''' - Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Encrypts the given blob using the given encryption protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encryption metadata. This method should only be used when a blob is small enough for single shot upload. Encrypting larger blobs @@ -311,6 +640,7 @@ def encrypt_blob(blob, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. :rtype: (str, bytes) ''' @@ -319,70 +649,104 @@ def encrypt_blob(blob, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(blob) + padder.finalize() + data = BytesIO(blob) + encryption_stream = GCMBlobEncryptionStream(content_encryption_key, data) + + encrypted_data = encryption_stream.read() + + else: + raise ValueError("Invalid encryption version specified.") - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, version) encryption_data['EncryptionMode'] = 'FullBlob' return dumps(encryption_data), encrypted_data -def generate_blob_encryption_data(key_encryption_key): +def generate_blob_encryption_data(key_encryption_key, version): ''' Generates the encryption_metadata for the blob. - :param bytes key_encryption_key: + :param object key_encryption_key: The key-encryption-key used to wrap the cek associate with this blob. + :param str version: The client encryption version to use. :return: A tuple containing the cek and iv for this blob as well as the serialized encryption metadata for the blob. - :rtype: (bytes, bytes, str) + :rtype: (bytes, Optional[bytes], str) ''' encryption_data = None content_encryption_key = None initialization_vector = None if key_encryption_key: _validate_key_encryption_key_wrap(key_encryption_key) - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + content_encryption_key = os.urandom(32) + # Initialization vector only needed for V1 + if version == _ENCRYPTION_PROTOCOL_V1: + initialization_vector = os.urandom(16) encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, + version) encryption_data['EncryptionMode'] = 'FullBlob' encryption_data = dumps(encryption_data) return content_encryption_key, initialization_vector, encryption_data -def decrypt_blob(require_encryption, key_encryption_key, key_resolver, - content, start_offset, end_offset, response_headers): - ''' +def decrypt_blob( # pylint: disable=too-many-locals,too-many-statements + require_encryption, + key_encryption_key, + key_resolver, + content, + start_offset, + end_offset, + response_headers): + """ Decrypts the given blob contents and returns only the requested range. :param bool require_encryption: - Whether or not the calling blob service requires objects to be decrypted. + Whether the calling blob service requires objects to be decrypted. :param object key_encryption_key: The user-provided key-encryption-key. Must implement the following methods: wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. - :param key_resolver(kid): + :param object key_resolver: The user-provided key resolver. Uses the kid string to return a key-encryption-key implementing the interface defined above. + :param bytes content: + The encrypted blob content. + :param int start_offset: + The adjusted offset from the beginning of the *decrypted* content for the caller's data. + :param int end_offset: + The adjusted offset from the end of the *decrypted* content for the caller's data. + :param Dict[str, Any] response_headers: + A dictionary of response headers from the download request. Expected to include the + 'x-ms-meta-encryptiondata' header if the blob was encrypted. :return: The decrypted blob content. :rtype: bytes - ''' + """ try: encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) except: # pylint: disable=bare-except @@ -393,51 +757,87 @@ def decrypt_blob(require_encryption, key_encryption_key, key_resolver, return content - if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + algorithm = encryption_data.encryption_agent.encryption_algorithm + if algorithm not in(_EncryptionAlgorithm.AES_CBC_256, _EncryptionAlgorithm.AES_GCM_256): raise ValueError('Specified encryption algorithm is not supported.') - blob_type = response_headers['x-ms-blob-type'] - - iv = None - unpad = False - if 'content-range' in response_headers: - content_range = response_headers['content-range'] - # Format: 'bytes x-y/size' + version = encryption_data.encryption_agent.protocol + if version not in (_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2): + raise ValueError('Specified encryption version is not supported.') - # Ignore the word 'bytes' - content_range = content_range.split(' ') + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - content_range = content_range[1].split('-') - content_range = content_range[1].split('/') - end_range = int(content_range[0]) - blob_size = int(content_range[1]) + if version == _ENCRYPTION_PROTOCOL_V1: + blob_type = response_headers['x-ms-blob-type'] - if start_offset >= 16: - iv = content[:16] - content = content[16:] - start_offset -= 16 + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True else: + unpad = True iv = encryption_data.content_encryption_IV - if end_range == blob_size - 1: - unpad = True - else: - unpad = True - iv = encryption_data.content_encryption_IV + if blob_type == 'PageBlob': + unpad = False - if blob_type == 'PageBlob': - unpad = False + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() - content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) - decryptor = cipher.decryptor() + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() - content = decryptor.update(content) + decryptor.finalize() - if unpad: - unpadder = PKCS7(128).unpadder() - content = unpadder.update(content) + unpadder.finalize() + return content[start_offset: len(content) - end_offset] + + if version == _ENCRYPTION_PROTOCOL_V2: + # We assume the content contains only full encryption regions + total_size = len(content) + offset = 0 + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + decrypted_content = bytearray() + while offset < total_size: + # Process one encryption region at a time + process_size = min(region_length, total_size) + encrypted_region = content[offset:offset + process_size] - return content[start_offset: len(content) - end_offset] + # First bytes are the nonce + nonce = encrypted_region[:nonce_length] + ciphertext_with_tag = encrypted_region[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + decrypted_content.extend(decrypted_data) + + offset += process_size + + # Read the caller requested data from the decrypted content + return decrypted_content[start_offset:end_offset] def get_blob_encryptor_and_padder(cek, iv, should_pad): @@ -452,9 +852,9 @@ def get_blob_encryptor_and_padder(cek, iv, should_pad): return encryptor, padder -def encrypt_queue_message(message, key_encryption_key): +def encrypt_queue_message(message, key_encryption_key, version): ''' - Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Encrypts the given plain text message using the given protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encrypted message and the encryption metadata. @@ -465,6 +865,7 @@ def encrypt_queue_message(message, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A json-formatted string containing the encrypted message and the encryption metadata. :rtype: str ''' @@ -473,29 +874,47 @@ def encrypt_queue_message(message, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = os.urandom(32) - initialization_vector = os.urandom(16) - # Queue encoding functions all return unicode strings, and encryption should # operate on binary strings. message = message.encode('utf-8') - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 CBC uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(message) + padder.finalize() + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None + + # The nonce MUST be different for each key + nonce = os.urandom(12) + aesgcm = AESGCM(content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, message, None) + encrypted_data = nonce + cipertext_with_tag + + else: + raise ValueError("Invalid encryption version specified.") # Build the dictionary structure. queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector)} + initialization_vector, + version)} return dumps(queue_message) @@ -520,6 +939,7 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ :return: The plain text message from the queue message. :rtype: str ''' + response = response.http_response try: message = loads(message) @@ -528,9 +948,12 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) except (KeyError, ValueError): # Message was not json formatted and so was not encrypted - # or the user provided a json formatted message. + # or the user provided a json formatted message + # or the metadata was malformed. if require_encryption: - raise ValueError('Message was not encrypted.') + raise ValueError( + 'Encryption required, but received message does not contain appropriate metatadata. ' + \ + 'Message was either not encrypted or metadata was incorrect.') return message try: diff --git a/sdk/storage/azure-storage-queue/CHANGELOG.md b/sdk/storage/azure-storage-queue/CHANGELOG.md index 0011d90e24ea..6f193c9cf5ee 100644 --- a/sdk/storage/azure-storage-queue/CHANGELOG.md +++ b/sdk/storage/azure-storage-queue/CHANGELOG.md @@ -1,14 +1,13 @@ # Release History -## 12.3.1 (Unreleased) +## 12.4.0b1 (2022-06-15) ### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes +- Introduced version 2.0 of client-side encryption for Queue messages which utilizes AES-GCM-256 encryption. +Version 1.0 is now deprecated and no longer considered secure. If you are using client-side encryption, it is +**highly recommended** that you update to version 2.0. +The encryption version can be specified on any client constructor via the `encryption_version` +keyword (i.e. `encryption_version='2.0'`). ## 12.3.0 (2022-05-09) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_message_encoding.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_message_encoding.py index e9b4f88eb0c7..d429f7a86c6d 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_message_encoding.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_message_encoding.py @@ -11,13 +11,14 @@ import six from azure.core.exceptions import DecodeError -from ._shared.encryption import decrypt_queue_message, encrypt_queue_message +from ._shared.encryption import decrypt_queue_message, encrypt_queue_message, _ENCRYPTION_PROTOCOL_V1 class MessageEncodePolicy(object): def __init__(self): self.require_encryption = False + self.encryption_version = None self.key_encryption_key = None self.resolver = None @@ -25,11 +26,12 @@ def __call__(self, content): if content: content = self.encode(content) if self.key_encryption_key is not None: - content = encrypt_queue_message(content, self.key_encryption_key) + content = encrypt_queue_message(content, self.key_encryption_key, self.encryption_version) return content - def configure(self, require_encryption, key_encryption_key, resolver): + def configure(self, require_encryption, key_encryption_key, resolver, encryption_version=_ENCRYPTION_PROTOCOL_V1): self.require_encryption = require_encryption + self.encryption_version = encryption_version self.key_encryption_key = key_encryption_key self.resolver = resolver if self.require_encryption and not self.key_encryption_key: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index cd19c17a1b9a..3d40078a432d 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -5,8 +5,9 @@ # -------------------------------------------------------------------------- import functools +import warnings from typing import ( # pylint: disable=unused-import - Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple, + Optional, Any, Dict, List, TYPE_CHECKING) try: from urllib.parse import urlparse, quote, unquote @@ -34,8 +35,6 @@ from ._models import QueueMessage, AccessPolicy, MessagesPaged if TYPE_CHECKING: - from datetime import datetime - from azure.core.pipeline.policies import HTTPPolicy from ._models import QueueProperties @@ -477,10 +476,23 @@ def send_message( visibility_timeout = kwargs.pop('visibility_timeout', None) time_to_live = kwargs.pop('time_to_live', None) timeout = kwargs.pop('timeout', None) - self._config.message_encode_policy.configure( - require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, - resolver=self.key_resolver_function) + try: + self._config.message_encode_policy.configure( + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function, + encryption_version=self.encryption_version) + except TypeError: + warnings.warn( + "TypeError when calling message_encode_policy.configure. \ + It is likely missing the encryption_version parameter. \ + Consider updating your encryption information/implementation. \ + Retrying without encryption_version." + ) + self._config.message_encode_policy.configure( + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function) encoded_content = self._config.message_encode_policy(content) new_message = GenQueueMessage(message_text=encoded_content) @@ -711,10 +723,23 @@ def update_message(self, if receipt is None: raise ValueError("pop_receipt must be present") if message_text is not None: - self._config.message_encode_policy.configure( - self.require_encryption, - self.key_encryption_key, - self.key_resolver_function) + try: + self._config.message_encode_policy.configure( + self.require_encryption, + self.key_encryption_key, + self.key_resolver_function, + encryption_version=self.encryption_version) + except TypeError: + warnings.warn( + "TypeError when calling message_encode_policy.configure. \ + It is likely missing the encryption_version parameter. \ + Consider updating your encryption information/implementation. \ + Retrying without encryption_version." + ) + self._config.message_encode_policy.configure( + self.require_encryption, + self.key_encryption_key, + self.key_resolver_function) encoded_message_text = self._config.message_encode_policy(message_text) updated = GenQueueMessage(message_text=encoded_message_text) else: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_service_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_service_client.py index 374b71a54f8b..e58b348c5e39 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_service_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_service_client.py @@ -433,5 +433,6 @@ def get_queue_client(self, return QueueClient( self.url, queue_name=queue_name, credential=self.credential, key_resolver_function=self.key_resolver_function, require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, api_version=self.api_version, _pipeline=_pipeline, - _configuration=self._config, _location_mode=self._location_mode, _hosts=self._hosts, **kwargs) + encryption_version=self.encryption_version, key_encryption_key=self.key_encryption_key, + api_version=self.api_version, _pipeline=_pipeline, _configuration=self._config, + _location_mode=self._location_mode, _hosts=self._hosts, **kwargs) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/base_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/base_client.py index b80d04a57363..7b56dba2507d 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/base_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/base_client.py @@ -5,6 +5,7 @@ # -------------------------------------------------------------------------- import logging import uuid +import warnings from typing import ( # pylint: disable=unused-import Optional, Any, @@ -104,8 +105,15 @@ def __init__( self._hosts = {LocationMode.PRIMARY: primary_hostname, LocationMode.SECONDARY: secondary_hostname} self.require_encryption = kwargs.get("require_encryption", False) + self.encryption_version = kwargs.get("encryption_version", "1.0") self.key_encryption_key = kwargs.get("key_encryption_key") self.key_resolver_function = kwargs.get("key_resolver_function") + if self.key_encryption_key and self.encryption_version == '1.0': + warnings.warn("This client has been configured to use encryption with version 1.0. \ + Version 1.0 is deprecated and no longer considered secure. It is highly \ + recommended that you switch to using version 2.0. The version can be \ + specified using the 'encryption_version' keyword.") + self._config, self._pipeline = self._create_pipeline(self.credential, storage_sdk=service, **kwargs) def __enter__(self): diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/encryption.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/encryption.py index 439db5be42ae..0e46796b2ff3 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/encryption.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/encryption.py @@ -5,15 +5,19 @@ # -------------------------------------------------------------------------- import os -from os import urandom +import math +import sys +from collections import OrderedDict +from io import BytesIO from json import ( dumps, loads, ) -from collections import OrderedDict +from typing import Any, BinaryIO, Dict, Optional, Tuple from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 @@ -25,6 +29,11 @@ _ENCRYPTION_PROTOCOL_V1 = '1.0' +_ENCRYPTION_PROTOCOL_V2 = '2.0' +_GCM_REGION_DATA_LENGTH = 4 * 1024 * 1024 +_GCM_NONCE_LENGTH = 12 +_GCM_TAG_LENGTH = 16 + _ERROR_OBJECT_INVALID = \ '{0} does not define a complete interface. Value of {1} is either missing or invalid.' @@ -49,6 +58,7 @@ class _EncryptionAlgorithm(object): Specifies which client encryption algorithm is used. ''' AES_CBC_256 = 'AES_CBC_256' + AES_GCM_256 = 'AES_GCM_256' class _WrappedContentKey: @@ -75,6 +85,30 @@ def __init__(self, algorithm, encrypted_key, key_id): self.key_id = key_id +class _EncryptedRegionInfo: + ''' + Represents the length of encryption elements. + This is only used for Encryption V2. + ''' + + def __init__(self, data_length, nonce_length, tag_length): + ''' + :param int data_length: + The length of the encryption region data (not including nonce + tag). + :param str nonce_length: + The length of nonce used when encrypting. + :param int tag_length: + The length of the encryption tag. + ''' + _validate_not_none('data_length', data_length) + _validate_not_none('nonce_length', nonce_length) + _validate_not_none('tag_length', tag_length) + + self.data_length = data_length + self.nonce_length = nonce_length + self.tag_length = tag_length + + class _EncryptionAgent: ''' Represents the encryption agent stored on the service. @@ -101,11 +135,20 @@ class _EncryptionData: Represents the encryption data that is stored on the service. ''' - def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, - key_wrapping_metadata): + def __init__( + self, + content_encryption_IV, + encrypted_region_info, + encryption_agent, + wrapped_content_key, + key_wrapping_metadata): ''' - :param bytes content_encryption_IV: + :param Optional[bytes] content_encryption_IV: The content encryption initialization vector. + Required for AES-CBC (V1). + :param Optional[_EncryptedRegionInfo] encrypted_region_info: + The info about the autenticated block sizes. + Required for AES-GCM (V2). :param _EncryptionAgent encryption_agent: The encryption agent. :param _WrappedContentKey wrapped_content_key: @@ -115,28 +158,253 @@ def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, A dict containing metadata related to the key wrapping. ''' - _validate_not_none('content_encryption_IV', content_encryption_IV) _validate_not_none('encryption_agent', encryption_agent) _validate_not_none('wrapped_content_key', wrapped_content_key) + # Validate we have the right matching optional parameter for the specified algorithm + if encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_CBC_256: + _validate_not_none('content_encryption_IV', content_encryption_IV) + elif encryption_agent.encryption_algorithm == _EncryptionAlgorithm.AES_GCM_256: + _validate_not_none('encrypted_region_info', encrypted_region_info) + else: + raise ValueError("Invalid encryption algorithm.") + self.content_encryption_IV = content_encryption_IV + self.encrypted_region_info = encrypted_region_info self.encryption_agent = encryption_agent self.wrapped_content_key = wrapped_content_key self.key_wrapping_metadata = key_wrapping_metadata -def _generate_encryption_data_dict(kek, cek, iv): +class GCMBlobEncryptionStream: + """ + A stream that performs AES-GCM encryption on the given data as + it's streamed. Data is read and encrypted in regions. The stream + will use the same encryption key and will generate a guaranteed unique + nonce for each encryption region. + """ + def __init__( + self, + content_encryption_key: bytes, + data_stream: BinaryIO, + ): + """ + :param bytes content_encryption_key: The encryption key to use. + :param BinaryIO data_stream: The data stream to read data from. + """ + self.content_encryption_key = content_encryption_key + self.data_stream = data_stream + + self.offset = 0 + self.current = b'' + self.nonce_counter = 0 + + def read(self, size: int = -1) -> bytes: + """ + Read data from the stream. Specify -1 to read all available data. + + :param int size: The amount of data to read. Defaults to -1 for all data. + """ + result = BytesIO() + remaining = sys.maxsize if size == -1 else size + + while remaining > 0: + # Start by reading from current + if len(self.current) > 0: + read = min(remaining, len(self.current)) + result.write(self.current[:read]) + + self.current = self.current[read:] + self.offset += read + remaining -= read + + if remaining > 0: + # Read one region of data and encrypt it + data = self.data_stream.read(_GCM_REGION_DATA_LENGTH) + if len(data) == 0: + # No more data to read + break + + self.current = self._encrypt_region(data) + + return result.getvalue() + + def _encrypt_region(self, data: bytes) -> bytes: + """ + Encrypt the given region of data using AES-GCM. The result + includes the data in the form: nonce + ciphertext + tag. + + :param bytes data: The data to encrypt. + """ + # Each region MUST use a different nonce + nonce = self.nonce_counter.to_bytes(_GCM_NONCE_LENGTH, 'big') + self.nonce_counter += 1 + + aesgcm = AESGCM(self.content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, data, None) + return nonce + cipertext_with_tag + + +def is_encryption_v2(encryption_data: Optional[_EncryptionData]) -> bool: + """ + Determine whether the given encryption data signifies version 2.0. + + :param Optional[_EncryptionData] encryption_data: The encryption data. Will return False if this is None. + """ + # If encryption_data is None, assume no encryption + return encryption_data and encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2 + + +def get_adjusted_upload_size(length: int, encryption_version: str) -> int: + """ + Get the adjusted size of the blob upload which accounts for + extra encryption data (padding OR nonce + tag). + + :param int length: The plaintext data length. + :param str encryption_version: The version of encryption being used. + """ + if encryption_version == _ENCRYPTION_PROTOCOL_V1: + return length + (16 - (length % 16)) + + if encryption_version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_length = _GCM_NONCE_LENGTH + _GCM_TAG_LENGTH + regions = math.ceil(length / _GCM_REGION_DATA_LENGTH) + return length + (regions * encryption_data_length) + + raise ValueError("Invalid encryption version specified.") + + +def get_adjusted_download_range_and_offset( + start: int, + end: int, + length: int, + encryption_data: Optional[_EncryptionData]) -> Tuple[Tuple[int, int], Tuple[int, int]]: + """ + Gets the new download range and offsets into the decrypted data for + the given user-specified range. The new download range will include all + the data needed to decrypt the user-provided range and will include only + full encryption regions. + + The offsets returned will be the offsets needed to fetch the user-requested + data out of the full decrypted data. The end offset is different based on the + encryption version. For V1, the end offset is offset from the end whereas for + V2, the end offset is the ending index into the stream. + V1: decrypted_data[start_offset : len(decrypted_data) - end_offset] + V2: decrypted_data[start_offset : end_offset] + + :param int start: The user-requested start index. + :param int end: The user-requested end index. + :param int length: The user-requested length. Only used for V1. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + :return: (new start, new end), (start offset, end offset) + """ + start_offset, end_offset = 0, 0 + if encryption_data is None: + return (start, end), (start_offset, end_offset) + + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if start is not None: + # Align the start of the range along a 16 byte block + start_offset = start % 16 + start -= start_offset + + # Include an extra 16 bytes for the IV if necessary + # Because of the previous offsetting, start_range will always + # be a multiple of 16. + if start > 0: + start_offset += 16 + start -= 16 + + if length is not None: + # Align the end of the range along a 16 byte block + end_offset = 15 - (end % 16) + end += end_offset + + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + start_offset, end_offset = 0, end + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + requested_length = end - start + + if start is not None: + # Find which data region the start is in + region_num = start // data_length + # The start of the data region is different from the start of the encryption region + data_start = region_num * data_length + region_start = region_num * region_length + # Offset is based on data region + start_offset = start - data_start + # New start is the start of the encryption region + start = region_start + + if end is not None: + # Find which data region the end is in + region_num = end // data_length + end_offset = start_offset + requested_length + 1 + # New end is the end of the encryption region + end = (region_num * region_length) + region_length - 1 + + return (start, end), (start_offset, end_offset) + + +def parse_encryption_data(metadata: Dict[str, Any]) -> Optional[_EncryptionData]: + """ + Parses the encryption data out of the given blob metadata. If metadata does + not exist or there are parsing errors, this function will just return None. + + :param Dict[str, Any] metadata: The blob metadata parsed from the response. + """ + try: + return _dict_to_encryption_data(loads(metadata['encryptiondata'])) + except: # pylint: disable=bare-except + return None + + +def adjust_blob_size_for_encryption(size: int, encryption_data: Optional[_EncryptionData]) -> int: + """ + Adjusts the given blob size for encryption by subtracting the size of + the encryption data (nonce + tag). This only has an affect for encryption V2. + + :param int size: The original blob size. + :param Optional[_EncryptionData] encryption_data: The encryption data to determine version and sizes. + """ + if is_encryption_v2(encryption_data): + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + num_regions = math.ceil(size / region_length) + metadata_size = num_regions * (nonce_length + tag_length) + return size - metadata_size + + return size + + +def _generate_encryption_data_dict(kek, cek, iv, version): ''' Generates and returns the encryption metadata as a dict. :param object kek: The key encryption key. See calling functions for more information. :param bytes cek: The content encryption key. - :param bytes iv: The initialization vector. + :param Optional[bytes] iv: The initialization vector. Only required for AES-CBC. + :param str version: The client encryption version used. :return: A dict containing all the encryption metadata. :rtype: dict ''' # Encrypt the cek. - wrapped_cek = kek.wrap_key(cek) + if version == _ENCRYPTION_PROTOCOL_V1: + wrapped_cek = kek.wrap_key(cek) + # For V2, we include the encryption version in the wrapped key. + elif version == _ENCRYPTION_PROTOCOL_V2: + # We must pad the version to 8 bytes for AES Keywrap algorithms + to_wrap = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek + wrapped_cek = kek.wrap_key(to_wrap) # Build the encryption_data dict. # Use OrderedDict to comply with Java's ordering requirement. @@ -146,13 +414,25 @@ def _generate_encryption_data_dict(kek, cek, iv): wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() encryption_agent = OrderedDict() - encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 - encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + encryption_agent['Protocol'] = version + + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_GCM_256 + + encrypted_region_info = OrderedDict() + encrypted_region_info['DataLength'] = _GCM_REGION_DATA_LENGTH + encrypted_region_info['NonceLength'] = _GCM_NONCE_LENGTH encryption_data_dict = OrderedDict() encryption_data_dict['WrappedContentKey'] = wrapped_content_key encryption_data_dict['EncryptionAgent'] = encryption_agent - encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + if version == _ENCRYPTION_PROTOCOL_V1: + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + elif version == _ENCRYPTION_PROTOCOL_V2: + encryption_data_dict['EncryptedRegionInfo'] = encrypted_region_info encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} return encryption_data_dict @@ -169,7 +449,8 @@ def _dict_to_encryption_data(encryption_data_dict): :rtype: _EncryptionData ''' try: - if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + protocol = encryption_data_dict['EncryptionAgent']['Protocol'] + if protocol not in [_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2]: raise ValueError("Unsupported encryption version.") except KeyError: raise ValueError("Unsupported encryption version.") @@ -187,7 +468,21 @@ def _dict_to_encryption_data(encryption_data_dict): else: key_wrapping_metadata = None - encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + # AES-CBC only + encryption_iv = None + if 'ContentEncryptionIV' in encryption_data_dict: + encryption_iv = decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']) + + # AES-GCM only + region_info = None + if 'EncryptedRegionInfo' in encryption_data_dict: + encrypted_region_info = encryption_data_dict['EncryptedRegionInfo'] + region_info = _EncryptedRegionInfo(encrypted_region_info['DataLength'], + encrypted_region_info['NonceLength'], + _GCM_TAG_LENGTH) + + encryption_data = _EncryptionData(encryption_iv, + region_info, encryption_agent, wrapped_content_key, key_wrapping_metadata) @@ -227,11 +522,15 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol :rtype: bytes[] ''' - _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) - if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: - raise ValueError('Encryption version is not supported.') + # Validate we have the right info for the specified version + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + _validate_not_none('encrypted_region_info', encryption_data.encrypted_region_info) + else: + raise ValueError('Specified encryption version is not supported.') content_encryption_key = None @@ -249,6 +548,18 @@ def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resol # Will throw an exception if the specified algorithm is not supported. content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, encryption_data.wrapped_content_key.algorithm) + + # For V2, the version is included with the cek. We need to validate it + # and remove it from the actual cek. + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + version_2_bytes = _ENCRYPTION_PROTOCOL_V2.encode().ljust(8, b'\0') + cek_version_bytes = content_encryption_key[:len(version_2_bytes)] + if cek_version_bytes != version_2_bytes: + raise ValueError('The encryption metadata is not valid and may have been modified.') + + # Remove version from the start of the cek. + content_encryption_key = content_encryption_key[len(version_2_bytes):] + _validate_not_none('content_encryption_key', content_encryption_key) return content_encryption_key @@ -279,26 +590,44 @@ def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver _validate_not_none('message', message) content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) - if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: - raise ValueError('Specified encryption algorithm is not supported.') + if encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V1: + if not encryption_data.content_encryption_IV: + raise ValueError("Missing required metadata for decryption.") - cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) - # decrypt data - decrypted_data = message - decryptor = cipher.decryptor() - decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) - # unpad data - unpadder = PKCS7(128).unpadder() - decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + elif encryption_data.encryption_agent.protocol == _ENCRYPTION_PROTOCOL_V2: + block_info = encryption_data.encrypted_region_info + if not block_info or not block_info.nonce_length: + raise ValueError("Missing required metadata for decryption.") + + nonce_length = encryption_data.encrypted_region_info.nonce_length + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + else: + raise ValueError('Specified encryption version is not supported.') return decrypted_data -def encrypt_blob(blob, key_encryption_key): +def encrypt_blob(blob, key_encryption_key, version): ''' - Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Encrypts the given blob using the given encryption protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encryption metadata. This method should only be used when a blob is small enough for single shot upload. Encrypting larger blobs @@ -311,6 +640,7 @@ def encrypt_blob(blob, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. :rtype: (str, bytes) ''' @@ -319,70 +649,104 @@ def encrypt_blob(blob, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(blob) + padder.finalize() + data = BytesIO(blob) + encryption_stream = GCMBlobEncryptionStream(content_encryption_key, data) + + encrypted_data = encryption_stream.read() + + else: + raise ValueError("Invalid encryption version specified.") - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, version) encryption_data['EncryptionMode'] = 'FullBlob' return dumps(encryption_data), encrypted_data -def generate_blob_encryption_data(key_encryption_key): +def generate_blob_encryption_data(key_encryption_key, version): ''' Generates the encryption_metadata for the blob. - :param bytes key_encryption_key: + :param object key_encryption_key: The key-encryption-key used to wrap the cek associate with this blob. + :param str version: The client encryption version to use. :return: A tuple containing the cek and iv for this blob as well as the serialized encryption metadata for the blob. - :rtype: (bytes, bytes, str) + :rtype: (bytes, Optional[bytes], str) ''' encryption_data = None content_encryption_key = None initialization_vector = None if key_encryption_key: _validate_key_encryption_key_wrap(key_encryption_key) - content_encryption_key = urandom(32) - initialization_vector = urandom(16) + content_encryption_key = os.urandom(32) + # Initialization vector only needed for V1 + if version == _ENCRYPTION_PROTOCOL_V1: + initialization_vector = os.urandom(16) encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector) + initialization_vector, + version) encryption_data['EncryptionMode'] = 'FullBlob' encryption_data = dumps(encryption_data) return content_encryption_key, initialization_vector, encryption_data -def decrypt_blob(require_encryption, key_encryption_key, key_resolver, - content, start_offset, end_offset, response_headers): - ''' +def decrypt_blob( # pylint: disable=too-many-locals,too-many-statements + require_encryption, + key_encryption_key, + key_resolver, + content, + start_offset, + end_offset, + response_headers): + """ Decrypts the given blob contents and returns only the requested range. :param bool require_encryption: - Whether or not the calling blob service requires objects to be decrypted. + Whether the calling blob service requires objects to be decrypted. :param object key_encryption_key: The user-provided key-encryption-key. Must implement the following methods: wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. - :param key_resolver(kid): + :param object key_resolver: The user-provided key resolver. Uses the kid string to return a key-encryption-key implementing the interface defined above. + :param bytes content: + The encrypted blob content. + :param int start_offset: + The adjusted offset from the beginning of the *decrypted* content for the caller's data. + :param int end_offset: + The adjusted offset from the end of the *decrypted* content for the caller's data. + :param Dict[str, Any] response_headers: + A dictionary of response headers from the download request. Expected to include the + 'x-ms-meta-encryptiondata' header if the blob was encrypted. :return: The decrypted blob content. :rtype: bytes - ''' + """ try: encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) except: # pylint: disable=bare-except @@ -393,51 +757,87 @@ def decrypt_blob(require_encryption, key_encryption_key, key_resolver, return content - if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + algorithm = encryption_data.encryption_agent.encryption_algorithm + if algorithm not in(_EncryptionAlgorithm.AES_CBC_256, _EncryptionAlgorithm.AES_GCM_256): raise ValueError('Specified encryption algorithm is not supported.') - blob_type = response_headers['x-ms-blob-type'] - - iv = None - unpad = False - if 'content-range' in response_headers: - content_range = response_headers['content-range'] - # Format: 'bytes x-y/size' + version = encryption_data.encryption_agent.protocol + if version not in (_ENCRYPTION_PROTOCOL_V1, _ENCRYPTION_PROTOCOL_V2): + raise ValueError('Specified encryption version is not supported.') - # Ignore the word 'bytes' - content_range = content_range.split(' ') + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - content_range = content_range[1].split('-') - content_range = content_range[1].split('/') - end_range = int(content_range[0]) - blob_size = int(content_range[1]) + if version == _ENCRYPTION_PROTOCOL_V1: + blob_type = response_headers['x-ms-blob-type'] - if start_offset >= 16: - iv = content[:16] - content = content[16:] - start_offset -= 16 + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True else: + unpad = True iv = encryption_data.content_encryption_IV - if end_range == blob_size - 1: - unpad = True - else: - unpad = True - iv = encryption_data.content_encryption_IV + if blob_type == 'PageBlob': + unpad = False - if blob_type == 'PageBlob': - unpad = False + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() - content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) - cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) - decryptor = cipher.decryptor() + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() - content = decryptor.update(content) + decryptor.finalize() - if unpad: - unpadder = PKCS7(128).unpadder() - content = unpadder.update(content) + unpadder.finalize() + return content[start_offset: len(content) - end_offset] + + if version == _ENCRYPTION_PROTOCOL_V2: + # We assume the content contains only full encryption regions + total_size = len(content) + offset = 0 + + nonce_length = encryption_data.encrypted_region_info.nonce_length + data_length = encryption_data.encrypted_region_info.data_length + tag_length = encryption_data.encrypted_region_info.tag_length + region_length = nonce_length + data_length + tag_length + + decrypted_content = bytearray() + while offset < total_size: + # Process one encryption region at a time + process_size = min(region_length, total_size) + encrypted_region = content[offset:offset + process_size] - return content[start_offset: len(content) - end_offset] + # First bytes are the nonce + nonce = encrypted_region[:nonce_length] + ciphertext_with_tag = encrypted_region[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + decrypted_content.extend(decrypted_data) + + offset += process_size + + # Read the caller requested data from the decrypted content + return decrypted_content[start_offset:end_offset] def get_blob_encryptor_and_padder(cek, iv, should_pad): @@ -452,9 +852,9 @@ def get_blob_encryptor_and_padder(cek, iv, should_pad): return encryptor, padder -def encrypt_queue_message(message, key_encryption_key): +def encrypt_queue_message(message, key_encryption_key, version): ''' - Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Encrypts the given plain text message using the given protocol version. Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). Returns a json-formatted string containing the encrypted message and the encryption metadata. @@ -465,6 +865,7 @@ def encrypt_queue_message(message, key_encryption_key): wrap_key(key)--wraps the specified key using an algorithm of the user's choice. get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. get_kid()--returns a string key id for this key-encryption-key. + :param str version: The client encryption version to use. :return: A json-formatted string containing the encrypted message and the encryption metadata. :rtype: str ''' @@ -473,29 +874,47 @@ def encrypt_queue_message(message, key_encryption_key): _validate_not_none('key_encryption_key', key_encryption_key) _validate_key_encryption_key_wrap(key_encryption_key) - # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks - content_encryption_key = os.urandom(32) - initialization_vector = os.urandom(16) - # Queue encoding functions all return unicode strings, and encryption should # operate on binary strings. message = message.encode('utf-8') - cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + if version == _ENCRYPTION_PROTOCOL_V1: + # AES256 CBC uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) - # PKCS7 with 16 byte blocks ensures compatibility with AES. - padder = PKCS7(128).padder() - padded_data = padder.update(message) + padder.finalize() + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) - # Encrypt the data. - encryptor = cipher.encryptor() - encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + elif version == _ENCRYPTION_PROTOCOL_V2: + # AES256 GCM uses 256 bit (32 byte) keys and a 12 byte nonce. + content_encryption_key = AESGCM.generate_key(bit_length=256) + initialization_vector = None + + # The nonce MUST be different for each key + nonce = os.urandom(12) + aesgcm = AESGCM(content_encryption_key) + + # Returns ciphertext + tag + cipertext_with_tag = aesgcm.encrypt(nonce, message, None) + encrypted_data = nonce + cipertext_with_tag + + else: + raise ValueError("Invalid encryption version specified.") # Build the dictionary structure. queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, content_encryption_key, - initialization_vector)} + initialization_vector, + version)} return dumps(queue_message) @@ -529,9 +948,12 @@ def decrypt_queue_message(message, response, require_encryption, key_encryption_ decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) except (KeyError, ValueError): # Message was not json formatted and so was not encrypted - # or the user provided a json formatted message. + # or the user provided a json formatted message + # or the metadata was malformed. if require_encryption: - raise ValueError('Message was not encrypted.') + raise ValueError( + 'Encryption required, but received message does not contain appropriate metatadata. ' + \ + 'Message was either not encrypted or metadata was incorrect.') return message try: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_version.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_version.py index 70efc5305910..949c0f220054 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_version.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_version.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "12.3.1" +VERSION = "12.4.0b1" diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index fffd153325b3..747b3ffd935a 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -6,25 +6,15 @@ # pylint: disable=invalid-overridden-method import functools +import warnings from typing import ( # pylint: disable=unused-import - Union, Optional, Any, - IO, - Iterable, - AnyStr, Dict, List, - Tuple, TYPE_CHECKING, ) -try: - from urllib.parse import urlparse, quote, unquote # pylint: disable=unused-import -except ImportError: - from urlparse import urlparse # type: ignore - from urllib2 import quote, unquote # type: ignore - from azure.core.exceptions import HttpResponseError from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async @@ -51,9 +41,7 @@ if TYPE_CHECKING: - from datetime import datetime - from azure.core.pipeline.policies import HTTPPolicy - from .._models import QueueSasPermissions, QueueProperties + from .._models import QueueProperties class QueueClient(AsyncStorageAccountHostsMixin, QueueClientBase): @@ -377,11 +365,23 @@ async def send_message( # type: ignore visibility_timeout = kwargs.pop('visibility_timeout', None) time_to_live = kwargs.pop('time_to_live', None) timeout = kwargs.pop('timeout', None) - self._config.message_encode_policy.configure( - require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, - resolver=self.key_resolver_function - ) + try: + self._config.message_encode_policy.configure( + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function, + encryption_version=self.encryption_version) + except TypeError: + warnings.warn( + "TypeError when calling message_encode_policy.configure. \ + It is likely missing the encryption_version parameter. \ + Consider updating your encryption information/implementation. \ + Retrying without encryption_version." + ) + self._config.message_encode_policy.configure( + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function) encoded_content = self._config.message_encode_policy(content) new_message = GenQueueMessage(message_text=encoded_content) @@ -606,9 +606,25 @@ async def update_message( if receipt is None: raise ValueError("pop_receipt must be present") if message_text is not None: - self._config.message_encode_policy.configure( - self.require_encryption, self.key_encryption_key, self.key_resolver_function - ) + try: + self._config.message_encode_policy.configure( + self.require_encryption, + self.key_encryption_key, + self.key_resolver_function, + encryption_version=self.encryption_version + ) + except TypeError: + warnings.warn( + "TypeError when calling message_encode_policy.configure. \ + It is likely missing the encryption_version parameter. \ + Consider updating your encryption information/implementation. \ + Retrying without encryption_version." + ) + self._config.message_encode_policy.configure( + self.require_encryption, + self.key_encryption_key, + self.key_resolver_function + ) encoded_message_text = self._config.message_encode_policy(message_text) updated = GenQueueMessage(message_text=encoded_message_text) else: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_service_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_service_client_async.py index 3b84577bfcd0..f286504c83aa 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_service_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_service_client_async.py @@ -382,6 +382,6 @@ def get_queue_client(self, queue, **kwargs): return QueueClient( self.url, queue_name=queue_name, credential=self.credential, key_resolver_function=self.key_resolver_function, require_encryption=self.require_encryption, - key_encryption_key=self.key_encryption_key, api_version=self.api_version, _pipeline=_pipeline, - _configuration=self._config, _location_mode=self._location_mode, - _hosts=self._hosts, loop=self._loop, **kwargs) + encryption_version=self.encryption_version, key_encryption_key=self.key_encryption_key, + api_version=self.api_version, _pipeline=_pipeline, _configuration=self._config, + _location_mode=self._location_mode, _hosts=self._hosts, **kwargs) diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_v2_v1_downgrade.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_v2_v1_downgrade.yaml new file mode 100644 index 000000000000..b72d67763452 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_v2_v1_downgrade.yaml @@ -0,0 +1,221 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue523015ae + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:36 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "5OcNcBdFt9WRvxTb15PqyFkip/REiNKoi1yAv0wymDo1Sz0ytyHXnvN+VGfosHXwh2Y=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SwQSJFKaFZZv7mgYrCeCmfMoP0dfNnksmEdqzFDMQbsF8efY5r5B5PmMbqjNZ67K", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue523015ae/messages + response: + body: + string: "\uFEFF3dbd827d-a1c0-4a8f-8d1c-34cd12a23337Wed, + 15 Jun 2022 00:54:37 GMTWed, 22 Jun 2022 00:54:37 + GMTAgAAAAMAAAAAAAAA/yWsfFKA2AE=Wed, + 15 Jun 2022 00:54:37 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:36 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue523015ae/messages?numofmessages=1 + response: + body: + string: "\uFEFF3dbd827d-a1c0-4a8f-8d1c-34cd12a23337Wed, + 15 Jun 2022 00:54:37 GMTWed, 22 Jun 2022 00:54:37 + GMTAgAAAAMAAAAAAAAAzU6YjlKA2AE=Wed, + 15 Jun 2022 00:55:07 GMT1{\"EncryptedMessageContents\": + \"5OcNcBdFt9WRvxTb15PqyFkip/REiNKoi1yAv0wymDo1Sz0ytyHXnvN+VGfosHXwh2Y=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"SwQSJFKaFZZv7mgYrCeCmfMoP0dfNnksmEdqzFDMQbsF8efY5r5B5PmMbqjNZ67K\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:36 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "5OcNcBdFt9WRvxTb15PqyFkip/REiNKoi1yAv0wymDo1Sz0ytyHXnvN+VGfosHXwh2Y=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "SwQSJFKaFZZv7mgYrCeCmfMoP0dfNnksmEdqzFDMQbsF8efY5r5B5PmMbqjNZ67K", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}, "ContentEncryptionIV": + "Iyf5A0p3UaQedx/91feYfA=="}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '623' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue523015ae/messages/3dbd827d-a1c0-4a8f-8d1c-34cd12a23337?popreceipt=AgAAAAMAAAAAAAAAzU6YjlKA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:36 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAADQbDfFKA2AEBAAAA + x-ms-time-next-visible: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:37 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue523015ae/messages?numofmessages=1 + response: + body: + string: "\uFEFF3dbd827d-a1c0-4a8f-8d1c-34cd12a23337Wed, + 15 Jun 2022 00:54:37 GMTWed, 22 Jun 2022 00:54:37 + GMTAgAAAAMAAAAAAAAAPY6wjlKA2AE=Wed, + 15 Jun 2022 00:55:07 GMT2{\"EncryptedMessageContents\": + \"5OcNcBdFt9WRvxTb15PqyFkip/REiNKoi1yAv0wymDo1Sz0ytyHXnvN+VGfosHXwh2Y=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"SwQSJFKaFZZv7mgYrCeCmfMoP0dfNnksmEdqzFDMQbsF8efY5r5B5PmMbqjNZ67K\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}, + \"ContentEncryptionIV\": \"Iyf5A0p3UaQedx/91feYfA==\"}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:36 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_kek_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_kek_v2.yaml new file mode 100644 index 000000000000..a16dbede57fd --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_kek_v2.yaml @@ -0,0 +1,128 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:53:57 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue80c1168e + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:53:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "yADCSLQlEBNN6TcLtsgSdYN38x0YYsXgI82pPIjQJFp8INLwNBRkm07XyljrmUCHGZQ=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "1fzktAMNAxqilzQqBVq16tktGNFO9rQwRpGR3LiJmu8n4rh30LJQ86kCmRggTgoW", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:53:57 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue80c1168e/messages + response: + body: + string: "\uFEFFf91688a8-46ad-495e-b5eb-f8dea3bbbfdbWed, + 15 Jun 2022 00:53:57 GMTWed, 22 Jun 2022 00:53:57 + GMTAgAAAAMAAAAAAAAAsf/qZFKA2AE=Wed, + 15 Jun 2022 00:53:57 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:53:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:53:57 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue80c1168e/messages?numofmessages=1 + response: + body: + string: "\uFEFFf91688a8-46ad-495e-b5eb-f8dea3bbbfdbWed, + 15 Jun 2022 00:53:57 GMTWed, 22 Jun 2022 00:53:57 + GMTAgAAAAMAAAAAAAAAULPWdlKA2AE=Wed, + 15 Jun 2022 00:54:27 GMT1{\"EncryptedMessageContents\": + \"yADCSLQlEBNN6TcLtsgSdYN38x0YYsXgI82pPIjQJFp8INLwNBRkm07XyljrmUCHGZQ=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"1fzktAMNAxqilzQqBVq16tktGNFO9rQwRpGR3LiJmu8n4rh30LJQ86kCmRggTgoW\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:53:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_resolver_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_resolver_v2.yaml new file mode 100644 index 000000000000..0e9d2ea5aa2a --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_message_encrypted_resolver_v2.yaml @@ -0,0 +1,128 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:03 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueuef9ea18c5 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "3F+Nu8VG6lelS6FEB5Wmt5J960yecEG+1gMW8cmHUSf7cKn3Q8Cqrj/4ZU+oYqMOnIk=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "fGAjNwsMukICloYqBg3YlPWvIrgU3ojQdyeca/YvvwIxW0e057AZFU02gMfOG9v4", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:03 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueuef9ea18c5/messages + response: + body: + string: "\uFEFF7fb93c93-b66d-4e0c-93a3-c3044fb2d069Wed, + 15 Jun 2022 00:54:03 GMTWed, 22 Jun 2022 00:54:03 + GMTAgAAAAMAAAAAAAAAgDttaFKA2AE=Wed, + 15 Jun 2022 00:54:03 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:03 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueuef9ea18c5/messages?numofmessages=1 + response: + body: + string: "\uFEFF7fb93c93-b66d-4e0c-93a3-c3044fb2d069Wed, + 15 Jun 2022 00:54:03 GMTWed, 22 Jun 2022 00:54:03 + GMTAgAAAAMAAAAAAAAAZLJZelKA2AE=Wed, + 15 Jun 2022 00:54:33 GMT1{\"EncryptedMessageContents\": + \"3F+Nu8VG6lelS6FEB5Wmt5J960yecEG+1gMW8cmHUSf7cKn3Q8Cqrj/4ZU+oYqMOnIk=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"fGAjNwsMukICloYqBg3YlPWvIrgU3ojQdyeca/YvvwIxW0e057AZFU02gMfOG9v4\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message_v2.yaml new file mode 100644 index 000000000000..ec9e45487587 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message_v2.yaml @@ -0,0 +1,217 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue1434191b + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:31 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "hC4IvPB0v1wZLXBp0JYa3xXoEsRhO4NQ/0ZMLL/LTTtub5q3FQHQ6A==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KnQQmh90VUlQ1oj+YVr8b9HLoxS3/b7XPmReFmcN3bHBz6Sl3WK1O4r4Ctoczxp1", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '560' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue1434191b/messages + response: + body: + string: "\uFEFFa40c3dda-84dc-4201-8d5d-2b1f27d5e94cWed, + 15 Jun 2022 00:54:32 GMTWed, 22 Jun 2022 00:54:32 + GMTAgAAAAMAAAAAAAAA0OmseVKA2AE=Wed, + 15 Jun 2022 00:54:32 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:31 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue1434191b/messages?numofmessages=1 + response: + body: + string: "\uFEFFa40c3dda-84dc-4201-8d5d-2b1f27d5e94cWed, + 15 Jun 2022 00:54:32 GMTWed, 22 Jun 2022 00:54:32 + GMTAgAAAAMAAAAAAAAAwq6Zi1KA2AE=Wed, + 15 Jun 2022 00:55:02 GMT1{\"EncryptedMessageContents\": + \"hC4IvPB0v1wZLXBp0JYa3xXoEsRhO4NQ/0ZMLL/LTTtub5q3FQHQ6A==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"KnQQmh90VUlQ1oj+YVr8b9HLoxS3/b7XPmReFmcN3bHBz6Sl3WK1O4r4Ctoczxp1\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:31 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "R8gs7FhBXE5JR3KWvU1qFbtIRlywjJSUG/psD5HQEaI4RExKjjnOPw==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "VN9siUGRetpDT26eqQCzVo7/rYPmsI1RyABfgzus7+En044oIG7se+INPqHheNXR", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '560' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue1434191b/messages/a40c3dda-84dc-4201-8d5d-2b1f27d5e94c?popreceipt=AgAAAAMAAAAAAAAAwq6Zi1KA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:31 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAAjJHCeVKA2AEBAAAA + x-ms-time-next-visible: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:32 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue1434191b/messages?numofmessages=1 + response: + body: + string: "\uFEFFa40c3dda-84dc-4201-8d5d-2b1f27d5e94cWed, + 15 Jun 2022 00:54:32 GMTWed, 22 Jun 2022 00:54:32 + GMTAgAAAAMAAAAAAAAAD6mti1KA2AE=Wed, + 15 Jun 2022 00:55:02 GMT2{\"EncryptedMessageContents\": + \"R8gs7FhBXE5JR3KWvU1qFbtIRlywjJSUG/psD5HQEaI4RExKjjnOPw==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"VN9siUGRetpDT26eqQCzVo7/rYPmsI1RyABfgzus7+En044oIG7se+INPqHheNXR\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:31 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message_v2.yaml new file mode 100644 index 000000000000..1344c30a0d84 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message_v2.yaml @@ -0,0 +1,217 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue6bbb1637 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "gVsA7Lk4RMyK0pRq5LoUJRrvuYv6+jsXfZS2TAI7Z16XKn5cpQ==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "I1o0GSgg06wNZd6tYWi5yYNmB3EvXxIW6L/uKW18nrSwKLJZZHaRjj8FREY+LNdn", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '556' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue6bbb1637/messages + response: + body: + string: "\uFEFF7382fc26-f7d4-405c-948b-de4e5e404a36Wed, + 15 Jun 2022 00:54:26 GMTWed, 22 Jun 2022 00:54:26 + GMTAgAAAAMAAAAAAAAA20NIdlKA2AE=Wed, + 15 Jun 2022 00:54:26 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue6bbb1637/messages?numofmessages=1 + response: + body: + string: "\uFEFF7382fc26-f7d4-405c-948b-de4e5e404a36Wed, + 15 Jun 2022 00:54:26 GMTWed, 22 Jun 2022 00:54:26 + GMTAgAAAAMAAAAAAAAAr7o0iFKA2AE=Wed, + 15 Jun 2022 00:54:56 GMT1{\"EncryptedMessageContents\": + \"gVsA7Lk4RMyK0pRq5LoUJRrvuYv6+jsXfZS2TAI7Z16XKn5cpQ==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"I1o0GSgg06wNZd6tYWi5yYNmB3EvXxIW6L/uKW18nrSwKLJZZHaRjj8FREY+LNdn\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "9fePUgts8vsuHbshyOmSeCx4lUghM9DwUFK6kdQOBHOwYrk=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "N7MloOUj5rhuwXLAGTbv2bixqGb4EzQnAkDjv/7KxU5b63rbVGL6381/asBeWLmH", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '552' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue6bbb1637/messages/7382fc26-f7d4-405c-948b-de4e5e404a36?popreceipt=AgAAAAMAAAAAAAAAr7o0iFKA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAASQFddlKA2AEBAAAA + x-ms-time-next-visible: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:26 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue6bbb1637/messages?numofmessages=1 + response: + body: + string: "\uFEFF7382fc26-f7d4-405c-948b-de4e5e404a36Wed, + 15 Jun 2022 00:54:26 GMTWed, 22 Jun 2022 00:54:26 + GMTAgAAAAMAAAAAAAAABNxIiFKA2AE=Wed, + 15 Jun 2022 00:54:56 GMT2{\"EncryptedMessageContents\": + \"9fePUgts8vsuHbshyOmSeCx4lUghM9DwUFK6kdQOBHOwYrk=\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"N7MloOUj5rhuwXLAGTbv2bixqGb4EzQnAkDjv/7KxU5b63rbVGL6381/asBeWLmH\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption_v2.yaml new file mode 100644 index 000000000000..3b60938dc49e --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption_v2.yaml @@ -0,0 +1,128 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:41 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueueff191437 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 15 Jun 2022 00:54:41 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "vfVQe5J8d+NLxZTibor/Xk4jd75LZgDyTDN0BQbaCAbMec7aMEifKgrjjAf5nJT3CE4=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "eP2vwrUbBnq/2H9lUZ1AfQQh6rt/KyiZSNFaKvQQ4AvnCGwoyEZBTuSWcmplDspp", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:42 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueueff191437/messages + response: + body: + string: "\uFEFFd5e94f25-a779-48fe-b465-79792733afc3Wed, + 15 Jun 2022 00:54:42 GMTWed, 22 Jun 2022 00:54:42 + GMTAgAAAAMAAAAAAAAAKxd+f1KA2AE=Wed, + 15 Jun 2022 00:54:42 GMT" + headers: + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:41 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:54:42 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueueff191437/messages?numofmessages=1 + response: + body: + string: "\uFEFFd5e94f25-a779-48fe-b465-79792733afc3Wed, + 15 Jun 2022 00:54:42 GMTWed, 22 Jun 2022 00:54:42 + GMTAgAAAAMAAAAAAAAAgDtskVKA2AE=Wed, + 15 Jun 2022 00:55:12 GMT1{\"EncryptedMessageContents\": + \"vfVQe5J8d+NLxZTibor/Xk4jd75LZgDyTDN0BQbaCAbMec7aMEifKgrjjAf5nJT3CE4=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"eP2vwrUbBnq/2H9lUZ1AfQQh6rt/KyiZSNFaKvQQ4AvnCGwoyEZBTuSWcmplDspp\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Wed, 15 Jun 2022 00:54:41 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2021-02-12' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_v2_v1_downgrade.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_v2_v1_downgrade.yaml new file mode 100644 index 000000000000..4b42e80ccbf9 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_v2_v1_downgrade.yaml @@ -0,0 +1,177 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueuedfff182b + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuedfff182b +- request: + body: ' + + {"EncryptedMessageContents": "ZPA7e6YMuV8OEW+37VqS6mQleI9DvLLsVuVwuz4xpUeoAHW5zJ0ODAB8FccqgjP9ev4=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sm7CoC1rUc8jr2lJqUlzmvxRPvxzXzZ4LEjv6TcPAejihg26+ukYgP41E0BLNp7P", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueuedfff182b/messages + response: + body: + string: "\uFEFF3fa5a3c0-3feb-4b58-8a26-97c2009ddec0Wed, + 15 Jun 2022 00:58:40 GMTWed, 22 Jun 2022 00:58:40 + GMTAgAAAAMAAAAAAAAAaNebDVOA2AE=Wed, + 15 Jun 2022 00:58:40 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuedfff182b/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueuedfff182b/messages?numofmessages=1 + response: + body: + string: "\uFEFF3fa5a3c0-3feb-4b58-8a26-97c2009ddec0Wed, + 15 Jun 2022 00:58:40 GMTWed, 22 Jun 2022 00:58:40 + GMTAgAAAAMAAAAAAAAAj7aFH1OA2AE=Wed, + 15 Jun 2022 00:59:10 GMT1{\"EncryptedMessageContents\": + \"ZPA7e6YMuV8OEW+37VqS6mQleI9DvLLsVuVwuz4xpUeoAHW5zJ0ODAB8FccqgjP9ev4=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"Sm7CoC1rUc8jr2lJqUlzmvxRPvxzXzZ4LEjv6TcPAejihg26+ukYgP41E0BLNp7P\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuedfff182b/messages?numofmessages=1 +- request: + body: ' + + {"EncryptedMessageContents": "ZPA7e6YMuV8OEW+37VqS6mQleI9DvLLsVuVwuz4xpUeoAHW5zJ0ODAB8FccqgjP9ev4=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Sm7CoC1rUc8jr2lJqUlzmvxRPvxzXzZ4LEjv6TcPAejihg26+ukYgP41E0BLNp7P", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}, "ContentEncryptionIV": + "4EYsd9+0D9yCyz5+GyUHnw=="}}' + headers: + Accept: + - application/xml + Content-Length: + - '623' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueuedfff182b/messages/3fa5a3c0-3feb-4b58-8a26-97c2009ddec0?popreceipt=AgAAAAMAAAAAAAAAj7aFH1OA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAA58SsDVOA2AEBAAAA + x-ms-time-next-visible: Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: '2021-02-12' + status: + code: 204 + message: No Content + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuedfff182b/messages/3fa5a3c0-3feb-4b58-8a26-97c2009ddec0?popreceipt=AgAAAAMAAAAAAAAAj7aFH1OA2AE%3D&visibilitytimeout=0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:40 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueuedfff182b/messages?numofmessages=1 + response: + body: + string: "\uFEFF3fa5a3c0-3feb-4b58-8a26-97c2009ddec0Wed, + 15 Jun 2022 00:58:40 GMTWed, 22 Jun 2022 00:58:40 + GMTAgAAAAMAAAAAAAAA8weWH1OA2AE=Wed, + 15 Jun 2022 00:59:10 GMT2{\"EncryptedMessageContents\": + \"ZPA7e6YMuV8OEW+37VqS6mQleI9DvLLsVuVwuz4xpUeoAHW5zJ0ODAB8FccqgjP9ev4=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"Sm7CoC1rUc8jr2lJqUlzmvxRPvxzXzZ4LEjv6TcPAejihg26+ukYgP41E0BLNp7P\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}, + \"ContentEncryptionIV\": \"4EYsd9+0D9yCyz5+GyUHnw==\"}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuedfff182b/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_kek_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_kek_v2.yaml new file mode 100644 index 000000000000..2c15fdb000c9 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_kek_v2.yaml @@ -0,0 +1,102 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:41 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue1399190b + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:41 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue1399190b +- request: + body: ' + + {"EncryptedMessageContents": "YlYuRQL9YKgkw7Y3of3U09Q8qgrNut8a8Wt38OqH/Ga9mwKXnyqoQVcKTU9ghMislvA=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "uLq6fk1f2oCxH667LnOKpHU35l/tIr5yeoXF2A14VnDjFJSf5AVXxhGFwBDL1cN4", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:41 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue1399190b/messages + response: + body: + string: "\uFEFFde6667c0-abbd-4eb5-91f1-9548e46b7d1aWed, + 15 Jun 2022 00:58:41 GMTWed, 22 Jun 2022 00:58:41 + GMTAgAAAAMAAAAAAAAAwh8zDlOA2AE=Wed, + 15 Jun 2022 00:58:41 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:41 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue1399190b/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:41 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue1399190b/messages?numofmessages=1 + response: + body: + string: "\uFEFFde6667c0-abbd-4eb5-91f1-9548e46b7d1aWed, + 15 Jun 2022 00:58:41 GMTWed, 22 Jun 2022 00:58:41 + GMTAgAAAAMAAAAAAAAA2rAcIFOA2AE=Wed, + 15 Jun 2022 00:59:11 GMT1{\"EncryptedMessageContents\": + \"YlYuRQL9YKgkw7Y3of3U09Q8qgrNut8a8Wt38OqH/Ga9mwKXnyqoQVcKTU9ghMislvA=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"uLq6fk1f2oCxH667LnOKpHU35l/tIr5yeoXF2A14VnDjFJSf5AVXxhGFwBDL1cN4\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:41 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue1399190b/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_resolver_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_resolver_v2.yaml new file mode 100644 index 000000000000..7e7a9f950d86 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_message_encrypted_resolver_v2.yaml @@ -0,0 +1,102 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:41 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue99331b42 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue99331b42 +- request: + body: ' + + {"EncryptedMessageContents": "oardr9PG55grVfdXR9jHibdtTjNw/4aMz0RIs0r6gl7/EZn2JHGzPa4G5Xzb2IG3CKg=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ksO/EenBEa+J+jqIO1z3+UjacjRyHcJM/neOEihNfrH8T0SANn/5Uyy5afmGhuUT", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue99331b42/messages + response: + body: + string: "\uFEFF85dc1bed-5516-490a-b997-58826d9aaf48Wed, + 15 Jun 2022 00:58:42 GMTWed, 22 Jun 2022 00:58:42 + GMTAgAAAAMAAAAAAAAAnTGuDlOA2AE=Wed, + 15 Jun 2022 00:58:42 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue99331b42/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue99331b42/messages?numofmessages=1 + response: + body: + string: "\uFEFF85dc1bed-5516-490a-b997-58826d9aaf48Wed, + 15 Jun 2022 00:58:42 GMTWed, 22 Jun 2022 00:58:42 + GMTAgAAAAMAAAAAAAAAv+mXIFOA2AE=Wed, + 15 Jun 2022 00:59:12 GMT1{\"EncryptedMessageContents\": + \"oardr9PG55grVfdXR9jHibdtTjNw/4aMz0RIs0r6gl7/EZn2JHGzPa4G5Xzb2IG3CKg=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"ksO/EenBEa+J+jqIO1z3+UjacjRyHcJM/neOEihNfrH8T0SANn/5Uyy5afmGhuUT\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue99331b42/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message_v2.yaml new file mode 100644 index 000000000000..6a9f62c38da5 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message_v2.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueueb5eb1b98 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueueb5eb1b98 +- request: + body: ' + + {"EncryptedMessageContents": "9Oj8ua1P00CyKd7NeUQWP2DHgy7wdNvKZm7KVSt508+5Bgs0p27OEQ==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "f9/4ZYkIXtXUR8TUkqPoJf394EYq8PTmHYbGf8SYLI1htAD/M/7ImrIhkX6C8RIr", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '560' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueueb5eb1b98/messages + response: + body: + string: "\uFEFFf3c76179-2836-4c28-bb24-56c66852a6d2Wed, + 15 Jun 2022 00:58:42 GMTWed, 22 Jun 2022 00:58:42 + GMTAgAAAAMAAAAAAAAAuBzjDlOA2AE=Wed, + 15 Jun 2022 00:58:42 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueueb5eb1b98/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueueb5eb1b98/messages?numofmessages=1 + response: + body: + string: "\uFEFFf3c76179-2836-4c28-bb24-56c66852a6d2Wed, + 15 Jun 2022 00:58:42 GMTWed, 22 Jun 2022 00:58:42 + GMTAgAAAAMAAAAAAAAAzq3MIFOA2AE=Wed, + 15 Jun 2022 00:59:12 GMT1{\"EncryptedMessageContents\": + \"9Oj8ua1P00CyKd7NeUQWP2DHgy7wdNvKZm7KVSt508+5Bgs0p27OEQ==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"f9/4ZYkIXtXUR8TUkqPoJf394EYq8PTmHYbGf8SYLI1htAD/M/7ImrIhkX6C8RIr\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueueb5eb1b98/messages?numofmessages=1 +- request: + body: ' + + {"EncryptedMessageContents": "ssCCGsK2Knc6j8PL0JVvsy/IkcmXwy0RIf1jO597BUVz18tV3Tmtdw==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "gT5vcTp0cuHyd6DtoCfyZHMvsorvCn/vKpjrwBWkoyWltPYIYgdD4lB3Dbdeh+47", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '560' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueueb5eb1b98/messages/f3c76179-2836-4c28-bb24-56c66852a6d2?popreceipt=AgAAAAMAAAAAAAAAzq3MIFOA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAFZXzDlOA2AEBAAAA + x-ms-time-next-visible: Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: '2021-02-12' + status: + code: 204 + message: No Content + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueueb5eb1b98/messages/f3c76179-2836-4c28-bb24-56c66852a6d2?popreceipt=AgAAAAMAAAAAAAAAzq3MIFOA2AE%3D&visibilitytimeout=0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:42 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueueb5eb1b98/messages?numofmessages=1 + response: + body: + string: "\uFEFFf3c76179-2836-4c28-bb24-56c66852a6d2Wed, + 15 Jun 2022 00:58:42 GMTWed, 22 Jun 2022 00:58:42 + GMTAgAAAAMAAAAAAAAAOybdIFOA2AE=Wed, + 15 Jun 2022 00:59:12 GMT2{\"EncryptedMessageContents\": + \"ssCCGsK2Knc6j8PL0JVvsy/IkcmXwy0RIf1jO597BUVz18tV3Tmtdw==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"gT5vcTp0cuHyd6DtoCfyZHMvsorvCn/vKpjrwBWkoyWltPYIYgdD4lB3Dbdeh+47\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueueb5eb1b98/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message_v2.yaml new file mode 100644 index 000000000000..b37be7f6f41b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message_v2.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueuefc0718b4 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuefc0718b4 +- request: + body: ' + + {"EncryptedMessageContents": "Xm7WaTv2V5Js+x2H3olHVs4L/rYKkXNjYWiJz4TP0IrW2B1lBw==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "TgLh0AqMnyDZOhPx52B6e3C7EPAtwjtQh8UjuXSDaAF5FdhhXe/bmG8luDNewhix", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '556' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueuefc0718b4/messages + response: + body: + string: "\uFEFF09094a81-fa73-4a3e-8bc1-1b91c5ab64cdWed, + 15 Jun 2022 00:58:43 GMTWed, 22 Jun 2022 00:58:43 + GMTAgAAAAMAAAAAAAAA3vAqD1OA2AE=Wed, + 15 Jun 2022 00:58:43 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuefc0718b4/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueuefc0718b4/messages?numofmessages=1 + response: + body: + string: "\uFEFF09094a81-fa73-4a3e-8bc1-1b91c5ab64cdWed, + 15 Jun 2022 00:58:43 GMTWed, 22 Jun 2022 00:58:43 + GMTAgAAAAMAAAAAAAAAOWwVIVOA2AE=Wed, + 15 Jun 2022 00:59:13 GMT1{\"EncryptedMessageContents\": + \"Xm7WaTv2V5Js+x2H3olHVs4L/rYKkXNjYWiJz4TP0IrW2B1lBw==\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"TgLh0AqMnyDZOhPx52B6e3C7EPAtwjtQh8UjuXSDaAF5FdhhXe/bmG8luDNewhix\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuefc0718b4/messages?numofmessages=1 +- request: + body: ' + + {"EncryptedMessageContents": "JT71GWLWWfnttGsP0yEfU23aPuMTXyrBAKDY6i8Qh6IhAGg=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "RN0oHCFQCM/fC3EhvJNglSy7vmDJ7HrjAQLHeQFEzYxjnTmRgtYjdTnHHcqRnDD5", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '552' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueuefc0718b4/messages/09094a81-fa73-4a3e-8bc1-1b91c5ab64cd?popreceipt=AgAAAAMAAAAAAAAAOWwVIVOA2AE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAiVM8D1OA2AEBAAAA + x-ms-time-next-visible: Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: '2021-02-12' + status: + code: 204 + message: No Content + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuefc0718b4/messages/09094a81-fa73-4a3e-8bc1-1b91c5ab64cd?popreceipt=AgAAAAMAAAAAAAAAOWwVIVOA2AE%3D&visibilitytimeout=0 +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueuefc0718b4/messages?numofmessages=1 + response: + body: + string: "\uFEFF09094a81-fa73-4a3e-8bc1-1b91c5ab64cdWed, + 15 Jun 2022 00:58:43 GMTWed, 22 Jun 2022 00:58:43 + GMTAgAAAAMAAAAAAAAAi28lIVOA2AE=Wed, + 15 Jun 2022 00:59:13 GMT2{\"EncryptedMessageContents\": + \"JT71GWLWWfnttGsP0yEfU23aPuMTXyrBAKDY6i8Qh6IhAGg=\", \"EncryptionData\": + {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": \"RN0oHCFQCM/fC3EhvJNglSy7vmDJ7HrjAQLHeQFEzYxjnTmRgtYjdTnHHcqRnDD5\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueuefc0718b4/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption_v2.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption_v2.yaml new file mode 100644 index 000000000000..a02304e667a4 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption_v2.yaml @@ -0,0 +1,102 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: PUT + uri: https://storagename.queue.core.windows.net/encryptionqueue830316b4 + response: + body: + string: '' + headers: + content-length: '0' + date: Wed, 15 Jun 2022 00:58:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue830316b4 +- request: + body: ' + + {"EncryptedMessageContents": "aCyGWOzZEQVkz+wX6Wl2jbOfHe/xd8dyQ3e8OesU6XPDxvikdWNU7znjn87JOFTyVqY=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "0x2t+KskI0oW4vkx4CeFDW7+bCgJPWmOu76oVnqe5Et5k+IqVHbeGuEkMmv2+flU", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "2.0", "EncryptionAlgorithm": + "AES_GCM_256"}, "EncryptedRegionInfo": {"DataLength": 4194304, "NonceLength": + 12}, "KeyWrappingMetadata": {"EncryptionLibrary": "Python 12.4.0b1"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '572' + Content-Type: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: POST + uri: https://storagename.queue.core.windows.net/encryptionqueue830316b4/messages + response: + body: + string: "\uFEFF250ea49e-fcac-4394-b959-2cf140ed5d6eWed, + 15 Jun 2022 00:58:43 GMTWed, 22 Jun 2022 00:58:43 + GMTAgAAAAMAAAAAAAAA3aF5D1OA2AE=Wed, + 15 Jun 2022 00:58:43 GMT" + headers: + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 201 + message: Created + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue830316b4/messages +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.4.0b1 Python/3.10.4 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Wed, 15 Jun 2022 00:58:43 GMT + x-ms-version: + - '2021-02-12' + method: GET + uri: https://storagename.queue.core.windows.net/encryptionqueue830316b4/messages?numofmessages=1 + response: + body: + string: "\uFEFF250ea49e-fcac-4394-b959-2cf140ed5d6eWed, + 15 Jun 2022 00:58:43 GMTWed, 22 Jun 2022 00:58:43 + GMTAgAAAAMAAAAAAAAAA1pjIVOA2AE=Wed, + 15 Jun 2022 00:59:13 GMT1{\"EncryptedMessageContents\": + \"aCyGWOzZEQVkz+wX6Wl2jbOfHe/xd8dyQ3e8OesU6XPDxvikdWNU7znjn87JOFTyVqY=\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"0x2t+KskI0oW4vkx4CeFDW7+bCgJPWmOu76oVnqe5Et5k+IqVHbeGuEkMmv2+flU\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"2.0\", \"EncryptionAlgorithm\": + \"AES_GCM_256\"}, \"EncryptedRegionInfo\": {\"DataLength\": 4194304, \"NonceLength\": + 12}, \"KeyWrappingMetadata\": {\"EncryptionLibrary\": \"Python 12.4.0b1\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Wed, 15 Jun 2022 00:58:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2021-02-12' + status: + code: 200 + message: OK + url: https://jalauzoncanary.queue.core.windows.net/encryptionqueue830316b4/messages?numofmessages=1 +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py b/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py index 9c70488c9b5b..1a07d581177b 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py @@ -3,11 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import os import unittest import pytest import six from base64 import ( b64decode, + b64encode, ) from json import ( loads, @@ -16,6 +18,7 @@ from cryptography.hazmat import backends from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 @@ -23,15 +26,18 @@ from azure.storage.queue._shared import decode_base64_to_bytes from azure.storage.queue._shared.encryption import ( _ERROR_OBJECT_INVALID, - _WrappedContentKey, + _GCM_NONCE_LENGTH, + _GCM_TAG_LENGTH, + _dict_to_encryption_data, _EncryptionAgent, _EncryptionData, + _validate_and_unwrap_cek, + _WrappedContentKey, ) from azure.storage.queue import ( VERSION, QueueServiceClient, - QueueClient, BinaryBase64EncodePolicy, BinaryBase64DecodePolicy, ) @@ -45,8 +51,6 @@ # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'encryptionqueue' - - # ------------------------------------------------------------------------------ def _decode_base64_to_bytes(data): @@ -382,6 +386,7 @@ def test_validate_encryption(self, storage_account_name, storage_account_key): encryption_data = _EncryptionData( b64decode(encryption_data['ContentEncryptionIV'].encode(encoding='utf-8')), + None, encryption_agent, wrapped_content_key, {'EncryptionLibrary': VERSION}) @@ -441,7 +446,7 @@ def test_get_with_strict_mode(self, storage_account_name, storage_account_key): with self.assertRaises(ValueError) as e: next(queue.receive_messages()) - self.assertEqual(str(e.exception), 'Message was not encrypted.') + self.assertTrue('Message was either not encrypted or metadata was incorrect.' in str(e.exception)) @QueuePreparer() def test_encryption_add_encrypted_64k_message(self, storage_account_name, storage_account_key): @@ -475,6 +480,210 @@ def test_encryption_nonmatching_kid(self, storage_account_name, storage_account_ assert "Decryption failed." in str(e.exception) + @QueuePreparer() + def test_get_message_encrypted_kek_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + queue.send_message(content) + message = queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @QueuePreparer() + def test_get_message_encrypted_resolver_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + key_resolver = KeyResolver() + key_resolver.put_key(qsc.key_encryption_key) + + queue = self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + queue.send_message(content) + queue.key_resolver_function = key_resolver.resolve_key + queue.key_encryption_key = None # Ensure that the resolver is used + + message = queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @pytest.mark.live_test_only + @QueuePreparer() + def test_get_message_encrypted_kek_RSA_v2(self, storage_account_name, storage_account_key): + # We can only generate random RSA keys, so this must be run live or + # the playback test will fail due to a change in kek values. + + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=RSAKeyWrapper('key2')) + queue = self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + queue.send_message(content) + message = queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @QueuePreparer() + def test_update_encrypted_message_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + requires_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = self._create_queue(qsc) + queue.send_message('Update Me') + + message = queue.receive_message() + message.content = 'Updated' + + # Act + queue.update_message(message) + message = queue.receive_message() + + # Assert + self.assertEqual('Updated', message.content) + + @QueuePreparer() + def test_update_encrypted_binary_message_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + requires_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = self._create_queue( + qsc, + message_encode_policy=BinaryBase64EncodePolicy(), + message_decode_policy=BinaryBase64DecodePolicy()) + queue.key_encryption_key = KeyWrapper('key1') + + queue.send_message(b'Update Me') + message = queue.receive_message() + message.content = b'Updated' + + # Act + queue.update_message(message) + message = queue.receive_message() + + # Assert + self.assertEqual(b'Updated', message.content) + + @QueuePreparer() + def test_encryption_v2_v1_downgrade(self, storage_account_name, storage_account_key): + # Arrange + kek = KeyWrapper('key1') + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + requires_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + queue = self._create_queue(qsc) + queue.send_message('Hello World Encrypted!') + + queue.require_encryption = False + queue.key_encryption_key = None # Message will not be decrypted + message = queue.receive_message() + content = loads(message.content) + + # Modify metadata to look like V1 + encryption_data = content['EncryptionData'] + encryption_data['EncryptionAgent']['Protocol'] = '1.0' + encryption_data['EncryptionAgent']['EncryptionAlgorithm'] = 'AES_CBC_256' + iv = b64encode(os.urandom(16)) + encryption_data['ContentEncryptionIV'] = iv.decode('utf-8') + content['EncryptionData'] = encryption_data + + message.content = dumps(content) + + # Act / Assert + # Update without encryption + queue.update_message(message) + + # Re-enable encryption for receive + queue.require_encryption = True + queue.key_encryption_key = kek + + with self.assertRaises(HttpResponseError) as e: + new_message = queue.receive_message() + + assert 'Decryption failed.' in str(e.exception) + + @QueuePreparer() + def test_validate_encryption_v2(self, storage_account_name, storage_account_key): + # Arrange + kek = KeyWrapper('key1') + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + queue = self._create_queue(qsc) + content = 'Hello World Encrypted!' + queue.send_message(content) + + # Act + queue.require_encryption = False + queue.key_encryption_key = None # Message will not be decrypted + message = queue.receive_message().content + message = loads(message) + + encryption_data = _dict_to_encryption_data(message['EncryptionData']) + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + message = message['EncryptedMessageContents'] + message = decode_base64_to_bytes(message) + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + decrypted_data = decrypted_data.decode(encoding='utf-8') + + # Assert + self.assertEqual(content, decrypted_data) + # ------------------------------------------------------------------------------ if __name__ == '__main__': diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py index 94d8c2d2c0b3..eb370a8fceeb 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py @@ -3,12 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +import os import unittest import pytest -import asyncio import six from base64 import ( b64decode, + b64encode, ) from json import ( loads, @@ -17,18 +18,22 @@ from cryptography.hazmat import backends from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 from azure.core.exceptions import HttpResponseError, ResourceExistsError -from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from multidict import CIMultiDict, CIMultiDictProxy from azure.storage.queue._shared.encryption import ( _ERROR_OBJECT_INVALID, - _WrappedContentKey, + _GCM_NONCE_LENGTH, + _GCM_TAG_LENGTH, + _dict_to_encryption_data, _EncryptionAgent, _EncryptionData, + _validate_and_unwrap_cek, + _WrappedContentKey, ) from azure.core.pipeline.transport import AioHttpTransport from azure.storage.queue import ( @@ -52,7 +57,6 @@ # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'encryptionqueue' - # ------------------------------------------------------------------------------ def _decode_base64_to_bytes(data): @@ -86,6 +90,7 @@ async def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX, **kwargs): pass return queue # -------------------------------------------------------------------------- + @QueuePreparer() @AsyncStorageTestCase.await_prepared_test async def test_get_messages_encrypted_kek(self, storage_account_name, storage_account_key): @@ -423,6 +428,7 @@ async def test_validate_encryption(self, storage_account_name, storage_account_k encryption_data = _EncryptionData( b64decode(encryption_data['ContentEncryptionIV'].encode(encoding='utf-8')), + None, encryption_agent, wrapped_content_key, {'EncryptionLibrary': VERSION}) @@ -486,7 +492,7 @@ async def test_get_with_strict_mode(self, storage_account_name, storage_account_ async for m in queue.receive_messages(): messages.append(m) _ = messages[0] - self.assertEqual(str(e.exception), 'Message was not encrypted.') + self.assertTrue('Message was either not encrypted or metadata was incorrect.' in str(e.exception)) @QueuePreparer() @AsyncStorageTestCase.await_prepared_test @@ -524,6 +530,218 @@ async def test_encryption_nonmatching_kid(self, storage_account_name, storage_ac assert "Decryption failed." in str(e.exception) + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_message_encrypted_kek_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = await self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + await queue.send_message(content) + message = await queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_message_encrypted_resolver_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + key_resolver = KeyResolver() + key_resolver.put_key(qsc.key_encryption_key) + + queue = await self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + await queue.send_message(content) + queue.key_resolver_function = key_resolver.resolve_key + queue.key_encryption_key = None # Ensure that the resolver is used + + message = await queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @pytest.mark.live_test_only + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_get_message_encrypted_kek_RSA_v2(self, storage_account_name, storage_account_key): + # We can only generate random RSA keys, so this must be run live or + # the playback test will fail due to a change in kek values. + + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=RSAKeyWrapper('key2')) + queue = await self._create_queue(qsc) + content = 'Hello World Encrypted!' + + # Act + await queue.send_message(content) + message = await queue.receive_message() + + # Assert + self.assertEqual(content, message.content) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_update_encrypted_message_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = await self._create_queue(qsc) + await queue.send_message('Update Me') + + message = await queue.receive_message() + message.content = 'Updated' + + # Act + await queue.update_message(message) + message = await queue.receive_message() + + # Assert + self.assertEqual('Updated', message.content) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_update_encrypted_binary_message_v2(self, storage_account_name, storage_account_key): + # Arrange + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + requires_encryption=True, + encryption_version='2.0', + key_encryption_key=KeyWrapper('key1')) + queue = await self._create_queue( + qsc, + message_encode_policy=BinaryBase64EncodePolicy(), + message_decode_policy=BinaryBase64DecodePolicy()) + queue.key_encryption_key = KeyWrapper('key1') + + await queue.send_message(b'Update Me') + message = await queue.receive_message() + message.content = b'Updated' + + # Act + await queue.update_message(message) + message = await queue.receive_message() + + # Assert + self.assertEqual(b'Updated', message.content) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_encryption_v2_v1_downgrade(self, storage_account_name, storage_account_key): + # Arrange + kek = KeyWrapper('key1') + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + requires_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + queue = await self._create_queue(qsc) + await queue.send_message('Hello World Encrypted!') + + queue.require_encryption = False + queue.key_encryption_key = None # Message will not be decrypted + message = await queue.receive_message() + content = loads(message.content) + + # Modify metadata to look like V1 + encryption_data = content['EncryptionData'] + encryption_data['EncryptionAgent']['Protocol'] = '1.0' + encryption_data['EncryptionAgent']['EncryptionAlgorithm'] = 'AES_CBC_256' + iv = b64encode(os.urandom(16)) + encryption_data['ContentEncryptionIV'] = iv.decode('utf-8') + content['EncryptionData'] = encryption_data + + message.content = dumps(content) + + # Act / Assert + # Update without encryption + await queue.update_message(message) + + # Re-enable encryption for receive + queue.require_encryption = True + queue.key_encryption_key = kek + + with self.assertRaises(HttpResponseError) as e: + await queue.receive_message() + + assert 'Decryption failed.' in str(e.exception) + + @QueuePreparer() + @AsyncStorageTestCase.await_prepared_test + async def test_validate_encryption_v2(self, storage_account_name, storage_account_key): + # Arrange + kek = KeyWrapper('key1') + qsc = QueueServiceClient( + self.account_url(storage_account_name, "queue"), + storage_account_key, + require_encryption=True, + encryption_version='2.0', + key_encryption_key=kek) + queue = await self._create_queue(qsc) + content = 'Hello World Encrypted!' + await queue.send_message(content) + + # Act + queue.require_encryption = False + queue.key_encryption_key = None # Message will not be decrypted + message = (await queue.receive_message()).content + message = loads(message) + + encryption_data = _dict_to_encryption_data(message['EncryptionData']) + encryption_agent = encryption_data.encryption_agent + self.assertEqual('2.0', encryption_agent.protocol) + self.assertEqual('AES_GCM_256', encryption_agent.encryption_algorithm) + + encrypted_region_info = encryption_data.encrypted_region_info + self.assertEqual(_GCM_NONCE_LENGTH, encrypted_region_info.nonce_length) + self.assertEqual(_GCM_TAG_LENGTH, encrypted_region_info.tag_length) + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, kek, None) + + nonce_length = encrypted_region_info.nonce_length + + message = message['EncryptedMessageContents'] + message = _decode_base64_to_bytes(message) + + # First bytes are the nonce + nonce = message[:nonce_length] + ciphertext_with_tag = message[nonce_length:] + + aesgcm = AESGCM(content_encryption_key) + decrypted_data = aesgcm.decrypt(nonce, ciphertext_with_tag, None) + + decrypted_data = decrypted_data.decode(encoding='utf-8') + + # Assert + self.assertEqual(content, decrypted_data) + + # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main()