Partager via


CryptographyClient class

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

Constructeurs

CryptographyClient(JsonWebKey_2)

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 de 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 de chiffrement donné avec les paramètres de déchiffrement spécifiés. En fonction de l’algorithme utilisé dans les paramètres de déchiffrement, l’ensemble des paramètres de déchiffrement possibles change.

Microsoft recommande de ne pas utiliser CBC sans garantir d’abord l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Consultez la rubrique https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode (éventuellement en anglais) pour plus d'informations.

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 recommande de ne pas utiliser CBC sans garantir d’abord l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Consultez la rubrique https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode (éventuellement en anglais) pour plus d'informations.

encrypt(EncryptParameters, EncryptOptions)

Chiffre le texte en clair donné avec les paramètres de chiffrement spécifiés. En fonction de l’ensemble d’algorithmes 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 condensé 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)

Désencapsule 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 le condensé de message signé

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

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

Paramètres

key
JsonWebKey

JsonWebKey à utiliser pendant les opérations de chiffrement.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Construit une nouvelle instance du client de 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 passer 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 adressées au service. Utilisez le @azure/identity package pour créer des informations d’identification qui correspondent à vos besoins.

pipelineOptions
CryptographyClientOptions

Options de pipeline utilisées pour configurer Key Vault demandes d’API. Omettez ce paramètre pour utiliser la configuration de 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 de chiffrement donné avec les paramètres de déchiffrement spécifiés. En fonction de l’algorithme utilisé dans les paramètres de déchiffrement, l’ensemble des paramètres de déchiffrement possibles change.

Microsoft recommande de ne pas utiliser CBC sans garantir d’abord l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Consultez la rubrique https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode (éventuellement en anglais) pour plus d'informations.

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 recommande de ne pas utiliser CBC sans garantir d’abord l’intégrité du texte chiffré à l’aide, par exemple, d’un HMAC. Consultez la rubrique https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode (éventuellement en anglais) pour plus d'informations.

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. En fonction de l’ensemble d’algorithmes 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 condensé 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)

Désencapsule 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ésencapsuler la clé.

encryptedKey

Uint8Array

Clé chiffrée à désencapsuler.

options
UnwrapKeyOptions

Options supplémentaires.

Retours

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Vérifier le condensé de message signé

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

Digest à vérifier.

signature

Uint8Array

Signature par rapport à laquelle vérifier le résumé.

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 de données signé à vérifier.

signature

Uint8Array

Signature sur laquelle 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é à inclure dans un wrapper.

options
WrapKeyOptions

Options supplémentaires.

Retours

Promise<WrapResult>