적절한 프로그래매틱 인증 자격 증명을 사용하여 KeyClient를 만든 다음, CryptographyClient를 만듭니다. 클라이언트를 사용하여 Azure Key Vault에서 키를 설정, 업데이트 및 순환합니다.
암호화 알고리즘 선택
SDK 및 제공된 열거형 및 형식을 최대한 활용하려면 다음 섹션을 계속하기 전에 암호화 알고리즘을 선택합니다.
- RSA - Rivest–Shamir–Adleman
- AES GCM - 고급 암호화 표준 Galois 카운터 모드
- AES CBC - 고급 암호화 표준 암호화 블록 체인
KnownEncryptionAlgorithms 열거형을 사용하여 특정 알고리즘을 선택합니다.
import {
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
const myAlgorithm = KnownEncryptionAlgorithms.RSAOaep256
암호화 키 가져오기
암호화 및 암호 해독에 사용할 Key Vault에서 KeyVaultKey 암호화 키를 만들거나가져옵니다.
키로 암호화 및 암호 해독
암호화를 사용하려면 다음 매개 변수 개체 중 하나가 필요합니다.
세 매개 변수 개체 모두 algorithm 및 plaintext를 암호화하는 데 사용됩니다. RSA 암호화 매개 변수의 예제는 다음과 같습니다.
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());
}
encryptParams 개체는 암호화에 대한 매개 변수를 설정합니다. 다음 암호화 매개 변수 개체를 사용하여 속성을 설정합니다.
decryptParams 개체는 암호 해독에 대한 매개 변수를 설정합니다. 다음 암호 해독 매개 변수 개체를 사용하여 속성을 설정합니다.