Partilhar via


CryptographyClient class

Um cliente utilizado para realizar operações criptográficas numa chave do cofre de chaves do Azure ou num JsonWebKey local.

Construtores

CryptographyClient(JsonWebKey_2)

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

Utilização de exemplo:

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 especificada

Utilização de exemplo:

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

O ID da chave utilizada para realizar operações criptográficas para o cliente.

vaultUrl

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

Métodos

decrypt(DecryptParameters, DecryptOptions)

Desencripta o cifratexto especificado com os parâmetros de desencriptação especificados. Dependendo do algoritmo utilizado nos parâmetros de desencriptação, o conjunto de possíveis parâmetros de desencriptação será alterado.

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

Utilização de exemplo:

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 cifratexto especificado com o algoritmo de criptografia especificado

Utilização de exemplo:

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

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

encrypt(EncryptParameters, EncryptOptions)

Encripta o texto simples especificado com os parâmetros de encriptação especificados. Dependendo do algoritmo definido nos parâmetros de encriptação, o conjunto de possíveis parâmetros de encriptação será alterado.

Utilização de exemplo:

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)

Encripta o texto simples especificado com o algoritmo de criptografia especificado

Utilização de exemplo:

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

Utilização de exemplo:

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

Assinar criptograficamente um bloco de dados

Utilização de exemplo:

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

Desembrulha a chave moldada especificada com o algoritmo de criptografia especificado

Utilização de exemplo:

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

Utilização de exemplo:

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

Utilização de exemplo:

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

Molda a chave especificada com o algoritmo de criptografia especificado

Utilização de exemplo:

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 especificada no modo local.

Utilização de exemplo:

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 utilizar durante as operações de criptografia.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Constrói uma nova instância do cliente Cryptography para a chave especificada

Utilização de exemplo:

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 utilizar durante as tarefas de criptografia. Também pode transmitir o identificador da chave, ou seja, o url aqui.

credential
TokenCredential

Um objeto que implementa a TokenCredential interface utilizada para autenticar pedidos no serviço. Utilize o @azure/identity pacote para criar uma credencial que se adeque às suas necessidades.

pipelineOptions
CryptographyClientOptions

Opções de pipeline utilizadas para configurar pedidos de API Key Vault. Omita este parâmetro para utilizar a configuração do pipeline predefinida.

Detalhes de Propriedade

keyID

O ID da chave utilizada para realizar operações criptográficas para o cliente.

undefined | string keyID

Valor de Propriedade

undefined | string

vaultUrl

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

string vaultUrl

Valor de Propriedade

string

Detalhes de Método

decrypt(DecryptParameters, DecryptOptions)

Desencripta o cifratexto especificado com os parâmetros de desencriptação especificados. Dependendo do algoritmo utilizado nos parâmetros de desencriptação, o conjunto de possíveis parâmetros de desencriptação será alterado.

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

Utilização de exemplo:

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 cifratexto especificado com o algoritmo de criptografia especificado

Utilização de exemplo:

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

A Microsoft recomenda que não utilize o CBC sem primeiro garantir a integridade do cifratexto com, 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 utilizar.

ciphertext

Uint8Array

O texto a desencriptar.

options
DecryptOptions

Opções adicionais.

Devoluções

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Encripta o texto simples especificado com os parâmetros de encriptação especificados. Dependendo do algoritmo definido nos parâmetros de encriptação, o conjunto de possíveis parâmetros de encriptação será alterado.

Utilização de exemplo:

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, com chave 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.

Encripta o texto simples especificado com o algoritmo de criptografia especificado

Utilização de exemplo:

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 utilizar.

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

Utilização de exemplo:

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 utilizar.

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

Utilização de exemplo:

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 utilizar.

data

Uint8Array

Os dados a assinar.

options
SignOptions

Opções adicionais.

Devoluções

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Desembrulha a chave moldada especificada com o algoritmo de criptografia especificado

Utilização de exemplo:

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 utilizar para desembrulhar a chave.

encryptedKey

Uint8Array

A chave encriptada para desembrulhar.

options
UnwrapKeyOptions

Opções adicionais.

Devoluções

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Verificar o resumo da mensagem assinada

Utilização de exemplo:

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 utilizar para verificar.

digest

Uint8Array

O resumo a verificar.

signature

Uint8Array

A assinatura para verificar a digestão.

options
VerifyOptions

Opções adicionais.

Devoluções

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Verificar o bloco de dados assinado

Utilização de exemplo:

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 utilizar para verificar.

data

Uint8Array

O bloco de dados assinado para verificar.

signature

Uint8Array

A assinatura para verificar o bloqueio.

options
VerifyOptions

Opções adicionais.

Devoluções

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Molda a chave especificada com o algoritmo de criptografia especificado

Utilização de exemplo:

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 moldar a chave especificada.

key

Uint8Array

A chave a moldar.

options
WrapKeyOptions

Opções adicionais.

Devoluções

Promise<WrapResult>