Freigeben über


CryptographyClient Klasse

Führt kryptografische Vorgänge mithilfe von Azure Key Vault-Schlüsseln aus.

Dieser Client führt Vorgänge lokal aus, wenn er mit dem erforderlichen Schlüsselmaterial initialisiert wird oder dieses Material von Key Vault abrufen kann. Wenn das erforderliche Schlüsselmaterial nicht verfügbar ist, werden kryptografische Vorgänge vom Key Vault-Dienst ausgeführt.

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

Konstruktor

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

Parameter

key
KeyVaultKey
Erforderlich

Entweder ein KeyVaultKey instance, wie von get_keyzurückgegeben, oder eine Zeichenfolge. Bei einer Zeichenfolge muss der Wert der Bezeichner eines Azure Key Vault-Schlüssels sein. Das Einschließen einer Version wird empfohlen.

credential
TokenCredential
Erforderlich

Ein -Objekt, das ein Zugriffstoken für den Tresor bereitstellen kann, z. B. Anmeldeinformationen von identity

api_version
ApiVersion

Version der zu verwendenden Dienst-API. Der Standardwert ist die neueste.

verify_challenge_resource
bool

Gibt an, ob die Authentifizierungsanforderungsressource mit dem Key Vault oder der verwalteten HSM-Domäne übereinstimmt. Der Standardwert ist „True“.

Methoden

close

Schließen Sie sockets, die vom Client geöffnet werden.

Das Aufrufen dieser Methode ist nicht erforderlich, wenn der Client als Kontext-Manager verwendet wird.

decrypt

Entschlüsseln Sie einen einzelnen Block verschlüsselter Daten mithilfe des Clientschlüssels.

Erfordert die "keys/decrypt"-Berechtigung. Diese Methode entschlüsselt nur einen einzelnen Datenblock, dessen Größe vom Schlüssel und dem Verschlüsselungsalgorithmus abhängt.

encrypt

Verschlüsseln Sie Bytes mit dem Schlüssel des Clients.

Erfordert die "keys/encrypt"-Berechtigung. Diese Methode verschlüsselt nur einen einzelnen Datenblock, dessen Größe vom Schlüssel und dem Verschlüsselungsalgorithmus abhängt.

from_jwk

Erstellt einen Client, der kryptografische Vorgänge nur lokal ausführen kann.

send_request

Führt eine Netzwerkanforderung mithilfe der vorhandenen Pipeline des Clients aus.

Die Anforderungs-URL kann relativ zur Tresor-URL sein. Die für die Anforderung verwendete Dienst-API-Version ist mit der des Clients identisch, sofern nichts anderes angegeben ist. Diese Methode wird nicht ausgelöst, wenn die Antwort ein Fehler ist. Um eine Ausnahme auszulösen, rufen Sie raise_for_status() für das zurückgegebene Antwortobjekt auf. Weitere Informationen zum Senden benutzerdefinierter Anforderungen mit dieser Methode finden Sie unter https://aka.ms/azsdk/dpcodegen/python/send_request.

sign

Erstellen Sie eine Signatur aus einem Digest mithilfe des Clientschlüssels.

Erfordert die "keys/sign"-Berechtigung.

unwrap_key

Entpacken Sie einen Schlüssel, der zuvor mit dem Clientschlüssel umschlossen wurde.

Erfordert die Berechtigung keys/unwrapKey.

verify

Überprüfen Sie eine Signatur mithilfe des Clientschlüssels.

Erfordert die "keys/verify"-Berechtigung.

wrap_key

Umschließen Sie einen Schlüssel mit dem Schlüssel des Clients.

Erfordert die Berechtigung keys/wrapKey.

close

Schließen Sie sockets, die vom Client geöffnet werden.

Das Aufrufen dieser Methode ist nicht erforderlich, wenn der Client als Kontext-Manager verwendet wird.

close() -> None

decrypt

Entschlüsseln Sie einen einzelnen Block verschlüsselter Daten mithilfe des Clientschlüssels.

Erfordert die "keys/decrypt"-Berechtigung. Diese Methode entschlüsselt nur einen einzelnen Datenblock, dessen Größe vom Schlüssel und dem Verschlüsselungsalgorithmus abhängt.

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

Parameter

algorithm
EncryptionAlgorithm
Erforderlich

Zu verwendende Verschlüsselungsalgorithmus

ciphertext
bytes
Erforderlich

Verschlüsselte Bytes, die entschlüsselt werden sollen. Microsoft empfiehlt, CBC nicht zu verwenden, ohne zuerst die Integrität des Verschlüsselungstexts mithilfe eines HMAC sicherzustellen. Weitere Informationen finden Sie unter https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

iv
bytes oder None

Der Initialisierungsvektor, der während der Verschlüsselung verwendet wird. Erforderlich für die AES-Entschlüsselung.

authentication_tag
bytes oder None

Das Authentifizierungstag, das während der Verschlüsselung generiert wird. Nur für die AES-GCM-Entschlüsselung erforderlich.

additional_authenticated_data
bytes oder None

Optionale Daten, die authentifiziert, aber nicht verschlüsselt sind. Zur Verwendung mit der AES-GCM-Entschlüsselung.

Rückgabetyp

Ausnahmen

Wenn Parameter bereitgestellt werden, die mit dem angegebenen Algorithmus nicht kompatibel sind.

encrypt

Verschlüsseln Sie Bytes mit dem Schlüssel des Clients.

Erfordert die "keys/encrypt"-Berechtigung. Diese Methode verschlüsselt nur einen einzelnen Datenblock, dessen Größe vom Schlüssel und dem Verschlüsselungsalgorithmus abhängt.

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

Parameter

algorithm
EncryptionAlgorithm
Erforderlich

Zu verwendende Verschlüsselungsalgorithmus

plaintext
bytes
Erforderlich

Zu verschlüsselnde Bytes

iv
bytes oder None

Initialisierungsvektor. Nur für die AES-CBC(PAD)-Verschlüsselung erforderlich. Wenn Sie Ihre eigene IV übergeben, stellen Sie sicher, dass Sie eine kryptografisch zufällige, nicht wiederholende IV verwenden. Wenn nicht angegeben, wird versucht, ein IV über os.urandom für die lokale Kryptografie zu generieren; für Remotekryptografie generiert Key Vault einen IV.

additional_authenticated_data
bytes oder None

Optionale Daten, die authentifiziert, aber nicht verschlüsselt sind. Zur Verwendung mit AES-GCM-Verschlüsselung.

Rückgabetyp

Ausnahmen

, wenn Parameter bereitgestellt werden, die mit dem angegebenen Algorithmus nicht kompatibel sind, oder wenn beim Generieren eines IV auf der aktuellen Plattform ein Fehler auftritt.

from_jwk

Erstellt einen Client, der kryptografische Vorgänge nur lokal ausführen kann.

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

Parameter

jwk
JsonWebKey oder Dict[str, Any]
Erforderlich

das kryptografische Material des Schlüssels als JsonWebKey oder -Wörterbuch.

Rückgabetyp

send_request

Führt eine Netzwerkanforderung mithilfe der vorhandenen Pipeline des Clients aus.

Die Anforderungs-URL kann relativ zur Tresor-URL sein. Die für die Anforderung verwendete Dienst-API-Version ist mit der des Clients identisch, sofern nichts anderes angegeben ist. Diese Methode wird nicht ausgelöst, wenn die Antwort ein Fehler ist. Um eine Ausnahme auszulösen, rufen Sie raise_for_status() für das zurückgegebene Antwortobjekt auf. Weitere Informationen zum Senden benutzerdefinierter Anforderungen mit dieser Methode finden Sie unter https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parameter

request
HttpRequest
Erforderlich

Die Netzwerkanforderung, die Sie ausführen möchten.

stream
bool

Gibt an, ob die Antwortnutzlast gestreamt wird. Der Standardwert lautet „False“.

Gibt zurück

Die Antwort Ihres Netzwerkaufrufs. Führt keine Fehlerbehandlung für Ihre Antwort durch.

Rückgabetyp

sign

Erstellen Sie eine Signatur aus einem Digest mithilfe des Clientschlüssels.

Erfordert die "keys/sign"-Berechtigung.

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

Parameter

algorithm
SignatureAlgorithm
Erforderlich

Signaturalgorithmus

digest
bytes
Erforderlich

Zu signierende Hashbytes

Rückgabetyp

unwrap_key

Entpacken Sie einen Schlüssel, der zuvor mit dem Clientschlüssel umschlossen wurde.

Erfordert die Berechtigung keys/unwrapKey.

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

Parameter

algorithm
KeyWrapAlgorithm
Erforderlich

Zu verwendende Wrappingalgorithmus

encrypted_key
bytes
Erforderlich

der umschlossene Schlüssel

Rückgabetyp

verify

Überprüfen Sie eine Signatur mithilfe des Clientschlüssels.

Erfordert die "keys/verify"-Berechtigung.

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

Parameter

algorithm
SignatureAlgorithm
Erforderlich

Überprüfungsalgorithmus

digest
bytes
Erforderlich

Vorab gehashter Digest, der der Signatur entspricht. Der verwendete Hashalgorithmus muss mit algorithmkompatibel sein.

signature
bytes
Erforderlich

Zu überprüfende Signatur

Rückgabetyp

wrap_key

Umschließen Sie einen Schlüssel mit dem Schlüssel des Clients.

Erfordert die Berechtigung keys/wrapKey.

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

Parameter

algorithm
KeyWrapAlgorithm
Erforderlich

Zu verwendende Wrappingalgorithmus

key
bytes
Erforderlich

Zu umschließende Schlüssel

Rückgabetyp

Attribute

key_id

Der vollständige Bezeichner des Clientschlüssels.

Diese Eigenschaft kann Keine sein, wenn ein Client mit from_jwkerstellt wird.

Rückgabetyp

str,

vault_url

Die Basistresor-URL des Clientschlüssels.

Diese Eigenschaft kann Keine sein, wenn ein Client mit from_jwkerstellt wird.

Rückgabetyp

str,