Compartilhar via


CryptographyClient class

Um cliente usado para executar operações criptográficas em uma chave do Azure Key Vault ou em um JsonWebKey local.

Construtores

CryptographyClient(JsonWebKey_2)

Constrói uma nova instância do cliente cryptography para a chave fornecida 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 cryptography 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

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

Métodos

decrypt(DecryptParameters, DecryptOptions)

Descriptografa o texto de criptografia fornecido com os parâmetros de descriptografia especificados. Dependendo do algoritmo usado nos parâmetros de descriptografia, o conjunto de possíveis parâmetros de descriptografia 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)

Descriptografa o texto de criptografia fornecido com o algoritmo de criptografia 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 criptografia, o conjunto de possíveis parâmetros de criptografia será alterado.

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

Constrói uma nova instância do cliente cryptography para a chave fornecida no modo local.

Exemplo 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

O JsonWebKey a ser usado durante operações de criptografia.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Constrói uma nova instância do cliente cryptography 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 TokenCredential interface usada para autenticar solicitações para o serviço. Use o @azure/identity pacote para criar uma credencial que atenda às suas necessidades.

pipelineOptions
CryptographyClientOptions

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

Detalhes da propriedade

keyID

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

undefined | string keyID

Valor da propriedade

undefined | string

vaultUrl

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

string vaultUrl

Valor da propriedade

string

Detalhes do método

decrypt(DecryptParameters, DecryptOptions)

Descriptografa o texto de criptografia fornecido com os parâmetros de descriptografia especificados. Dependendo do algoritmo usado nos parâmetros de descriptografia, o conjunto de possíveis parâmetros de descriptografia 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 descriptografia.

options
DecryptOptions

Opções adicionais.

Retornos

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Aviso

Essa API foi preterida.

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

Descriptografa o texto de criptografia fornecido com o algoritmo de criptografia 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 ser descriptografado.

options
DecryptOptions

Opções adicionais.

Retornos

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 criptografia, o conjunto de possíveis parâmetros de criptografia será alterado.

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 criptografia, chaveados no algoritmo de criptografia escolhido.

options
EncryptOptions

Opções adicionais.

Retornos

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Aviso

Essa 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 ser criptografado.

options
EncryptOptions

Opções adicionais.

Retornos

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.

Retornos

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 serem assinados.

options
SignOptions

Opções adicionais.

Retornos

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 descriptografia a ser usado para desembrulhar a chave.

encryptedKey

Uint8Array

A chave criptografada a ser desembrulhada.

options
UnwrapKeyOptions

Opções adicionais.

Retornos

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.

digest

Uint8Array

O resumo a ser verificado.

signature

Uint8Array

A assinatura com a qual verificar o resumo.

options
VerifyOptions

Opções adicionais.

Retornos

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.

data

Uint8Array

O bloco de dados assinado a ser verificado.

signature

Uint8Array

A assinatura com a qual verificar o bloco.

options
VerifyOptions

Opções adicionais.

Retornos

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Encapsula a chave fornecida 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 criptografia a ser usado para encapsular a chave fornecida.

key

Uint8Array

A chave a ser encapsulada.

options
WrapKeyOptions

Opções adicionais.

Retornos

Promise<WrapResult>