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.KeyVaultClientBaseCryptographyClient
Konstruktor
CryptographyClient(key: KeyVaultKey | str, credential: TokenCredential, **kwargs)
Parameter
- key
- KeyVaultKey
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
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
- ciphertext
- bytes
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.
Der Initialisierungsvektor, der während der Verschlüsselung verwendet wird. Erforderlich für die AES-Entschlüsselung.
Das Authentifizierungstag, das während der Verschlüsselung generiert wird. Nur für die AES-GCM-Entschlüsselung erforderlich.
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
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.
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]
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
- 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
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
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
- digest
- bytes
Vorab gehashter Digest, der der Signatur entspricht. Der verwendete Hashalgorithmus muss mit algorithm
kompatibel sein.
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
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
vault_url
Azure SDK for Python