Sdílet prostřednictvím


CryptographyClient class

Klient, který slouží k provádění kryptografických operací s klíčem služby Azure Key Vault nebo místním klíčem JsonWebKey.

Konstruktory

CryptographyClient(JsonWebKey_2)

Vytvoří novou instanci kryptografického klienta pro daný klíč v místním režimu.

Příklad použití:

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

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

Vytvoří novou instanci kryptografického klienta pro daný klíč.

Příklad použití:

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

Vlastnosti

keyID

ID klíče použitého k provádění kryptografických operací pro klienta.

vaultUrl

Základní adresa URL trezoru. Pokud se použije místní klíč JsonWebKey , vaultUrl bude prázdný.

Metody

decrypt(DecryptParameters, DecryptOptions)

Dešifruje daný šifrový text pomocí zadaných parametrů dešifrování. V závislosti na algoritmu použitém v parametrech dešifrování se sada možných parametrů dešifrování změní.

Microsoft doporučuje nepoužívat CBC, aniž byste napřed zajistili integritu šifrového textu pomocí například HMAC. Další informace naleznete v tématu https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Příklad použití:

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)

Dešifruje zadaný šifrovací text pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Microsoft doporučuje nepoužívat CBC, aniž byste napřed zajistili integritu šifrového textu pomocí například HMAC. Další informace naleznete v tématu https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

encrypt(EncryptParameters, EncryptOptions)

Zašifruje zadaný prostý text pomocí zadaných parametrů šifrování. V závislosti na algoritmu nastaveném v parametrech šifrování se změní sada možných parametrů šifrování.

Příklad použití:

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)

Zašifruje daný prostý text pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Kryptografické podepsání souhrnu zprávy

Příklad použití:

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

Kryptografické podepsání bloku dat

Příklad použití:

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

Rozbalí daný zabalený klíč pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Ověření souhrnu podepsaných zpráv

Příklad použití:

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

Ověření podepsaného bloku dat

Příklad použití:

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

Zabalí daný klíč pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Podrobnosti konstruktoru

CryptographyClient(JsonWebKey_2)

Vytvoří novou instanci kryptografického klienta pro daný klíč v místním režimu.

Příklad použití:

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

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

Parametry

key
JsonWebKey

JsonWebKey, který se má použít během kryptografických operací.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Vytvoří novou instanci kryptografického klienta pro daný klíč.

Příklad použití:

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

Klíč, který se má použít při kryptografických úlohách. Sem můžete také předat identifikátor klíče, tj. jeho adresu URL.

credential
TokenCredential

Objekt, který implementuje TokenCredential rozhraní používané k ověřování požadavků na službu. @azure/identity Pomocí balíčku vytvořte přihlašovací údaje, které vyhovují vašim potřebám.

pipelineOptions
CryptographyClientOptions

Možnosti kanálu používané ke konfiguraci požadavků rozhraní API Key Vault Pokud chcete použít výchozí konfiguraci kanálu, tento parametr vynecháte.

Podrobnosti vlastnosti

keyID

ID klíče použitého k provádění kryptografických operací pro klienta.

undefined | string keyID

Hodnota vlastnosti

undefined | string

vaultUrl

Základní adresa URL trezoru. Pokud se použije místní klíč JsonWebKey , vaultUrl bude prázdný.

string vaultUrl

Hodnota vlastnosti

string

Podrobnosti metody

decrypt(DecryptParameters, DecryptOptions)

Dešifruje daný šifrový text pomocí zadaných parametrů dešifrování. V závislosti na algoritmu použitém v parametrech dešifrování se sada možných parametrů dešifrování změní.

Microsoft doporučuje nepoužívat CBC, aniž byste napřed zajistili integritu šifrového textu pomocí například HMAC. Další informace naleznete v tématu https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Příklad použití:

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 dešifrování.

options
DecryptOptions

Další možnosti:

Návraty

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Upozornění

Toto rozhraní API je teď zastaralé.

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

Dešifruje zadaný šifrovací text pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Microsoft doporučuje nepoužívat CBC, aniž byste napřed zajistili integritu šifrového textu pomocí například HMAC. Další informace naleznete v tématu https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

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

Parametry

algorithm

string

Algoritmus, který se má použít.

ciphertext

Uint8Array

Text k dešifrování.

options
DecryptOptions

Další možnosti:

Návraty

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Zašifruje zadaný prostý text pomocí zadaných parametrů šifrování. V závislosti na algoritmu nastaveném v parametrech šifrování se změní sada možných parametrů šifrování.

Příklad použití:

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 šifrování, které jsou klíčové pro zvolený šifrovací algoritmus.

options
EncryptOptions

Další možnosti:

Návraty

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Upozornění

Toto rozhraní API je teď zastaralé.

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

Zašifruje daný prostý text pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Algoritmus, který se má použít.

plaintext

Uint8Array

Text, který se má šifrovat.

options
EncryptOptions

Další možnosti:

Návraty

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Kryptografické podepsání souhrnu zprávy

Příklad použití:

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

Podpisový algoritmus, který se má použít.

digest

Uint8Array

Souhrn dat, která se mají podepsat.

options
SignOptions

Další možnosti:

Návraty

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Kryptografické podepsání bloku dat

Příklad použití:

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

Podpisový algoritmus, který se má použít.

data

Uint8Array

Data, která se mají podepsat.

options
SignOptions

Další možnosti:

Návraty

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Rozbalí daný zabalený klíč pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Algoritmus dešifrování, který se má použít k rozbalení klíče.

encryptedKey

Uint8Array

Zašifrovaný klíč, který se má rozbalit.

options
UnwrapKeyOptions

Další možnosti:

Návraty

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Ověření souhrnu podepsaných zpráv

Příklad použití:

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

Podpisový algoritmus, který se má použít k ověření s.

digest

Uint8Array

Hodnota hash, která se má ověřit.

signature

Uint8Array

Podpis, který má být ověřen hodnotou hash.

options
VerifyOptions

Další možnosti:

Návraty

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Ověření podepsaného bloku dat

Příklad použití:

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

Algoritmus, který se má použít k ověření pomocí.

data

Uint8Array

Podepsaný blok dat, který se má ověřit.

signature

Uint8Array

Podpis pro ověření bloku proti.

options
VerifyOptions

Další možnosti:

Návraty

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Zabalí daný klíč pomocí zadaného kryptografického algoritmu.

Příklad použití:

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

Šifrovací algoritmus, který se má použít k zabalení daného klíče.

key

Uint8Array

Klíč, který se má zabalit.

options
WrapKeyOptions

Další možnosti:

Návraty

Promise<WrapResult>