Partager via


CryptographyClient Classe

Effectue des opérations de chiffrement à l’aide de clés Key Vault Azure.

Ce client effectue des opérations localement lorsqu’il est intialisé avec le matériel de clé nécessaire ou qu’il est en mesure d’obtenir ce matériel à partir de Key Vault. Lorsque le matériel de clé requis n’est pas disponible, les opérations de chiffrement sont effectuées par le service Key Vault.

Héritage
azure.keyvault.keys._shared.client_base.KeyVaultClientBase
CryptographyClient

Constructeur

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

Paramètres

key
KeyVaultKey
Obligatoire

KeyVaultKey Une instance comme retournée par get_key, ou une chaîne. S’il s’agit d’une chaîne, la valeur doit être l’identificateur d’une clé Key Vault Azure. Il est recommandé d’inclure une version.

credential
TokenCredential
Obligatoire

Objet qui peut fournir un jeton d’accès pour le coffre, tel qu’une information d’identification de identity

api_version
ApiVersion

Version de l’API de service à utiliser. La valeur par défaut est la plus récente.

verify_challenge_resource
bool

Indique s’il faut vérifier que la ressource de défi d’authentification correspond au domaine Key Vault ou HSM managé. La valeur par défaut est True.

Méthodes

close

Fermez les sockets ouverts par le client.

L’appel de cette méthode n’est pas nécessaire lors de l’utilisation du client en tant que gestionnaire de contexte.

decrypt

Déchiffrez un seul bloc de données chiffrées à l’aide de la clé du client.

requiert l'autorisation keys/decrypt. Cette méthode ne déchiffre qu’un seul bloc de données, dont la taille dépend de la clé et de l’algorithme de chiffrement.

encrypt

Chiffrez les octets à l’aide de la clé du client.

requiert l'autorisation keys/encrypt. Cette méthode chiffre un seul bloc de données, dont la taille dépend de la clé et de l’algorithme de chiffrement.

from_jwk

Crée un client qui peut uniquement effectuer des opérations de chiffrement localement.

send_request

Exécute une requête réseau à l’aide du pipeline existant du client.

L’URL de la demande peut être relative à l’URL du coffre. La version de l’API de service utilisée pour la requête est identique à celle du client, sauf indication contraire. Cette méthode ne se déclenche pas si la réponse est une erreur ; pour déclencher une exception, appelez raise_for_status() sur l’objet de réponse retourné. Pour plus d’informations sur l’envoi de demandes personnalisées avec cette méthode, consultez https://aka.ms/azsdk/dpcodegen/python/send_request.

sign

Créez une signature à partir d’un condensé à l’aide de la clé du client.

requiert l'autorisation keys/sign.

unwrap_key

Désencapsuler une clé précédemment encapsulée avec la clé du client.

Nécessite l’autorisation keys/unwrapKey.

verify

Vérifiez une signature à l’aide de la clé du client.

requiert l'autorisation keys/verify.

wrap_key

Encapsuler une clé avec la clé du client.

Nécessite l’autorisation keys/wrapKey.

close

Fermez les sockets ouverts par le client.

L’appel de cette méthode n’est pas nécessaire lors de l’utilisation du client en tant que gestionnaire de contexte.

close() -> None

decrypt

Déchiffrez un seul bloc de données chiffrées à l’aide de la clé du client.

requiert l'autorisation keys/decrypt. Cette méthode ne déchiffre qu’un seul bloc de données, dont la taille dépend de la clé et de l’algorithme de chiffrement.

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

Paramètres

algorithm
EncryptionAlgorithm
Obligatoire

Algorithme de chiffrement à utiliser

ciphertext
bytes
Obligatoire

Octets chiffrés à déchiffrer. Microsoft recommande de ne pas utiliser CBC sans garantir au préalable l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Consultez la rubrique https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode (éventuellement en anglais) pour plus d'informations.

iv
bytes ou None

Vecteur d’initialisation utilisé pendant le chiffrement. Requis pour le déchiffrement AES.

authentication_tag
bytes ou None

Balise d’authentification générée pendant le chiffrement. Obligatoire uniquement pour le déchiffrement AES-GCM.

additional_authenticated_data
bytes ou None

Données facultatives authentifiées mais non chiffrées. À utiliser avec le déchiffrement AES-GCM.

Type de retour

Exceptions

Si des paramètres incompatibles avec l’algorithme spécifié sont fournis.

encrypt

Chiffrez les octets à l’aide de la clé du client.

requiert l'autorisation keys/encrypt. Cette méthode chiffre un seul bloc de données, dont la taille dépend de la clé et de l’algorithme de chiffrement.

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

Paramètres

algorithm
EncryptionAlgorithm
Obligatoire

Algorithme de chiffrement à utiliser

plaintext
bytes
Obligatoire

Octets à chiffrer

iv
bytes ou None

Vecteur d’initialisation. Obligatoire uniquement pour le chiffrement AES-CBC(PAD). Si vous passez votre propre iv, assurez-vous d’utiliser un iv non répétiteur aléatoire sur le plan du chiffrement. En cas d’omission, une tentative est effectuée pour générer un iv via os.urandom pour le chiffrement local ; pour le chiffrement distant, Key Vault générera un ivr.

additional_authenticated_data
bytes ou None

Données facultatives authentifiées mais non chiffrées. À utiliser avec le chiffrement AES-GCM.

Type de retour

Exceptions

si des paramètres incompatibles avec l’algorithme spécifié sont fournis, ou si la génération d’un IV échoue sur la plateforme actuelle.

from_jwk

Crée un client qui peut uniquement effectuer des opérations de chiffrement localement.

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

Paramètres

jwk
JsonWebKey ou Dict[str, Any]
Obligatoire

le matériel de chiffrement de la clé, sous la forme d’un jsonWebKey ou d’un dictionnaire.

Type de retour

send_request

Exécute une requête réseau à l’aide du pipeline existant du client.

L’URL de la demande peut être relative à l’URL du coffre. La version de l’API de service utilisée pour la requête est identique à celle du client, sauf indication contraire. Cette méthode ne se déclenche pas si la réponse est une erreur ; pour déclencher une exception, appelez raise_for_status() sur l’objet de réponse retourné. Pour plus d’informations sur l’envoi de demandes personnalisées avec cette méthode, consultez https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Paramètres

request
HttpRequest
Obligatoire

Demande réseau que vous souhaitez effectuer.

stream
bool

Indique si la charge utile de réponse sera diffusée en continu. Valeur par défaut False.

Retours

Réponse de votre appel réseau. Ne gère pas les erreurs sur votre réponse.

Type de retour

sign

Créez une signature à partir d’un condensé à l’aide de la clé du client.

requiert l'autorisation keys/sign.

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

Paramètres

algorithm
SignatureAlgorithm
Obligatoire

algorithme de signature

digest
bytes
Obligatoire

Octets hachés à signer

Type de retour

unwrap_key

Désencapsuler une clé précédemment encapsulée avec la clé du client.

Nécessite l’autorisation keys/unwrapKey.

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

Paramètres

algorithm
KeyWrapAlgorithm
Obligatoire

Algorithme d’habillage à utiliser

encrypted_key
bytes
Obligatoire

clé encapsulée

Type de retour

verify

Vérifiez une signature à l’aide de la clé du client.

requiert l'autorisation keys/verify.

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

Paramètres

algorithm
SignatureAlgorithm
Obligatoire

algorithme de vérification

digest
bytes
Obligatoire

Synthèse pré-hachée correspondant à la signature. L’algorithme de hachage utilisé doit être compatible avec algorithm.

signature
bytes
Obligatoire

signature à vérifier

Type de retour

wrap_key

Encapsuler une clé avec la clé du client.

Nécessite l’autorisation keys/wrapKey.

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

Paramètres

algorithm
KeyWrapAlgorithm
Obligatoire

Algorithme d’habillage à utiliser

key
bytes
Obligatoire

clé à inclure dans l’encapsuler

Type de retour

Attributs

key_id

Identificateur complet de la clé du client.

Cette propriété peut avoir la valeur None lorsqu’un client est construit avec from_jwk.

Type de retour

str,

vault_url

URL du coffre de base de la clé du client.

Cette propriété peut avoir la valeur None lorsqu’un client est construit avec from_jwk.

Type de retour

str,