CryptographyClient class

Un cliente que se usa para realizar operaciones criptográficas en una clave de Azure Key Vault o en una jsonWebKey local.

Constructores

CryptographyClient(JsonWebKey_2)

Construye una nueva instancia del cliente cryptography para la clave especificada en modo local.

Ejemplo de uso:

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

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

Construye una nueva instancia del cliente cryptography para la clave especificada.

Ejemplo de uso:

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

Propiedades

keyID

Identificador de la clave usada para realizar operaciones criptográficas para el cliente.

vaultUrl

Dirección URL base del almacén. Si se usa un jsonWebKey local, vaultUrl estará vacío.

Métodos

decrypt(DecryptParameters, DecryptOptions)

Descifra el texto cifrado especificado con los parámetros de descifrado especificados. Según el algoritmo usado en los parámetros de descifrado, el conjunto de posibles parámetros de descifrado cambiará.

Microsoft recomienda no usar CBC sin asegurar primero la integridad del texto cifrado mediante, por ejemplo, un HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obtener más información.

Ejemplo de uso:

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)

Descifra el texto cifrado especificado con el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Microsoft recomienda no usar CBC sin asegurar primero la integridad del texto cifrado mediante, por ejemplo, un HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obtener más información.

encrypt(EncryptParameters, EncryptOptions)

Cifra el texto no cifrado especificado con los parámetros de cifrado especificados. Según el algoritmo establecido en los parámetros de cifrado, cambiará el conjunto de posibles parámetros de cifrado.

Ejemplo de uso:

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)

Cifra el texto no cifrado especificado con el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Firmar criptográficamente el resumen de un mensaje

Ejemplo de uso:

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

Firmar criptográficamente un bloque de datos

Ejemplo de uso:

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

Desencapsula la clave ajustada especificada mediante el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Comprobación del resumen del mensaje firmado

Ejemplo de uso:

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

Comprobación del bloque de datos firmado

Ejemplo de uso:

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

Ajusta la clave especificada mediante el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Detalles del constructor

CryptographyClient(JsonWebKey_2)

Construye una nueva instancia del cliente cryptography para la clave especificada en modo local.

Ejemplo de uso:

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

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

Parámetros

key
JsonWebKey

JsonWebKey que se va a usar durante las operaciones de criptografía.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Construye una nueva instancia del cliente cryptography para la clave especificada.

Ejemplo de uso:

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)

Parámetros

key

string | KeyVaultKey

Clave que se va a usar durante las tareas de criptografía. También puede pasar el identificador de la clave, es decir, su dirección URL aquí.

credential
TokenCredential

Objeto que implementa la TokenCredential interfaz utilizada para autenticar las solicitudes en el servicio. Use el @azure/identity paquete para crear una credencial que se adapte a sus necesidades.

pipelineOptions
CryptographyClientOptions

Opciones de canalización usadas para configurar Key Vault solicitudes de API. Omita este parámetro para usar la configuración de canalización predeterminada.

Detalles de las propiedades

keyID

Identificador de la clave usada para realizar operaciones criptográficas para el cliente.

undefined | string keyID

Valor de propiedad

undefined | string

vaultUrl

Dirección URL base del almacén. Si se usa un jsonWebKey local, vaultUrl estará vacío.

string vaultUrl

Valor de propiedad

string

Detalles del método

decrypt(DecryptParameters, DecryptOptions)

Descifra el texto cifrado especificado con los parámetros de descifrado especificados. Según el algoritmo usado en los parámetros de descifrado, el conjunto de posibles parámetros de descifrado cambiará.

Microsoft recomienda no usar CBC sin asegurar primero la integridad del texto cifrado mediante, por ejemplo, un HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obtener más información.

Ejemplo de uso:

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>

Parámetros

decryptParameters
DecryptParameters

Parámetros de descifrado.

options
DecryptOptions

Opciones adicionales.

Devoluciones

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Advertencia

Esta API ya está en desuso.

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

Descifra el texto cifrado especificado con el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Microsoft recomienda no usar CBC sin asegurar primero la integridad del texto cifrado mediante, por ejemplo, un HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obtener más información.

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

Parámetros

algorithm

string

Algoritmo que se va a usar.

ciphertext

Uint8Array

Texto que se va a descifrar.

options
DecryptOptions

Opciones adicionales.

Devoluciones

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Cifra el texto no cifrado especificado con los parámetros de cifrado especificados. Según el algoritmo establecido en los parámetros de cifrado, cambiará el conjunto de posibles parámetros de cifrado.

Ejemplo de uso:

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>

Parámetros

encryptParameters
EncryptParameters

Los parámetros de cifrado, con clave en el algoritmo de cifrado elegido.

options
EncryptOptions

Opciones adicionales.

Devoluciones

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Advertencia

Esta API ya está en desuso.

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

Cifra el texto no cifrado especificado con el algoritmo de criptografía especificado.

Ejemplo de uso:

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>

Parámetros

algorithm

string

Algoritmo que se va a usar.

plaintext

Uint8Array

Texto que se va a cifrar.

options
EncryptOptions

Opciones adicionales.

Devoluciones

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Firmar criptográficamente el resumen de un mensaje

Ejemplo de uso:

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

Parámetros

algorithm

string

Algoritmo de firma que se va a usar.

digest

Uint8Array

Resumen de los datos que se van a firmar.

options
SignOptions

Opciones adicionales.

Devoluciones

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Firmar criptográficamente un bloque de datos

Ejemplo de uso:

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

Parámetros

algorithm

string

Algoritmo de firma que se va a usar.

data

Uint8Array

Datos que se van a firmar.

options
SignOptions

Opciones adicionales.

Devoluciones

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Desencapsula la clave ajustada especificada mediante el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Parámetros

algorithm
KeyWrapAlgorithm

Algoritmo de descifrado que se va a usar para desencapsular la clave.

encryptedKey

Uint8Array

Clave cifrada que se va a desencapsular.

options
UnwrapKeyOptions

Opciones adicionales.

Devoluciones

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Comprobación del resumen del mensaje firmado

Ejemplo de uso:

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>

Parámetros

algorithm

string

Algoritmo de firma con el que se va a usar para comprobarlo.

digest

Uint8Array

Resumen que se va a comprobar.

signature

Uint8Array

Firma con la que se va a comprobar el resumen.

options
VerifyOptions

Opciones adicionales.

Devoluciones

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Comprobación del bloque de datos firmado

Ejemplo de uso:

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>

Parámetros

algorithm

string

Algoritmo con el que se va a usar para comprobarlo.

data

Uint8Array

Bloque firmado de datos que se va a comprobar.

signature

Uint8Array

Firma con la que comprobar el bloque.

options
VerifyOptions

Opciones adicionales.

Devoluciones

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Ajusta la clave especificada mediante el algoritmo de criptografía especificado.

Ejemplo de uso:

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

Parámetros

algorithm
KeyWrapAlgorithm

Algoritmo de cifrado que se va a usar para encapsular la clave especificada.

key

Uint8Array

Tecla que se va a ajustar.

options
WrapKeyOptions

Opciones adicionales.

Devoluciones

Promise<WrapResult>