> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KeyPair

<span id="atoti_storage_azure.KeyPair" />

> atoti\_storage\_azure.KeyPair(<br />
>     *public\_key*: [str](https://docs.python.org/3/library/stdtypes.html#str),<br />
>     *private\_key*: [str](https://docs.python.org/3/library/stdtypes.html#str),<br />
>     \*,<br />
>     *key\_id*: [str](https://docs.python.org/3/library/stdtypes.html#str),<br />
> )

Key pair to use for client side encryption.

<Warning>
  Each encrypted blob must have the metadata attribute `unencrypted_content_length` with the unencrypted file size.
  If this is not set, an **Issue while downloading** error will occur.
</Warning>

```pycon theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
>>> from atoti_storage_azure import KeyPair
>>> client_side_encryption = KeyPair("public_key", "private_key", key_id="key_id")
```

### Properties

<h4 id="atoti_storage_azure.KeyPair.public_key_pem">
  *public\_key\_pem*
</h4>

> [str](https://docs.python.org/3/library/stdtypes.html#str)

The public key in PEM format.

### Attributes

<h4 id="atoti_storage_azure.KeyPair.key_id">
  *key\_id*
</h4>

The ID of the key used to encrypt the blob.

<h4 id="atoti_storage_azure.KeyPair.public_key">
  *public\_key*
</h4>

> [str](https://docs.python.org/3/library/stdtypes.html#str)

<h4 id="atoti_storage_azure.KeyPair.private_key">
  *private\_key*
</h4>

> [str](https://docs.python.org/3/library/stdtypes.html#str)
