Bagikan melalui


CryptographyClient class

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

Konstruktor

CryptographyClient(JsonWebKey)

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

Contoh penggunaan:

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

const jsonWebKey = {
  kty: "RSA",
  kid: "test-key-123",
  use: "sig",
  alg: "RS256",
  n: new Uint8Array([112, 34, 56, 98, 123, 244, 200, 99]),
  e: new Uint8Array([1, 0, 1]),
  d: new Uint8Array([45, 67, 89, 23, 144, 200, 76, 233]),
  p: new Uint8Array([34, 89, 100, 77, 204, 56, 29, 77]),
  q: new Uint8Array([78, 99, 201, 45, 188, 34, 67, 90]),
  dp: new Uint8Array([23, 45, 78, 56, 200, 144, 32, 67]),
  dq: new Uint8Array([12, 67, 89, 144, 99, 56, 23, 45]),
  qi: new Uint8Array([78, 90, 45, 201, 34, 67, 120, 55]),
};
const client = new CryptographyClient(jsonWebKey);
CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

Membuat instans baru klien Kriptografi untuk kunci yang diberikan

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

// Create or retrieve a key from the keyvault
const myKey = await client.createKey("MyKey", "RSA");

// Lastly, create our cryptography client and connect to the service
const cryptographyClient = new CryptographyClient(myKey, credential);

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 tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi selengkapnya.

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);

const decryptResult = await cryptographyClient.decrypt({
  algorithm: "RSA1_5",
  ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());
decrypt(string, Uint8Array, DecryptOptions)

Mendekripsi ciphertext yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);

const decryptResult = await cryptographyClient.decrypt({
  algorithm: "RSA1_5",
  ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());

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

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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
encrypt(string, Uint8Array, EncryptOptions)

Mengenkripsi teks biasa yang diberikan dengan algoritma kriptografi yang ditentukan

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
sign(string, Uint8Array, SignOptions)

Menandatangani hash pesan secara kriptografi

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

let myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const signatureValue = "MySignature";
const hash = createHash("sha256");

const digest = hash.update(signatureValue).digest();
console.log("digest: ", digest);

const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);
signData(string, Uint8Array, SignOptions)

Menandatangani blok data secara kriptografis

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const signResult = await cryptographyClient.signData("RS256", Buffer.from("My Message"));
console.log("sign result: ", signResult.result);
unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

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

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);

const unwrapResult = await cryptographyClient.unwrapKey("RSA-OAEP", wrapResult.result);
console.log("unwrap result: ", unwrapResult.result);
verify(string, Uint8Array, Uint8Array, VerifyOptions)

Memverifikasi hash pesan yang ditandatangani

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const hash = createHash("sha256");
hash.update("My Message");
const digest = hash.digest();

const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);

const verifyResult = await cryptographyClient.verify("RS256", digest, signResult.result);
console.log("verify result: ", verifyResult.result);
verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Memverifikasi blok data yang ditandatangani

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const buffer = Buffer.from("My Message");

const signResult = await cryptographyClient.signData("RS256", buffer);
console.log("sign result: ", signResult.result);

const verifyResult = await cryptographyClient.verifyData("RS256", buffer, signResult.result);
console.log("verify result: ", verifyResult.result);
wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

Membungkus kunci yang diberikan menggunakan algoritma kriptografi yang ditentukan

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);

Detail Konstruktor

CryptographyClient(JsonWebKey)

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

Contoh penggunaan:

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

const jsonWebKey = {
  kty: "RSA",
  kid: "test-key-123",
  use: "sig",
  alg: "RS256",
  n: new Uint8Array([112, 34, 56, 98, 123, 244, 200, 99]),
  e: new Uint8Array([1, 0, 1]),
  d: new Uint8Array([45, 67, 89, 23, 144, 200, 76, 233]),
  p: new Uint8Array([34, 89, 100, 77, 204, 56, 29, 77]),
  q: new Uint8Array([78, 99, 201, 45, 188, 34, 67, 90]),
  dp: new Uint8Array([23, 45, 78, 56, 200, 144, 32, 67]),
  dq: new Uint8Array([12, 67, 89, 144, 99, 56, 23, 45]),
  qi: new Uint8Array([78, 90, 45, 201, 34, 67, 120, 55]),
};
const client = new CryptographyClient(jsonWebKey);
new CryptographyClient(key: JsonWebKey)

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 { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

// Create or retrieve a key from the keyvault
const myKey = await client.createKey("MyKey", "RSA");

// Lastly, create our cryptography client and connect to the service
const cryptographyClient = new CryptographyClient(myKey, credential);
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 TokenCredential yang digunakan untuk mengautentikasi permintaan ke layanan. Gunakan paket @azure/identity 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 tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi selengkapnya.

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);

const decryptResult = await cryptographyClient.decrypt({
  algorithm: "RSA1_5",
  ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());
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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);

const decryptResult = await cryptographyClient.decrypt({
  algorithm: "RSA1_5",
  ciphertext: encryptResult.result,
});
console.log("decrypt result: ", decryptResult.result.toString());

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

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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
function encrypt(encryptParameters: EncryptParameters, options?: EncryptOptions): Promise<EncryptResult>

Parameter

encryptParameters
EncryptParameters

Parameter enkripsi, di-keyed 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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey.id, credential);

const encryptResult = await cryptographyClient.encrypt({
  algorithm: "RSA1_5",
  plaintext: Buffer.from("My Message"),
});
console.log("encrypt result: ", encryptResult.result);
function encrypt(algorithm: string, plaintext: Uint8Array, options?: EncryptOptions): Promise<EncryptResult>

Parameter

algorithm

string

Algoritma yang akan digunakan.

plaintext

Uint8Array

Teks yang akan dienkripsi.

options
EncryptOptions

Opsi tambahan.

Mengembalikan

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

Menandatangani hash pesan secara kriptografi

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

let myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const signatureValue = "MySignature";
const hash = createHash("sha256");

const digest = hash.update(signatureValue).digest();
console.log("digest: ", digest);

const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);
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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const signResult = await cryptographyClient.signData("RS256", Buffer.from("My Message"));
console.log("sign result: ", signResult.result);
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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);

const unwrapResult = await cryptographyClient.unwrapKey("RSA-OAEP", wrapResult.result);
console.log("unwrap result: ", unwrapResult.result);
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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";
import { createHash } from "node:crypto";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const hash = createHash("sha256");
hash.update("My Message");
const digest = hash.digest();

const signResult = await cryptographyClient.sign("RS256", digest);
console.log("sign result: ", signResult.result);

const verifyResult = await cryptographyClient.verify("RS256", digest, signResult.result);
console.log("verify result: ", verifyResult.result);
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 terhadap.

options
VerifyOptions

Opsi tambahan.

Mengembalikan

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

Memverifikasi blok data yang ditandatangani

Contoh penggunaan:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const buffer = Buffer.from("My Message");

const signResult = await cryptographyClient.signData("RS256", buffer);
console.log("sign result: ", signResult.result);

const verifyResult = await cryptographyClient.verifyData("RS256", buffer, signResult.result);
console.log("verify result: ", verifyResult.result);
function verifyData(algorithm: string, data: Uint8Array, signature: Uint8Array, options?: VerifyOptions): Promise<VerifyResult>

Parameter

algorithm

string

Algoritma yang digunakan untuk memverifikasi dengan.

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:

import { DefaultAzureCredential } from "@azure/identity";
import { KeyClient, CryptographyClient } from "@azure/keyvault-keys";

const credential = new DefaultAzureCredential();

const vaultName = "<YOUR KEYVAULT NAME>";
const url = `https://${vaultName}.vault.azure.net`;

const client = new KeyClient(url, credential);

const myKey = await client.createKey("MyKey", "RSA");
const cryptographyClient = new CryptographyClient(myKey, credential);

const wrapResult = await cryptographyClient.wrapKey("RSA-OAEP", Buffer.from("My Key"));
console.log("wrap result:", wrapResult.result);
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>