Partilhar via


CryptographyClient class

Um cliente usado para executar operações criptográficas em uma chave de cofre da Chave do Azure ou em um local JsonWebKey.

Construtores

CryptographyClient(JsonWebKey)

Constrói uma nova instância do cliente de criptografia para a chave dada no modo local.

Exemplo de uso:

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

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

Constrói uma nova instância do cliente de criptografia para a chave fornecida

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

Propriedades

keyID

A ID da chave usada para executar operações criptográficas para o cliente.

vaultUrl

O URL base para o cofre. Se um local JsonWebKey for usado, vaultUrl estará vazio.

Métodos

decrypt(DecryptParameters, DecryptOptions)

Desencripta o texto cifrado fornecido com os parâmetros de desencriptação especificados. Dependendo do algoritmo usado nos parâmetros de desencriptação, o conjunto de possíveis parâmetros de desencriptação será alterado.

A Microsoft recomenda que você não use CBC sem primeiro garantir a integridade do texto cifrado usando, por exemplo, um HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obter mais informações.

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

Desencripta o texto cifrado fornecido com o algoritmo de encriptação especificado

Exemplo de uso:

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

A Microsoft recomenda que você não use CBC sem primeiro garantir a integridade do texto cifrado usando, por exemplo, um HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obter mais informações.

encrypt(EncryptParameters, EncryptOptions)

Criptografa o texto sem formatação fornecido com os parâmetros de criptografia especificados. Dependendo do algoritmo definido nos parâmetros de encriptação, o conjunto de possíveis parâmetros de encriptação irá mudar.

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

Criptografa o texto sem formatação fornecido com o algoritmo de criptografia especificado

Exemplo de uso:

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

Assinar criptograficamente o resumo de uma mensagem

Exemplo de uso:

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

Assinar criptograficamente um bloco de dados

Exemplo de uso:

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

Desembrulha a chave encapsulada fornecida usando o algoritmo de criptografia especificado

Exemplo de uso:

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

Verificar o resumo da mensagem assinada

Exemplo de uso:

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

Verificar o bloco de dados assinado

Exemplo de uso:

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

Encapsula a chave dada usando o algoritmo de criptografia especificado

Exemplo de uso:

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

Detalhes do Construtor

CryptographyClient(JsonWebKey)

Constrói uma nova instância do cliente de criptografia para a chave dada no modo local.

Exemplo de uso:

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

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

Parâmetros

key
JsonWebKey

O JsonWebKey para usar durante operações de criptografia.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Constrói uma nova instância do cliente de criptografia para a chave fornecida

Exemplo 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

A chave a ser usada durante as tarefas de criptografia. Você também pode passar o identificador da chave, ou seja, sua url aqui.

credential
TokenCredential

Um objeto que implementa a interface TokenCredential usada para autenticar solicitações para o serviço. Use o pacote @azure/identity para criar uma credencial que atenda às suas necessidades.

pipelineOptions
CryptographyClientOptions

Opções de pipeline usadas para configurar solicitações de API do Cofre de Chaves. Omita esse parâmetro para usar a configuração de pipeline padrão.

Detalhes de Propriedade

keyID

A ID da chave usada para executar operações criptográficas para o cliente.

undefined | string keyID

Valor de Propriedade

undefined | string

vaultUrl

O URL base para o cofre. Se um local JsonWebKey for usado, vaultUrl estará vazio.

string vaultUrl

Valor de Propriedade

string

Detalhes de Método

decrypt(DecryptParameters, DecryptOptions)

Desencripta o texto cifrado fornecido com os parâmetros de desencriptação especificados. Dependendo do algoritmo usado nos parâmetros de desencriptação, o conjunto de possíveis parâmetros de desencriptação será alterado.

A Microsoft recomenda que você não use CBC sem primeiro garantir a integridade do texto cifrado usando, por exemplo, um HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obter mais informações.

Exemplo 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

Os parâmetros de desencriptação.

options
DecryptOptions

Opções adicionais.

Devoluções

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Aviso

Esta API foi preterida.

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

Desencripta o texto cifrado fornecido com o algoritmo de encriptação especificado

Exemplo de uso:

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

A Microsoft recomenda que você não use CBC sem primeiro garantir a integridade do texto cifrado usando, por exemplo, um HMAC. Consulte https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode para obter mais informações.

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

Parâmetros

algorithm

string

O algoritmo a ser usado.

ciphertext

Uint8Array

O texto a desencriptar.

options
DecryptOptions

Opções adicionais.

Devoluções

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Criptografa o texto sem formatação fornecido com os parâmetros de criptografia especificados. Dependendo do algoritmo definido nos parâmetros de encriptação, o conjunto de possíveis parâmetros de encriptação irá mudar.

Exemplo 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

Os parâmetros de encriptação, inseridos no algoritmo de encriptação escolhido.

options
EncryptOptions

Opções adicionais.

Devoluções

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Aviso

Esta API foi preterida.

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

Criptografa o texto sem formatação fornecido com o algoritmo de criptografia especificado

Exemplo 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

O algoritmo a ser usado.

plaintext

Uint8Array

O texto a encriptar.

options
EncryptOptions

Opções adicionais.

Devoluções

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Assinar criptograficamente o resumo de uma mensagem

Exemplo 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

O algoritmo de assinatura a ser usado.

digest

Uint8Array

O resumo dos dados a assinar.

options
SignOptions

Opções adicionais.

Devoluções

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Assinar criptograficamente um bloco de dados

Exemplo 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

O algoritmo de assinatura a ser usado.

data

Uint8Array

Os dados a assinar.

options
SignOptions

Opções adicionais.

Devoluções

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Desembrulha a chave encapsulada fornecida usando o algoritmo de criptografia especificado

Exemplo 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

O algoritmo de desencriptação a ser usado para desembrulhar a chave.

encryptedKey

Uint8Array

A chave criptografada para desempacotar.

options
UnwrapKeyOptions

Opções adicionais.

Devoluções

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Verificar o resumo da mensagem assinada

Exemplo 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

O algoritmo de assinatura a ser usado para verificar com.

digest

Uint8Array

O resumo a verificar.

signature

Uint8Array

A assinatura para verificar o resumo contra.

options
VerifyOptions

Opções adicionais.

Devoluções

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Verificar o bloco de dados assinado

Exemplo 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

O algoritmo a ser usado para verificar com.

data

Uint8Array

O bloco de dados assinado para verificar.

signature

Uint8Array

A assinatura para verificar o bloco contra.

options
VerifyOptions

Opções adicionais.

Devoluções

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Encapsula a chave dada usando o algoritmo de criptografia especificado

Exemplo 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

O algoritmo de encriptação a utilizar para encapsular a chave fornecida.

key

Uint8Array

A chave para embrulhar.

options
WrapKeyOptions

Opções adicionais.

Devoluções

Promise<WrapResult>