CryptographyClient class

Klien yang digunakan untuk melakukan operasi kriptografi pada kunci Azure Key vault atau JsonWebKey lokal.

Konstruktor

CryptographyClient(JsonWebKey_2)

Membuat instans baru klien Kriptografi untuk kunci yang diberikan dalam mode lokal.

Contoh penggunaan:

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

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

Membuat instans baru klien Kriptografi untuk kunci yang diberikan

Contoh penggunaan:

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

Properti

keyID

ID kunci yang digunakan untuk melakukan operasi kriptografi untuk klien.

vaultUrl

URL dasar ke vault. Jika JsonWebKey lokal digunakan vaultUrl akan kosong.

Metode

decrypt(DecryptParameters, DecryptOptions)

Mendekripsi ciphertext yang diberikan dengan parameter dekripsi yang ditentukan. Tergantung pada algoritma yang digunakan dalam parameter dekripsi, kumpulan parameter dekripsi yang mungkin akan berubah.

Microsoft menyarankan Anda untuk tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi lebih lanjut.

Contoh penggunaan:

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)

Mendekripsi ciphertext yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Microsoft menyarankan Anda untuk tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi lebih lanjut.

encrypt(EncryptParameters, EncryptOptions)

Mengenkripsi teks biasa yang diberikan dengan parameter enkripsi yang ditentukan. Bergantung pada algoritma yang diatur dalam parameter enkripsi, kumpulan parameter enkripsi yang mungkin akan berubah.

Contoh penggunaan:

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)

Mengenkripsi teks biasa yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Menandatangani hash pesan secara kriptografis

Contoh penggunaan:

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

Menandatangani blok data secara kriptografis

Contoh penggunaan:

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

Membuka bungkus kunci yang dibungkus yang diberikan menggunakan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Memverifikasi hash pesan yang ditandatangani

Contoh penggunaan:

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

Memverifikasi blok data yang ditandatangani

Contoh penggunaan:

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

Membungkus kunci yang diberikan menggunakan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Detail Konstruktor

CryptographyClient(JsonWebKey_2)

Membuat instans baru klien Kriptografi untuk kunci yang diberikan dalam mode lokal.

Contoh penggunaan:

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

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

Parameter

key
JsonWebKey

JsonWebKey untuk digunakan selama operasi kriptografi.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Membuat instans baru klien Kriptografi untuk kunci yang diberikan

Contoh penggunaan:

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)

Parameter

key

string | KeyVaultKey

Kunci yang digunakan selama tugas kriptografi. Anda juga dapat meneruskan pengidentifikasi kunci yaitu url-nya di sini.

credential
TokenCredential

Objek yang mengimplementasikan antarmuka yang TokenCredential digunakan untuk mengautentikasi permintaan ke layanan. @azure/identity Gunakan paket untuk membuat kredensial yang sesuai dengan kebutuhan Anda.

pipelineOptions
CryptographyClientOptions

Opsi alur yang digunakan untuk mengonfigurasi permintaan API Key Vault. Hilangkan parameter ini untuk menggunakan konfigurasi alur default.

Detail Properti

keyID

ID kunci yang digunakan untuk melakukan operasi kriptografi untuk klien.

undefined | string keyID

Nilai Properti

undefined | string

vaultUrl

URL dasar ke vault. Jika JsonWebKey lokal digunakan vaultUrl akan kosong.

string vaultUrl

Nilai Properti

string

Detail Metode

decrypt(DecryptParameters, DecryptOptions)

Mendekripsi ciphertext yang diberikan dengan parameter dekripsi yang ditentukan. Tergantung pada algoritma yang digunakan dalam parameter dekripsi, kumpulan parameter dekripsi yang mungkin akan berubah.

Microsoft menyarankan Anda untuk tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi lebih lanjut.

Contoh penggunaan:

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>

Parameter

decryptParameters
DecryptParameters

Parameter dekripsi.

options
DecryptOptions

Opsi tambahan.

Mengembalikan

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

Peringatan

API ini sudah tidak digunakan lagi.

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

Mendekripsi ciphertext yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Microsoft menyarankan Anda untuk tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi lebih lanjut.

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

Parameter

algorithm

string

Algoritma yang akan digunakan.

ciphertext

Uint8Array

Teks yang akan didekripsi.

options
DecryptOptions

Opsi tambahan.

Mengembalikan

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

Mengenkripsi teks biasa yang diberikan dengan parameter enkripsi yang ditentukan. Bergantung pada algoritma yang diatur dalam parameter enkripsi, kumpulan parameter enkripsi yang mungkin akan berubah.

Contoh penggunaan:

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>

Parameter

encryptParameters
EncryptParameters

Parameter enkripsi, kunci pada algoritma enkripsi yang dipilih.

options
EncryptOptions

Opsi tambahan.

Mengembalikan

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

Peringatan

API ini sudah tidak digunakan lagi.

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

Mengenkripsi teks biasa yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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>

Parameter

algorithm

string

Algoritma yang akan digunakan.

plaintext

Uint8Array

Teks untuk dienkripsi.

options
EncryptOptions

Opsi tambahan.

Mengembalikan

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Menandatangani hash pesan secara kriptografis

Contoh penggunaan:

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

Parameter

algorithm

string

Algoritma penandatanganan yang akan digunakan.

digest

Uint8Array

Hash data yang akan ditandatangani.

options
SignOptions

Opsi tambahan.

Mengembalikan

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

Menandatangani blok data secara kriptografis

Contoh penggunaan:

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

Parameter

algorithm

string

Algoritma penandatanganan yang akan digunakan.

data

Uint8Array

Data yang akan ditandatangani.

options
SignOptions

Opsi tambahan.

Mengembalikan

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

Membuka bungkus kunci yang dibungkus yang diberikan menggunakan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Parameter

algorithm
KeyWrapAlgorithm

Algoritma dekripsi yang digunakan untuk membuka bungkus kunci.

encryptedKey

Uint8Array

Kunci terenkripsi untuk membuka bungkus.

options
UnwrapKeyOptions

Opsi tambahan.

Mengembalikan

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

Memverifikasi hash pesan yang ditandatangani

Contoh penggunaan:

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>

Parameter

algorithm

string

Algoritma penandatanganan yang digunakan untuk memverifikasi.

digest

Uint8Array

Hash untuk memverifikasi.

signature

Uint8Array

Tanda tangan untuk memverifikasi hash.

options
VerifyOptions

Opsi tambahan.

Mengembalikan

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Memverifikasi blok data yang ditandatangani

Contoh penggunaan:

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>

Parameter

algorithm

string

Algoritma yang digunakan untuk memverifikasi.

data

Uint8Array

Blok data yang ditandatangani untuk diverifikasi.

signature

Uint8Array

Tanda tangan untuk memverifikasi blok.

options
VerifyOptions

Opsi tambahan.

Mengembalikan

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Membungkus kunci yang diberikan menggunakan algoritma kriptografi yang ditentukan

Contoh penggunaan:

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

Parameter

algorithm
KeyWrapAlgorithm

Algoritma enkripsi yang digunakan untuk membungkus kunci yang diberikan.

key

Uint8Array

Kunci untuk membungkus.

options
WrapKeyOptions

Opsi tambahan.

Mengembalikan

Promise<WrapResult>