Udostępnij za pośrednictwem


CryptographyClient class

Klient używany do wykonywania operacji kryptograficznych na kluczu usługi Azure Key Vault lub lokalnym kluczu JsonWebKey.

Konstruktory

CryptographyClient(JsonWebKey_2)

Tworzy nowe wystąpienie klienta kryptografii dla danego klucza w trybie lokalnym.

Przykład użycia:

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

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

Tworzy nowe wystąpienie klienta kryptografii dla danego klucza

Przykład użycia:

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

Właściwości

keyID

Identyfikator klucza używanego do wykonywania operacji kryptograficznych dla klienta.

vaultUrl

Podstawowy adres URL magazynu. Jeśli lokalny klucz JsonWebKey jest używany vaultUrl będzie pusty.

Metody

decrypt(DecryptParameters, DecryptOptions)

Odszyfrowuje dany tekst szyfrujący z określonymi parametrami odszyfrowywania. W zależności od algorytmu używanego w parametrach odszyfrowywania zestaw możliwych parametrów odszyfrowywania zmieni się.

Firma Microsoft zaleca, aby nie używać protokołu CBC bez uprzedniego zapewnienia integralności tekstu szyfrowego przy użyciu, na przykład HMAC. Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Przykład użycia:

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)

Odszyfrowuje dany tekst szyfrujący za pomocą określonego algorytmu kryptografii

Przykład użycia:

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

Firma Microsoft zaleca, aby nie używać protokołu CBC bez uprzedniego zapewnienia integralności tekstu szyfrowego przy użyciu, na przykład HMAC. Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

encrypt(EncryptParameters, EncryptOptions)

Szyfruje dany zwykły tekst przy użyciu określonych parametrów szyfrowania. W zależności od algorytmu ustawionego w parametrach szyfrowania zestaw możliwych parametrów szyfrowania ulegnie zmianie.

Przykład użycia:

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)

Szyfruje dany zwykły tekst przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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

Kryptograficznie podpisz skrót komunikatu

Przykład użycia:

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

Kryptograficznie podpisz blok danych

Przykład użycia:

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

Odpakowuje dany opakowany klucz przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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

Sprawdzanie skrótu podpisanej wiadomości

Przykład użycia:

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

Weryfikowanie podpisanego bloku danych

Przykład użycia:

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

Opakowuje dany klucz przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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

Szczegóły konstruktora

CryptographyClient(JsonWebKey_2)

Tworzy nowe wystąpienie klienta kryptografii dla danego klucza w trybie lokalnym.

Przykład użycia:

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

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

Parametry

key
JsonWebKey

Klucz JsonWebKey do użycia podczas operacji kryptograficznych.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Tworzy nowe wystąpienie klienta kryptografii dla danego klucza

Przykład użycia:

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)

Parametry

key

string | KeyVaultKey

Klucz do użycia podczas zadań kryptograficznych. Możesz również przekazać identyfikator klucza, tj. jego adres URL tutaj.

credential
TokenCredential

Obiekt, który implementuje TokenCredential interfejs używany do uwierzytelniania żądań w usłudze. @azure/identity Użyj pakietu, aby utworzyć poświadczenia odpowiadające Twoim potrzebom.

pipelineOptions
CryptographyClientOptions

Opcje potoku używane do konfigurowania żądań interfejsu API Key Vault. Pomiń ten parametr, aby użyć domyślnej konfiguracji potoku.

Szczegóły właściwości

keyID

Identyfikator klucza używanego do wykonywania operacji kryptograficznych dla klienta.

undefined | string keyID

Wartość właściwości

undefined | string

vaultUrl

Podstawowy adres URL magazynu. Jeśli lokalny klucz JsonWebKey jest używany vaultUrl będzie pusty.

string vaultUrl

Wartość właściwości

string

Szczegóły metody

decrypt(DecryptParameters, DecryptOptions)

Odszyfrowuje dany tekst szyfrujący z określonymi parametrami odszyfrowywania. W zależności od algorytmu używanego w parametrach odszyfrowywania zestaw możliwych parametrów odszyfrowywania zmieni się.

Firma Microsoft zaleca, aby nie używać protokołu CBC bez uprzedniego zapewnienia integralności tekstu szyfrowego przy użyciu, na przykład HMAC. Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Przykład użycia:

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>

Parametry

decryptParameters
DecryptParameters

Parametry odszyfrowywania.

options
DecryptOptions

Dodatkowe opcje.

Zwraca

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Ostrzeżenie

Ten interfejs API jest już przestarzały.

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

Odszyfrowuje dany tekst szyfrujący za pomocą określonego algorytmu kryptografii

Przykład użycia:

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

Firma Microsoft zaleca, aby nie używać protokołu CBC bez uprzedniego zapewnienia integralności tekstu szyfrowego przy użyciu, na przykład HMAC. Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

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

Parametry

algorithm

string

Algorytm do użycia.

ciphertext

Uint8Array

Tekst do odszyfrowywania.

options
DecryptOptions

Dodatkowe opcje.

Zwraca

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Szyfruje dany zwykły tekst przy użyciu określonych parametrów szyfrowania. W zależności od algorytmu ustawionego w parametrach szyfrowania zestaw możliwych parametrów szyfrowania ulegnie zmianie.

Przykład użycia:

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>

Parametry

encryptParameters
EncryptParameters

Parametry szyfrowania klucza wybranego algorytmu szyfrowania.

options
EncryptOptions

Dodatkowe opcje.

Zwraca

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Ostrzeżenie

Ten interfejs API jest już przestarzały.

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

Szyfruje dany zwykły tekst przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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>

Parametry

algorithm

string

Algorytm do użycia.

plaintext

Uint8Array

Tekst do zaszyfrowania.

options
EncryptOptions

Dodatkowe opcje.

Zwraca

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Kryptograficznie podpisz skrót komunikatu

Przykład użycia:

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

Parametry

algorithm

string

Algorytm podpisywania do użycia.

digest

Uint8Array

Podsumowanie danych do podpisania.

options
SignOptions

Dodatkowe opcje.

Zwraca

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Kryptograficznie podpisz blok danych

Przykład użycia:

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

Parametry

algorithm

string

Algorytm podpisywania do użycia.

data

Uint8Array

Dane do podpisania.

options
SignOptions

Dodatkowe opcje.

Zwraca

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Odpakowuje dany opakowany klucz przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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

Parametry

algorithm
KeyWrapAlgorithm

Algorytm odszyfrowywania używany do odpakowywania klucza.

encryptedKey

Uint8Array

Zaszyfrowany klucz do odpakowania.

options
UnwrapKeyOptions

Dodatkowe opcje.

Zwraca

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Sprawdzanie skrótu podpisanej wiadomości

Przykład użycia:

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>

Parametry

algorithm

string

Algorytm podpisywania używany do weryfikacji za pomocą polecenia .

digest

Uint8Array

Podsumowanie do zweryfikowania.

signature

Uint8Array

Podpis umożliwiający zweryfikowanie skrótu.

options
VerifyOptions

Dodatkowe opcje.

Zwraca

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Weryfikowanie podpisanego bloku danych

Przykład użycia:

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>

Parametry

algorithm

string

Algorytm używany do weryfikacji za pomocą polecenia .

data

Uint8Array

Podpisany blok danych do zweryfikowania.

signature

Uint8Array

Podpis umożliwiający zweryfikowanie bloku.

options
VerifyOptions

Dodatkowe opcje.

Zwraca

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Opakowuje dany klucz przy użyciu określonego algorytmu kryptografii

Przykład użycia:

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

Parametry

algorithm
KeyWrapAlgorithm

Algorytm szyfrowania używany do opakowania danego klucza.

key

Uint8Array

Klucz do opakowania.

options
WrapKeyOptions

Dodatkowe opcje.

Zwraca

Promise<WrapResult>