Freigeben über


CryptographyClient class

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

Konstruktoren

CryptographyClient(JsonWebKey_2)

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 des Tresors. Wenn ein lokaler JsonWebKey verwendet wird, ist vaultUrl leer.

Methoden

decrypt(DecryptParameters, DecryptOptions)

Entschlüsselt den angegebenen Verschlüsselungstext mit den angegebenen Entschlüsselungsparametern. Abhängig vom 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 Verschlüsselungstexts mithilfe eines HMAC sicherzustellen. 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 Verschlüsselungstexts mithilfe eines HMAC sicherzustellen. 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. Abhängig vom 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)

Kryptografisches Signieren des Digests einer Nachricht

Beispielverwendung:

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

Kryptografisches Signieren eines Datenblocks

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_2)

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_2)

Parameter

key
JsonWebKey

Der JsonWebKey, der bei 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 bei Kryptografieaufgaben verwendet werden soll. Sie können auch den Bezeichner des Schlüssels, d. h. seine URL, hier übergeben.

credential
TokenCredential

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

pipelineOptions
CryptographyClientOptions

Pipelineoptionen, die zum Konfigurieren Key Vault API-Anforderungen verwendet werden. 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 des Tresors. Wenn ein lokaler JsonWebKey verwendet wird, ist vaultUrl leer.

string vaultUrl

Eigenschaftswert

string

Details zur Methode

decrypt(DecryptParameters, DecryptOptions)

Entschlüsselt den angegebenen Verschlüsselungstext mit den angegebenen Entschlüsselungsparametern. Abhängig vom 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 Verschlüsselungstexts mithilfe eines HMAC sicherzustellen. 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

Zusätzliche 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 Verschlüsselungstexts mithilfe eines HMAC sicherzustellen. 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

Zusätzliche Optionen.

Gibt zurück

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Verschlüsselt den angegebenen Klartext mit den angegebenen Verschlüsselungsparametern. Abhängig vom 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 festgelegt sind.

options
EncryptOptions

Zusätzliche 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

Zusätzliche Optionen.

Gibt zurück

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Kryptografisches Signieren des Digests 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

Zusätzliche Optionen.

Gibt zurück

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Kryptografisches Signieren eines Datenblocks

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

Zusätzliche 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 Entpacken des Schlüssels verwendet werden soll.

encryptedKey

Uint8Array

Der auszupackende verschlüsselte Schlüssel.

options
UnwrapKeyOptions

Zusätzliche 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, anhand der der Digest überprüft werden soll.

options
VerifyOptions

Zusätzliche 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 zu überprüfende signierte Datenblock.

signature

Uint8Array

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

options
VerifyOptions

Zusätzliche 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 zu umschließende Schlüssel.

options
WrapKeyOptions

Zusätzliche Optionen.

Gibt zurück

Promise<WrapResult>