CryptographyClient class
Un client utilisé pour effectuer des opérations de chiffrement sur une clé Azure Key Vault ou une JsonWebKey locale.
Constructeurs
| Cryptography |
Construit une nouvelle instance du client de chiffrement pour la clé donnée en mode local. Exemple d’utilisation :
|
| Cryptography |
Construit une nouvelle instance du client chiffrement pour la clé donnée Exemple d’utilisation :
|
Propriétés
| keyID | ID de la clé utilisée pour effectuer des opérations de chiffrement pour le client. |
| vault |
URL de base du coffre. Si un JsonWebKey local est utilisé vaultUrl est vide. |
Méthodes
| decrypt(Decrypt |
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://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode. Exemple d’utilisation :
|
| decrypt(string, Uint8Array, Decrypt |
Déchiffre le texte chiffré donné avec l’algorithme de chiffrement spécifié Exemple d’utilisation :
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://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode. |
| encrypt(Encrypt |
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 :
|
| encrypt(string, Uint8Array, Encrypt |
Chiffre le texte en clair donné avec l’algorithme de chiffrement spécifié Exemple d’utilisation :
|
| sign(string, Uint8Array, Sign |
Signer par chiffrement le résumé d’un message Exemple d’utilisation :
|
| sign |
Signer par chiffrement un bloc de données Exemple d’utilisation :
|
| unwrap |
Annule la clé encapsulée donnée à l’aide de l’algorithme de chiffrement spécifié Exemple d’utilisation :
|
| verify(string, Uint8Array, Uint8Array, Verify |
Vérifier la synthèse des messages signés Exemple d’utilisation :
|
| verify |
Vérifier le bloc de données signé Exemple d’utilisation :
|
| wrap |
Encapsule la clé donnée à l’aide de l’algorithme de chiffrement spécifié Exemple d’utilisation :
|
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 = {
kty: "RSA",
kid: "test-key-123",
use: "sig",
alg: "RS256",
n: new Uint8Array([112, 34, 56, 98, 123, 244, 200, 99]),
e: new Uint8Array([1, 0, 1]),
d: new Uint8Array([45, 67, 89, 23, 144, 200, 76, 233]),
p: new Uint8Array([34, 89, 100, 77, 204, 56, 29, 77]),
q: new Uint8Array([78, 99, 201, 45, 188, 34, 67, 90]),
dp: new Uint8Array([23, 45, 78, 56, 200, 144, 32, 67]),
dq: new Uint8Array([12, 67, 89, 144, 99, 56, 23, 45]),
qi: new Uint8Array([78, 90, 45, 201, 34, 67, 120, 55]),
};
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 { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
// Create or retrieve a key from the keyvault
const myKey = await client.createKey("MyKey", "RSA");
// Lastly, create our cryptography client and connect to the service
const cryptographyClient = new CryptographyClient(myKey, credential);
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://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode.
Exemple d’utilisation :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);
const encryptResult = await cryptographyClient.encrypt({
algorithm: "RSA1_5",
plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
const decryptResult = await cryptographyClient.decrypt({
algorithm: "RSA1_5",
ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);
const encryptResult = await cryptographyClient.encrypt({
algorithm: "RSA1_5",
plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
const decryptResult = await cryptographyClient.decrypt({
algorithm: "RSA1_5",
ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());
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://learn.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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);
const encryptResult = await cryptographyClient.encrypt({
algorithm: "RSA1_5",
plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);
const encryptResult = await cryptographyClient.encrypt({
algorithm: "RSA1_5",
plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
let myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const signatureValue = "MySignature";
const hash = createHash("sha256");
const digest = hash.update(signatureValue).digest();
console.log("digest: ", digest);
const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const signResult = await cryptographyClient.signData("RS256", Buffer.from("My Message"));
console.log("sign result: ", signResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);
const unwrapResult = await cryptographyClient.unwrapKey("RSA-OAEP", wrapResult.result);
console.log("unwrap result: ", unwrapResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const hash = createHash("sha256");
hash.update("My Message");
const digest = hash.digest();
const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);
const verifyResult = await cryptographyClient.verify("RS256", digest, signResult.result);
console.log("verify result: ", verifyResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const buffer = Buffer.from("My Message");
const signResult = await cryptographyClient.signData("RS256", buffer);
console.log("sign result: ", signResult.result);
const verifyResult = await cryptographyClient.verifyData("RS256", buffer, signResult.result);
console.log("verify result: ", verifyResult.result);
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 :
import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
const credential = new DefaultAzureCredential();
const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;
const client = new KeyClient(url, credential);
const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);
const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);
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>