Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Buat KeyClient dengan kredensial autentikasi terprogram yang sesuai, lalu buat CryptographyClient menggunakan klien untuk mengatur, memperbarui, dan memutar kunci di Azure Key Vault.
Pilih algoritma enkripsi
Untuk memanfaatkan SDK dengan sebaik-baiknya serta enum dan jenis yang disediakan, pilih algoritma enkripsi Anda sebelum melanjutkan ke bagian berikutnya.
- RSA - Rivest–Shamir–Adleman
- AES GCM - Mode Penghitung Galois Standar Enkripsi Lanjutan
- AES CBC - Rantai Blok Sandi Standar Enkripsi Tingkat Lanjut
Gunakan enum KnownEncryptionAlgorithms untuk memilih algoritma tertentu.
import {
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
const myAlgorithm = KnownEncryptionAlgorithms.RSAOaep256
Dapatkan kunci enkripsi
Buat atau dapatkan kunci enkripsi KeyVaultKey Anda dari Key Vault untuk digunakan dengan enkripsi dan dekripsi.
Mengenkripsi dan mendekripsi dengan kunci
Enkripsi memerlukan salah satu objek parameter berikut:
Ketiga objek parameter memerlukan algorithm dan yang plaintext digunakan untuk mengenkripsi. Contoh parameter enkripsi RSA ditunjukkan di bawah ini.
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
// get service client using AZURE_KEYVAULT_NAME environment variable
const credential = new DefaultAzureCredential();
const serviceClient = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// get existing key
const keyVaultKey = await serviceClient.getKey('myRsaKey');
if (keyVaultKey?.name) {
// get encryption client
const encryptClient = new CryptographyClient(keyVaultKey, credential);
// set data to encrypt
const originalInfo = 'Hello World';
// set encryption algorithm
const algorithm = KnownEncryptionAlgorithms.RSAOaep256;
// encrypt settings: RsaEncryptParameters | AesGcmEncryptParameters | AesCbcEncryptParameters
const encryptParams = {
algorithm,
plaintext: Buffer.from(originalInfo)
};
// encrypt
const encryptResult = await encryptClient.encrypt(encryptParams);
// ... hand off encrypted result to another process
// ... other process needs to decrypt data
// decrypt settings: DecryptParameters
const decryptParams = {
algorithm,
ciphertext: encryptResult.result
};
// decrypt
const decryptResult = await encryptClient.decrypt(decryptParams);
console.log(decryptResult.result.toString());
}
Objek encryptParams mengatur parameter untuk enkripsi. Gunakan objek parameter enkripsi berikut untuk mengatur properti.
Objek decryptParams mengatur parameter untuk dekripsi. Gunakan objek parameter dekripsi berikut untuk mengatur properti.