Freigeben über


CryptographyClient class

Ein Client, der zum Ausführen kryptografischer Vorgänge auf einem Azure Key Vault-Schlüssel oder einem lokalen JsonWebKey-verwendet wird.

Konstruktoren

CryptographyClient(JsonWebKey)

Erstellt eine neue Instanz des Kryptografieclients für den angegebenen Schlüssel im lokalen Modus.

Beispielverwendung:

import { CryptographyClient } from "@azure/keyvault-keys";

const jsonWebKey: JsonWebKey = {
  // ...
};
const client = new CryptographyClient(jsonWebKey);
CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Erstellt eine neue Instanz des Kryptografieclients für den angegebenen Schlüssel.

Beispielverwendung:

import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { DefaultAzureCredential } from "@azure/identity";

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let keyClient = new KeyClient(vaultUrl, credentials);
let keyVaultKey = await keyClient.getKey("MyKey");

let client = new CryptographyClient(keyVaultKey.id, credentials);
// or
let client = new CryptographyClient(keyVaultKey, credentials);

Eigenschaften

keyID

Die ID des Schlüssels, der zum Ausführen kryptografischer Vorgänge für den Client verwendet wird.

vaultUrl

Die Basis-URL zum Tresor. Wenn ein lokaler JsonWebKey- verwendet wird, ist vaultUrl leer.

Methoden

decrypt(DecryptParameters, DecryptOptions)

Entschlüsselt den angegebenen Chiffretext mit den angegebenen Entschlüsselungsparametern. Je nach dem Algorithmus, der in den Entschlüsselungsparametern verwendet wird, ändert sich der Satz möglicher Entschlüsselungsparameter.

Microsoft empfiehlt, CBC nicht zu verwenden, ohne zuerst die Integrität des Chiffretexts zu gewährleisten, z. B. einen HMAC. Weitere Informationen finden Sie unter https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt({ algorithm: "RSA1_5", ciphertext: encryptedBuffer });
let result = await client.decrypt({ algorithm: "A256GCM", iv: ivFromEncryptResult, authenticationTag: tagFromEncryptResult });
decrypt(string, Uint8Array, DecryptOptions)

Entschlüsselt den angegebenen Verschlüsselungstext mit dem angegebenen Kryptografiealgorithmus.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt("RSA1_5", encryptedBuffer);

Microsoft empfiehlt, CBC nicht zu verwenden, ohne zuerst die Integrität des Chiffretexts zu gewährleisten, z. B. einen HMAC. Weitere Informationen finden Sie unter https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

encrypt(EncryptParameters, EncryptOptions)

Verschlüsselt den angegebenen Klartext mit den angegebenen Verschlüsselungsparametern. Je nach dem Algorithmus, der in den Verschlüsselungsparametern festgelegt ist, ändert sich der Satz möglicher Verschlüsselungsparameter.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt({ algorithm: "RSA1_5", plaintext: Buffer.from("My Message")});
let result = await client.encrypt({ algorithm: "A256GCM", plaintext: Buffer.from("My Message"), additionalAuthenticatedData: Buffer.from("My authenticated data")});
encrypt(string, Uint8Array, EncryptOptions)

Verschlüsselt den angegebenen Klartext mit dem angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt("RSA1_5", Buffer.from("My Message"));
sign(string, Uint8Array, SignOptions)

Kryptografisch signieren sie den Digest einer Nachricht

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.sign("RS256", digest);
signData(string, Uint8Array, SignOptions)

Kryptografisch signieren sie einen Datenblock

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.signData("RS256", message);
unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Entpackt den angegebenen umschlossenen Schlüssel mithilfe des angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.unwrapKey("RSA1_5", keyToUnwrap);
verify(string, Uint8Array, Uint8Array, VerifyOptions)

Überprüfen des Digests für signierte Nachrichten

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verify("RS256", signedDigest, signature);
verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Überprüfen des signierten Datenblocks

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verifyData("RS256", signedMessage, signature);
wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Umschließt den angegebenen Schlüssel mithilfe des angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.wrapKey("RSA1_5", keyToWrap);

Details zum Konstruktor

CryptographyClient(JsonWebKey)

Erstellt eine neue Instanz des Kryptografieclients für den angegebenen Schlüssel im lokalen Modus.

Beispielverwendung:

import { CryptographyClient } from "@azure/keyvault-keys";

const jsonWebKey: JsonWebKey = {
  // ...
};
const client = new CryptographyClient(jsonWebKey);
new CryptographyClient(key: JsonWebKey)

Parameter

key
JsonWebKey

Der JsonWebKey, der während Kryptografievorgängen verwendet werden soll.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Erstellt eine neue Instanz des Kryptografieclients für den angegebenen Schlüssel.

Beispielverwendung:

import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { DefaultAzureCredential } from "@azure/identity";

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let keyClient = new KeyClient(vaultUrl, credentials);
let keyVaultKey = await keyClient.getKey("MyKey");

let client = new CryptographyClient(keyVaultKey.id, credentials);
// or
let client = new CryptographyClient(keyVaultKey, credentials);
new CryptographyClient(key: string | KeyVaultKey, credential: TokenCredential, pipelineOptions?: CryptographyClientOptions)

Parameter

key

string | KeyVaultKey

Der Schlüssel, der während Kryptografieaufgaben verwendet werden soll. Sie können auch den Bezeichner des Schlüssels übergeben, d. h. dessen URL hier.

credential
TokenCredential

Ein Objekt, das die TokenCredential Schnittstelle implementiert, die zum Authentifizieren von Anforderungen an den Dienst verwendet wird. Verwenden Sie das @azure/identity-Paket, um eine Anmeldeinformation zu erstellen, die Ihren Anforderungen entspricht.

pipelineOptions
CryptographyClientOptions

Pipelineoptionen zum Konfigurieren von Key Vault-API-Anforderungen. Lassen Sie diesen Parameter aus, um die Standardpipelinekonfiguration zu verwenden.

Details zur Eigenschaft

keyID

Die ID des Schlüssels, der zum Ausführen kryptografischer Vorgänge für den Client verwendet wird.

undefined | string keyID

Eigenschaftswert

undefined | string

vaultUrl

Die Basis-URL zum Tresor. Wenn ein lokaler JsonWebKey- verwendet wird, ist vaultUrl leer.

string vaultUrl

Eigenschaftswert

string

Details zur Methode

decrypt(DecryptParameters, DecryptOptions)

Entschlüsselt den angegebenen Chiffretext mit den angegebenen Entschlüsselungsparametern. Je nach dem Algorithmus, der in den Entschlüsselungsparametern verwendet wird, ändert sich der Satz möglicher Entschlüsselungsparameter.

Microsoft empfiehlt, CBC nicht zu verwenden, ohne zuerst die Integrität des Chiffretexts zu gewährleisten, z. B. einen HMAC. Weitere Informationen finden Sie unter https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt({ algorithm: "RSA1_5", ciphertext: encryptedBuffer });
let result = await client.decrypt({ algorithm: "A256GCM", iv: ivFromEncryptResult, authenticationTag: tagFromEncryptResult });
function decrypt(decryptParameters: DecryptParameters, options?: DecryptOptions): Promise<DecryptResult>

Parameter

decryptParameters
DecryptParameters

Die Entschlüsselungsparameter.

options
DecryptOptions

Weitere Optionen.

Gibt zurück

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Warnung

Diese API ist nun veraltet.

Use decrypt({ algorithm, ciphertext }, options) instead.

Entschlüsselt den angegebenen Verschlüsselungstext mit dem angegebenen Kryptografiealgorithmus.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt("RSA1_5", encryptedBuffer);

Microsoft empfiehlt, CBC nicht zu verwenden, ohne zuerst die Integrität des Chiffretexts zu gewährleisten, z. B. einen HMAC. Weitere Informationen finden Sie unter https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

function decrypt(algorithm: string, ciphertext: Uint8Array, options?: DecryptOptions): Promise<DecryptResult>

Parameter

algorithm

string

Der zu verwendende Algorithmus.

ciphertext

Uint8Array

Der zu entschlüsselnde Text.

options
DecryptOptions

Weitere Optionen.

Gibt zurück

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Verschlüsselt den angegebenen Klartext mit den angegebenen Verschlüsselungsparametern. Je nach dem Algorithmus, der in den Verschlüsselungsparametern festgelegt ist, ändert sich der Satz möglicher Verschlüsselungsparameter.

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt({ algorithm: "RSA1_5", plaintext: Buffer.from("My Message")});
let result = await client.encrypt({ algorithm: "A256GCM", plaintext: Buffer.from("My Message"), additionalAuthenticatedData: Buffer.from("My authenticated data")});
function encrypt(encryptParameters: EncryptParameters, options?: EncryptOptions): Promise<EncryptResult>

Parameter

encryptParameters
EncryptParameters

Die Verschlüsselungsparameter, die für den ausgewählten Verschlüsselungsalgorithmus schlüsseliert werden.

options
EncryptOptions

Weitere Optionen.

Gibt zurück

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Warnung

Diese API ist nun veraltet.

Use encrypt({ algorithm, plaintext }, options) instead.

Verschlüsselt den angegebenen Klartext mit dem angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt("RSA1_5", Buffer.from("My Message"));
function encrypt(algorithm: string, plaintext: Uint8Array, options?: EncryptOptions): Promise<EncryptResult>

Parameter

algorithm

string

Der zu verwendende Algorithmus.

plaintext

Uint8Array

Der zu verschlüsselnde Text.

options
EncryptOptions

Weitere Optionen.

Gibt zurück

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Kryptografisch signieren sie den Digest einer Nachricht

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.sign("RS256", digest);
function sign(algorithm: string, digest: Uint8Array, options?: SignOptions): Promise<SignResult>

Parameter

algorithm

string

Der zu verwendende Signaturalgorithmus.

digest

Uint8Array

Der Digest der zu signierenden Daten.

options
SignOptions

Weitere Optionen.

Gibt zurück

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Kryptografisch signieren sie einen Datenblock

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.signData("RS256", message);
function signData(algorithm: string, data: Uint8Array, options?: SignOptions): Promise<SignResult>

Parameter

algorithm

string

Der zu verwendende Signaturalgorithmus.

data

Uint8Array

Die zu signierenden Daten.

options
SignOptions

Weitere Optionen.

Gibt zurück

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Entpackt den angegebenen umschlossenen Schlüssel mithilfe des angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.unwrapKey("RSA1_5", keyToUnwrap);
function unwrapKey(algorithm: KeyWrapAlgorithm, encryptedKey: Uint8Array, options?: UnwrapKeyOptions): Promise<UnwrapResult>

Parameter

algorithm
KeyWrapAlgorithm

Der Entschlüsselungsalgorithmus, der zum Entschlüsseln des Schlüssels verwendet werden soll.

encryptedKey

Uint8Array

Der verschlüsselte Schlüssel zum Entpacken.

options
UnwrapKeyOptions

Weitere Optionen.

Gibt zurück

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Überprüfen des Digests für signierte Nachrichten

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verify("RS256", signedDigest, signature);
function verify(algorithm: string, digest: Uint8Array, signature: Uint8Array, options?: VerifyOptions): Promise<VerifyResult>

Parameter

algorithm

string

Der Signaturalgorithmus, mit dem überprüft werden soll.

digest

Uint8Array

Der zu überprüfende Digest.

signature

Uint8Array

Die Signatur, mit der der Digest überprüft werden soll.

options
VerifyOptions

Weitere Optionen.

Gibt zurück

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Überprüfen des signierten Datenblocks

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verifyData("RS256", signedMessage, signature);
function verifyData(algorithm: string, data: Uint8Array, signature: Uint8Array, options?: VerifyOptions): Promise<VerifyResult>

Parameter

algorithm

string

Der Algorithmus, mit dem überprüft werden soll.

data

Uint8Array

Der signierte Datenblock, der überprüft werden soll.

signature

Uint8Array

Die Signatur, mit der der Block überprüft werden soll.

options
VerifyOptions

Weitere Optionen.

Gibt zurück

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Umschließt den angegebenen Schlüssel mithilfe des angegebenen Kryptografiealgorithmus

Beispielverwendung:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.wrapKey("RSA1_5", keyToWrap);
function wrapKey(algorithm: KeyWrapAlgorithm, key: Uint8Array, options?: WrapKeyOptions): Promise<WrapResult>

Parameter

algorithm
KeyWrapAlgorithm

Der Verschlüsselungsalgorithmus, der zum Umschließen des angegebenen Schlüssels verwendet werden soll.

key

Uint8Array

Der umgebrochene Schlüssel.

options
WrapKeyOptions

Weitere Optionen.

Gibt zurück

Promise<WrapResult>