Share via


CryptographyClient Clase

Realiza operaciones criptográficas mediante claves de Azure Key Vault.

Este cliente realizará operaciones localmente cuando se inicialice con el material de clave necesario o pueda obtener ese material de Key Vault. Cuando el material de clave necesario no está disponible, el servicio Key Vault realiza operaciones criptográficas.

Herencia
azure.keyvault.keys._shared.client_base.KeyVaultClientBase
CryptographyClient

Constructor

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

Parámetros

key
KeyVaultKey
Requerido

KeyVaultKey Una instancia tal como la devuelve get_keyo una cadena. Si es una cadena, el valor debe ser el identificador de una clave de Azure Key Vault. Se recomienda incluir una versión.

credential
TokenCredential
Requerido

Objeto que puede proporcionar un token de acceso para el almacén, como una credencial de . identity

api_version
ApiVersion

Versión de la API de servicio que se va a usar. El valor predeterminado es el más reciente.

verify_challenge_resource
bool

Indica si el recurso de desafío de autenticación coincide con el dominio de Key Vault o HSM administrado. El valor predeterminado es True.

Métodos

close

Cierre los sockets abiertos por el cliente.

Llamar a este método no es necesario cuando se usa el cliente como administrador de contextos.

decrypt

Descifra un único bloque de datos cifrados mediante la clave del cliente.

requiere el permiso keys/decrypt. Este método descifra solo un único bloque de datos, cuyo tamaño depende de la clave y el algoritmo de cifrado.

encrypt

Cifre bytes mediante la clave del cliente.

requiere el permiso keys/encrypt. Este método cifra solo un único bloque de datos, cuyo tamaño depende de la clave y el algoritmo de cifrado.

from_jwk

Crea un cliente que solo puede realizar operaciones criptográficas localmente.

send_request

Ejecuta una solicitud de red mediante la canalización existente del cliente.

La dirección URL de la solicitud puede ser relativa a la dirección URL del almacén. La versión de la API de servicio usada para la solicitud es la misma que la del cliente, a menos que se especifique lo contrario. Este método no genera si la respuesta es un error; para generar una excepción, llame a raise_for_status() en el objeto de respuesta devuelto. Para obtener más información sobre cómo enviar solicitudes personalizadas con este método, vea https://aka.ms/azsdk/dpcodegen/python/send_request.

sign

Cree una firma a partir de un resumen mediante la clave del cliente.

requiere el permiso keys/sign.

unwrap_key

Desencapsular una clave previamente ajustada con la clave del cliente.

Requiere el permiso keys/unwrapKey.

verify

Compruebe una firma mediante la clave del cliente.

requiere el permiso keys/verify.

wrap_key

Ajuste una clave con la clave del cliente.

Requiere el permiso keys/wrapKey.

close

Cierre los sockets abiertos por el cliente.

Llamar a este método no es necesario cuando se usa el cliente como administrador de contextos.

close() -> None

decrypt

Descifra un único bloque de datos cifrados mediante la clave del cliente.

requiere el permiso keys/decrypt. Este método descifra solo un único bloque de datos, cuyo tamaño depende de la clave y el algoritmo de cifrado.

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

Parámetros

algorithm
EncryptionAlgorithm
Requerido

Algoritmo de cifrado que se va a usar

ciphertext
bytes
Requerido

Bytes cifrados que se van a descifrar. Microsoft recomienda no usar CBC sin asegurar primero la integridad del texto cifrado mediante, por ejemplo, un HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obtener más información.

iv
bytes o None

Vector de inicialización utilizado durante el cifrado. Necesario para el descifrado de AES.

authentication_tag
bytes o None

Etiqueta de autenticación generada durante el cifrado. Necesario solo para el descifrado AES-GCM.

additional_authenticated_data
bytes o None

Datos opcionales que se autentican pero no se cifran. Para su uso con descifrado AES-GCM.

Tipo de valor devuelto

Excepciones

Si se proporcionan parámetros incompatibles con el algoritmo especificado.

encrypt

Cifre bytes mediante la clave del cliente.

requiere el permiso keys/encrypt. Este método cifra solo un único bloque de datos, cuyo tamaño depende de la clave y el algoritmo de cifrado.

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

Parámetros

algorithm
EncryptionAlgorithm
Requerido

Algoritmo de cifrado que se va a usar

plaintext
bytes
Requerido

Bytes que se van a cifrar

iv
bytes o None

Vector de inicialización. Necesario solo para el cifrado AES-CBC(PAD). Si pasa su propio IV, asegúrese de usar un IV criptográficomente aleatorio y no repetido. Si se omite, se intentará generar un IV a través de os.urandom para la criptografía local; para la criptografía remota, Key Vault generará un IV.

additional_authenticated_data
bytes o None

Datos opcionales que se autentican pero no se cifran. Para su uso con cifrado AES-GCM.

Tipo de valor devuelto

Excepciones

si se proporcionan parámetros incompatibles con el algoritmo especificado o si se produce un error en la generación de un IV en la plataforma actual.

from_jwk

Crea un cliente que solo puede realizar operaciones criptográficas localmente.

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

Parámetros

jwk
JsonWebKey o Dict[str, Any]
Requerido

el material criptográfico de la clave, como jsonWebKey o diccionario.

Tipo de valor devuelto

send_request

Ejecuta una solicitud de red mediante la canalización existente del cliente.

La dirección URL de la solicitud puede ser relativa a la dirección URL del almacén. La versión de la API de servicio usada para la solicitud es la misma que la del cliente, a menos que se especifique lo contrario. Este método no genera si la respuesta es un error; para generar una excepción, llame a raise_for_status() en el objeto de respuesta devuelto. Para obtener más información sobre cómo enviar solicitudes personalizadas con este método, vea https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parámetros

request
HttpRequest
Requerido

Solicitud de red que desea realizar.

stream
bool

Si se transmitirá la carga de respuesta. El valor predeterminado es False.

Devoluciones

Respuesta de la llamada de red. No realiza el control de errores en la respuesta.

Tipo de valor devuelto

sign

Cree una firma a partir de un resumen mediante la clave del cliente.

requiere el permiso keys/sign.

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

Parámetros

algorithm
SignatureAlgorithm
Requerido

algoritmo de firma

digest
bytes
Requerido

bytes con hash que se van a firmar

Tipo de valor devuelto

unwrap_key

Desencapsular una clave previamente ajustada con la clave del cliente.

Requiere el permiso keys/unwrapKey.

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

Parámetros

algorithm
KeyWrapAlgorithm
Requerido

algoritmo de ajuste que se va a usar

encrypted_key
bytes
Requerido

la clave ajustada

Tipo de valor devuelto

verify

Compruebe una firma mediante la clave del cliente.

requiere el permiso keys/verify.

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

Parámetros

algorithm
SignatureAlgorithm
Requerido

algoritmo de comprobación

digest
bytes
Requerido

Resumen con hash previo correspondiente a la firma. El algoritmo hash usado debe ser compatible con algorithm.

signature
bytes
Requerido

firma para comprobar

Tipo de valor devuelto

wrap_key

Ajuste una clave con la clave del cliente.

Requiere el permiso keys/wrapKey.

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

Parámetros

algorithm
KeyWrapAlgorithm
Requerido

algoritmo de ajuste que se va a usar

key
bytes
Requerido

clave que se va a ajustar

Tipo de valor devuelto

Atributos

key_id

Identificador completo de la clave del cliente.

Esta propiedad puede ser None cuando se construye un cliente con from_jwk.

Tipo de valor devuelto

str,

vault_url

Dirección URL del almacén base de la clave del cliente.

Esta propiedad puede ser None cuando se construye un cliente con from_jwk.

Tipo de valor devuelto

str,