Partager via


CryptographyClient class

Un client utilisé pour effectuer des opérations de chiffrement sur une clé Azure Key Vault ou une JsonWebKey locale.

Constructeurs

CryptographyClient(JsonWebKey)

Construit une nouvelle instance du client de chiffrement pour la clé donnée en mode local.

Exemple d’utilisation :

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

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

Construit une nouvelle instance du client chiffrement pour la clé donnée

Exemple d’utilisation :

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

Propriétés

keyID

ID de la clé utilisée pour effectuer des opérations de chiffrement pour le client.

vaultUrl

URL de base du coffre. Si un JsonWebKey local est utilisé vaultUrl est vide.

Méthodes

decrypt(DecryptParameters, DecryptOptions)

Déchiffre le texte chiffré donné avec les paramètres de déchiffrement spécifiés. Selon l’algorithme utilisé dans les paramètres de déchiffrement, l’ensemble des paramètres de déchiffrement possibles change.

Microsoft vous recommande de ne pas utiliser CBC sans d’abord garantir l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Pour plus d’informations, consultez https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Exemple d’utilisation :

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)

Déchiffre le texte chiffré donné avec l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Microsoft vous recommande de ne pas utiliser CBC sans d’abord garantir l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Pour plus d’informations, consultez https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

encrypt(EncryptParameters, EncryptOptions)

Chiffre le texte en clair donné avec les paramètres de chiffrement spécifiés. Selon l’algorithme défini dans les paramètres de chiffrement, l’ensemble des paramètres de chiffrement possibles change.

Exemple d’utilisation :

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)

Chiffre le texte en clair donné avec l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Signer par chiffrement le résumé d’un message

Exemple d’utilisation :

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

Signer par chiffrement un bloc de données

Exemple d’utilisation :

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

Annule la clé encapsulée donnée à l’aide de l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Vérifier la synthèse des messages signés

Exemple d’utilisation :

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

Vérifier le bloc de données signé

Exemple d’utilisation :

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

Encapsule la clé donnée à l’aide de l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Détails du constructeur

CryptographyClient(JsonWebKey)

Construit une nouvelle instance du client de chiffrement pour la clé donnée en mode local.

Exemple d’utilisation :

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

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

Paramètres

key
JsonWebKey

JsonWebKey à utiliser pendant les opérations de chiffrement.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Construit une nouvelle instance du client chiffrement pour la clé donnée

Exemple d’utilisation :

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)

Paramètres

key

string | KeyVaultKey

Clé à utiliser pendant les tâches de chiffrement. Vous pouvez également transmettre l’identificateur de la clé, c’est-à-dire son URL ici.

credential
TokenCredential

Objet qui implémente l’interface TokenCredential utilisée pour authentifier les demandes auprès du service. Utilisez le package @azure/identity pour créer des informations d’identification qui correspondent à vos besoins.

pipelineOptions
CryptographyClientOptions

Options de pipeline utilisées pour configurer les demandes d’API Key Vault. Omettez ce paramètre pour utiliser la configuration du pipeline par défaut.

Détails de la propriété

keyID

ID de la clé utilisée pour effectuer des opérations de chiffrement pour le client.

undefined | string keyID

Valeur de propriété

undefined | string

vaultUrl

URL de base du coffre. Si un JsonWebKey local est utilisé vaultUrl est vide.

string vaultUrl

Valeur de propriété

string

Détails de la méthode

decrypt(DecryptParameters, DecryptOptions)

Déchiffre le texte chiffré donné avec les paramètres de déchiffrement spécifiés. Selon l’algorithme utilisé dans les paramètres de déchiffrement, l’ensemble des paramètres de déchiffrement possibles change.

Microsoft vous recommande de ne pas utiliser CBC sans d’abord garantir l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Pour plus d’informations, consultez https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

Exemple d’utilisation :

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>

Paramètres

decryptParameters
DecryptParameters

Paramètres de déchiffrement.

options
DecryptOptions

Options supplémentaires.

Retours

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Avertissement

Cette API est à présent déconseillée.

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

Déchiffre le texte chiffré donné avec l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Microsoft vous recommande de ne pas utiliser CBC sans d’abord garantir l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Pour plus d’informations, consultez https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.

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

Paramètres

algorithm

string

Algorithme à utiliser.

ciphertext

Uint8Array

Texte à déchiffrer.

options
DecryptOptions

Options supplémentaires.

Retours

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Chiffre le texte en clair donné avec les paramètres de chiffrement spécifiés. Selon l’algorithme défini dans les paramètres de chiffrement, l’ensemble des paramètres de chiffrement possibles change.

Exemple d’utilisation :

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>

Paramètres

encryptParameters
EncryptParameters

Paramètres de chiffrement, clés sur l’algorithme de chiffrement choisi.

options
EncryptOptions

Options supplémentaires.

Retours

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Avertissement

Cette API est à présent déconseillée.

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

Chiffre le texte en clair donné avec l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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>

Paramètres

algorithm

string

Algorithme à utiliser.

plaintext

Uint8Array

Texte à chiffrer.

options
EncryptOptions

Options supplémentaires.

Retours

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Signer par chiffrement le résumé d’un message

Exemple d’utilisation :

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

Paramètres

algorithm

string

Algorithme de signature à utiliser.

digest

Uint8Array

Synthèse des données à signer.

options
SignOptions

Options supplémentaires.

Retours

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Signer par chiffrement un bloc de données

Exemple d’utilisation :

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

Paramètres

algorithm

string

Algorithme de signature à utiliser.

data

Uint8Array

Données à signer.

options
SignOptions

Options supplémentaires.

Retours

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Annule la clé encapsulée donnée à l’aide de l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Paramètres

algorithm
KeyWrapAlgorithm

Algorithme de déchiffrement à utiliser pour décompresser la clé.

encryptedKey

Uint8Array

Clé chiffrée à décompresser.

options
UnwrapKeyOptions

Options supplémentaires.

Retours

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Vérifier la synthèse des messages signés

Exemple d’utilisation :

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>

Paramètres

algorithm

string

Algorithme de signature à utiliser pour vérifier avec.

digest

Uint8Array

Synthèse à vérifier.

signature

Uint8Array

Signature à suivre pour vérifier la synthèse.

options
VerifyOptions

Options supplémentaires.

Retours

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Vérifier le bloc de données signé

Exemple d’utilisation :

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>

Paramètres

algorithm

string

Algorithme à utiliser pour vérifier avec.

data

Uint8Array

Bloc signé de données à vérifier.

signature

Uint8Array

Signature à suivre pour vérifier le bloc.

options
VerifyOptions

Options supplémentaires.

Retours

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Encapsule la clé donnée à l’aide de l’algorithme de chiffrement spécifié

Exemple d’utilisation :

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

Paramètres

algorithm
KeyWrapAlgorithm

Algorithme de chiffrement à utiliser pour encapsuler la clé donnée.

key

Uint8Array

Clé à encapsuler.

options
WrapKeyOptions

Options supplémentaires.

Retours

Promise<WrapResult>