Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellen Sie den KeyClient mit den entsprechenden Anmeldeinformationen für die programmgesteuerte Authentifizierung, und erstellen Sie dann einen CryptographyClient und verwenden Sie ihn, um einen Schlüssel in Azure Key Vault festzulegen, zu aktivieren und zu rotieren.
Verschlüsselungsalgorithmus auswählen
Um das SDK und die bereitgestellten Enumerationen und Typen optimal zu nutzen, wählen Sie Ihren Verschlüsselungsalgorithmus aus, bevor Sie mit dem nächsten Abschnitt fortfahren.
- RSA – Rivest–Shamir–Adleman
- AES GCM – Advanced Encryption Standard Galois Counter Mode
- AES CBC – Advanced Encryption Standard Cipher Block Chaining
Verwenden Sie die Enumeration KnownEncryptionAlgorithms, um einen bestimmten Algorithmus auszuwählen.
import {
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
const myAlgorithm = KnownEncryptionAlgorithms.RSAOaep256
Get Verschlüsselungsschlüssel
ErstellenSie oder rufen Sie Ihren KeyVaultKey-Verschlüsselungsschlüssel aus dem Key Vault ab, der für die Verschlüsselung und Entschlüsselung verwendet werden soll.
Verschlüsseln und Entschlüsseln mit einem Schlüssel
Die Verschlüsselung erfordert eines der folgenden Parameterobjekte:
Alle drei Parameterobjekte erfordern algorithm und plaintext, die zum Verschlüsseln verwendet werden. Ein Beispiel für RSA-Verschlüsselungsparameter finden Sie unten.
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());
}
Das encryptParams-Objekt legt die Parameter für die Verschlüsselung fest. Verwenden Sie die folgenden Parameterobjekte für die Verschlüsselung, um Eigenschaften festzulegen.
Das decryptParams-Objekt legt die Parameter für die Entschlüsselung fest. Verwenden Sie die folgenden Parameterobjekte für die Entschlüsselung, um Eigenschaften festzulegen.