Поделиться через


CryptographyClient Класс

Выполняет криптографические операции с помощью ключей Key Vault Azure.

Этот клиент будет выполнять операции локально, если он инициализирован с необходимым ключевым материалом или сможет получить этот материал из Key Vault. Если необходимый материал ключа недоступен, служба Key Vault выполняет криптографические операции.

Наследование
azure.keyvault.keys._shared.client_base.KeyVaultClientBase
CryptographyClient

Конструктор

CryptographyClient(key: KeyVaultKey | str, credential: TokenCredential, **kwargs)

Параметры

key
KeyVaultKey
Обязательно

Либо экземпляр, KeyVaultKey возвращаемый параметром get_key, либо строка. Если строка, значение должно быть идентификатором ключа Key Vault Azure. Рекомендуется включить версию.

credential
TokenCredential
Обязательно

Объект , который может предоставить маркер доступа для хранилища, например учетные данные из identity

api_version
ApiVersion

Используемая версия API службы. По умолчанию используется последняя версия.

verify_challenge_resource
bool

Убедитесь, что ресурс запроса проверки подлинности соответствует Key Vault или управляемому домену HSM. Значение по умолчанию — True.

Методы

close

Закройте сокеты, открытые клиентом.

Вызов этого метода не требуется при использовании клиента в качестве диспетчера контекста.

decrypt

Расшифруйте один блок зашифрованных данных с помощью ключа клиента.

Требуется разрешение на дешифрование ключей. Этот метод расшифровывает только один блок данных, размер которых зависит от ключа и алгоритма шифрования.

encrypt

Шифрование байтов с помощью ключа клиента.

Требуется разрешение на шифрование ключей. Этот метод шифрует только один блок данных, размер которых зависит от ключа и алгоритма шифрования.

from_jwk

Создает клиент, который может выполнять криптографические операции только локально.

send_request

Выполняет сетевой запрос, используя существующий конвейер клиента.

URL-адрес запроса может быть относительно URL-адреса хранилища. Версия API службы, используемая для запроса, совпадает с версией API клиента, если не указано иное. Этот метод не вызывается, если ответ является ошибкой; Чтобы вызвать исключение, вызовите raise_for_status() для возвращенного объекта ответа. Дополнительные сведения об отправке пользовательских запросов с помощью этого метода см. в разделе https://aka.ms/azsdk/dpcodegen/python/send_request.

sign

Создайте сигнатуру из хэша с помощью ключа клиента.

требует параметр разрешений ключей/подписи.

unwrap_key

Распакуйте ключ, ранее заключенный в ключ клиента.

Требуется разрешение keys/unwrapKey.

verify

Проверьте подпись с помощью ключа клиента.

Требуется разрешение на проверку ключей.

wrap_key

Заключите ключ с помощью ключа клиента.

Требуется разрешение keys/wrapKey.

close

Закройте сокеты, открытые клиентом.

Вызов этого метода не требуется при использовании клиента в качестве диспетчера контекста.

close() -> None

decrypt

Расшифруйте один блок зашифрованных данных с помощью ключа клиента.

Требуется разрешение на дешифрование ключей. Этот метод расшифровывает только один блок данных, размер которых зависит от ключа и алгоритма шифрования.

decrypt(algorithm: EncryptionAlgorithm, ciphertext: bytes, **kwargs) -> DecryptResult

Параметры

algorithm
EncryptionAlgorithm
Обязательно

Используемый алгоритм шифрования

ciphertext
bytes
Обязательно

Зашифрованные байты для расшифровки. Корпорация Майкрософт рекомендует не использовать CBC без предварительного обеспечения целостности зашифрованного текста с помощью, например, HMAC. Подробнее см. в разделе https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

iv
bytes или None

Вектор инициализации, используемый во время шифрования. Требуется для расшифровки AES.

authentication_tag
bytes или None

Тег проверки подлинности, созданный во время шифрования. Требуется только для расшифровки AES-GCM.

additional_authenticated_data
bytes или None

Необязательные данные, прошедшие проверку подлинности, но не зашифрованные. Для использования с расшифровкой AES-GCM.

Возвращаемый тип

Исключения

Если указаны параметры, несовместимые с указанным алгоритмом.

encrypt

Шифрование байтов с помощью ключа клиента.

Требуется разрешение на шифрование ключей. Этот метод шифрует только один блок данных, размер которых зависит от ключа и алгоритма шифрования.

encrypt(algorithm: EncryptionAlgorithm, plaintext: bytes, **kwargs) -> EncryptResult

Параметры

algorithm
EncryptionAlgorithm
Обязательно

Используемый алгоритм шифрования

plaintext
bytes
Обязательно

Байты для шифрования

iv
bytes или None

Вектор инициализации. Требуется только для шифрования AES-CBC(PAD). Если вы передаете свой собственный iv, убедитесь, что вы используете криптографически случайный, не повторяющийся IV. Если этот параметр опущен, будет предпринята попытка создать iv с помощью os.urandom для локального шифрования; для удаленного шифрования Key Vault создаст iv.

additional_authenticated_data
bytes или None

Необязательные данные, прошедшие проверку подлинности, но не зашифрованные. Для использования с шифрованием AES-GCM.

Возвращаемый тип

Исключения

Значение , если указаны параметры, несовместимые с указанным алгоритмом, или если создание iv на текущей платформе завершается сбоем.

from_jwk

Создает клиент, который может выполнять криптографические операции только локально.

from_jwk(jwk: JsonWebKey | Dict[str, Any]) -> CryptographyClient

Параметры

jwk
JsonWebKey или Dict[str, Any]
Обязательно

криптографический материал ключа в виде JsonWebKey или словаря.

Возвращаемый тип

send_request

Выполняет сетевой запрос, используя существующий конвейер клиента.

URL-адрес запроса может быть относительно URL-адреса хранилища. Версия API службы, используемая для запроса, совпадает с версией API клиента, если не указано иное. Этот метод не вызывается, если ответ является ошибкой; Чтобы вызвать исключение, вызовите raise_for_status() для возвращенного объекта ответа. Дополнительные сведения об отправке пользовательских запросов с помощью этого метода см. в разделе https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

Параметры

request
HttpRequest
Обязательно

Сетевой запрос, который вы хотите выполнить.

stream
bool

Указывает, будут ли полезные данные ответа передаваться в потоковую передачу. Значение по умолчанию — False.

Возвращаемое значение

Ответ сетевого вызова. Не обрабатывает ошибки в ответе.

Возвращаемый тип

sign

Создайте сигнатуру из хэша с помощью ключа клиента.

требует параметр разрешений ключей/подписи.

sign(algorithm: SignatureAlgorithm, digest: bytes, **kwargs) -> SignResult

Параметры

algorithm
SignatureAlgorithm
Обязательно

Алгоритм подписывания

digest
bytes
Обязательно

Хэшированные байты для подписи

Возвращаемый тип

unwrap_key

Распакуйте ключ, ранее заключенный в ключ клиента.

Требуется разрешение keys/unwrapKey.

unwrap_key(algorithm: KeyWrapAlgorithm, encrypted_key: bytes, **kwargs) -> UnwrapResult

Параметры

algorithm
KeyWrapAlgorithm
Обязательно

Используемый алгоритм упаковки

encrypted_key
bytes
Обязательно

ключ, заключенный в оболочку

Возвращаемый тип

verify

Проверьте подпись с помощью ключа клиента.

Требуется разрешение на проверку ключей.

verify(algorithm: SignatureAlgorithm, digest: bytes, signature: bytes, **kwargs) -> VerifyResult

Параметры

algorithm
SignatureAlgorithm
Обязательно

алгоритм проверки

digest
bytes
Обязательно

Предварительно хэшированного хэша, соответствующего сигнатуре. Используемый хэш-алгоритм должен быть совместим с algorithm.

signature
bytes
Обязательно

подпись для проверки

Возвращаемый тип

wrap_key

Заключите ключ с помощью ключа клиента.

Требуется разрешение keys/wrapKey.

wrap_key(algorithm: KeyWrapAlgorithm, key: bytes, **kwargs) -> WrapResult

Параметры

algorithm
KeyWrapAlgorithm
Обязательно

Используемый алгоритм упаковки

key
bytes
Обязательно

клавиша для оболочки

Возвращаемый тип

Атрибуты

key_id

Полный идентификатор ключа клиента.

Это свойство может иметь значение None, если клиент создается с помощью from_jwk.

Возвращаемый тип

str,

vault_url

URL-адрес базового хранилища ключа клиента.

Это свойство может иметь значение None, если клиент создается с помощью from_jwk.

Возвращаемый тип

str,