CryptographyClient class
Een client die wordt gebruikt voor het uitvoeren van cryptografische bewerkingen op een Azure Key Vault-sleutel of een lokale JsonWebKey.
Constructors
| Cryptography |
Hiermee wordt een nieuw exemplaar van de cryptografieclient gemaakt voor de opgegeven sleutel in de lokale modus. Voorbeeldgebruik:
|
| Cryptography |
Hiermee wordt een nieuw exemplaar van de cryptografieclient voor de opgegeven sleutel gemaakt Voorbeeldgebruik:
|
Eigenschappen
| keyID | De id van de sleutel die wordt gebruikt voor het uitvoeren van cryptografische bewerkingen voor de client. |
| vault |
De basis-URL naar de kluis. Als een lokale JsonWebKey wordt gebruikt, is vaultUrl leeg. |
Methoden
| decrypt(Decrypt |
Ontsleutelt de opgegeven coderingstekst met de opgegeven ontsleutelingsparameters. Afhankelijk van het algoritme dat wordt gebruikt in de ontsleutelingsparameters, verandert de set mogelijke ontsleutelingsparameters. Microsoft raadt u aan CBC niet te gebruiken zonder eerst de integriteit van de coderingstekst te garanderen met behulp van bijvoorbeeld een HMAC. Zie https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode voor meer informatie. Voorbeeldgebruik:
|
| decrypt(string, Uint8Array, Decrypt |
Ontsleutelt de opgegeven coderingstekst met het opgegeven cryptografie-algoritme Voorbeeldgebruik:
Microsoft raadt u aan CBC niet te gebruiken zonder eerst de integriteit van de coderingstekst te garanderen met behulp van bijvoorbeeld een HMAC. Zie https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode voor meer informatie. |
| encrypt(Encrypt |
Hiermee versleutelt u de opgegeven tekst zonder opmaak met de opgegeven versleutelingsparameters. Afhankelijk van het algoritme dat is ingesteld in de versleutelingsparameters, wordt de set mogelijke versleutelingsparameters gewijzigd. Voorbeeldgebruik:
|
| encrypt(string, Uint8Array, Encrypt |
Versleutelt de opgegeven tekst zonder opmaak met het opgegeven cryptografie-algoritme Voorbeeldgebruik:
|
| sign(string, Uint8Array, Sign |
De samenvatting van een bericht cryptografisch ondertekenen Voorbeeldgebruik:
|
| sign |
Cryptografisch ondertekenen van een blok gegevens Voorbeeldgebruik:
|
| unwrap |
Pak de opgegeven verpakte sleutel uit met behulp van het opgegeven cryptografie-algoritme Voorbeeldgebruik:
|
| verify(string, Uint8Array, Uint8Array, Verify |
De samenvatting van het ondertekende bericht controleren Voorbeeldgebruik:
|
| verify |
Het ondertekende blok met gegevens controleren Voorbeeldgebruik:
|
| wrap |
Verpakt de opgegeven sleutel met behulp van het opgegeven cryptografie-algoritme Voorbeeldgebruik:
|
Constructordetails
CryptographyClient(JsonWebKey)
Hiermee wordt een nieuw exemplaar van de cryptografieclient gemaakt voor de opgegeven sleutel in de lokale modus.
Voorbeeldgebruik:
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)
Parameters
- key
- JsonWebKey
De JsonWebKey die moet worden gebruikt tijdens cryptografiebewerkingen.
CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)
Hiermee wordt een nieuw exemplaar van de cryptografieclient voor de opgegeven sleutel gemaakt
Voorbeeldgebruik:
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)
Parameters
- key
-
string | KeyVaultKey
De sleutel die moet worden gebruikt tijdens cryptografietaken. U kunt hier ook de id van de sleutel doorgeven, bijvoorbeeld de URL.
- credential
- TokenCredential
Een object dat de TokenCredential-interface implementeert die wordt gebruikt voor het verifiëren van aanvragen voor de service. Gebruik het @azure/identity-pakket om een referentie te maken die aan uw behoeften voldoet.
- pipelineOptions
- CryptographyClientOptions
Pijplijnopties die worden gebruikt voor het configureren van Key Vault-API-aanvragen. Laat deze parameter weg om de standaardpijplijnconfiguratie te gebruiken.
Eigenschapdetails
keyID
De id van de sleutel die wordt gebruikt voor het uitvoeren van cryptografische bewerkingen voor de client.
undefined | string keyID
Waarde van eigenschap
undefined | string
vaultUrl
De basis-URL naar de kluis. Als een lokale JsonWebKey wordt gebruikt, is vaultUrl leeg.
string vaultUrl
Waarde van eigenschap
string
Methodedetails
decrypt(DecryptParameters, DecryptOptions)
Ontsleutelt de opgegeven coderingstekst met de opgegeven ontsleutelingsparameters. Afhankelijk van het algoritme dat wordt gebruikt in de ontsleutelingsparameters, verandert de set mogelijke ontsleutelingsparameters.
Microsoft raadt u aan CBC niet te gebruiken zonder eerst de integriteit van de coderingstekst te garanderen met behulp van bijvoorbeeld een HMAC. Zie https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode voor meer informatie.
Voorbeeldgebruik:
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>
Parameters
- decryptParameters
- DecryptParameters
De ontsleutelingsparameters.
- options
- DecryptOptions
Aanvullende opties.
Retouren
Promise<DecryptResult>
decrypt(string, Uint8Array, DecryptOptions)
Waarschuwing
Deze API is nu afgeschaft.
Use decrypt({ algorithm, ciphertext }, options) instead.
Ontsleutelt de opgegeven coderingstekst met het opgegeven cryptografie-algoritme
Voorbeeldgebruik:
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 raadt u aan CBC niet te gebruiken zonder eerst de integriteit van de coderingstekst te garanderen met behulp van bijvoorbeeld een HMAC. Zie https://learn.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode voor meer informatie.
function decrypt(algorithm: string, ciphertext: Uint8Array, options?: DecryptOptions): Promise<DecryptResult>
Parameters
- algorithm
-
string
Het algoritme dat moet worden gebruikt.
- ciphertext
-
Uint8Array
De tekst die moet worden ontsleuteld.
- options
- DecryptOptions
Aanvullende opties.
Retouren
Promise<DecryptResult>
encrypt(EncryptParameters, EncryptOptions)
Hiermee versleutelt u de opgegeven tekst zonder opmaak met de opgegeven versleutelingsparameters. Afhankelijk van het algoritme dat is ingesteld in de versleutelingsparameters, wordt de set mogelijke versleutelingsparameters gewijzigd.
Voorbeeldgebruik:
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>
Parameters
- encryptParameters
- EncryptParameters
De versleutelingsparameters, die zijn sleutel voor het gekozen versleutelingsalgoritmen.
- options
- EncryptOptions
Aanvullende opties.
Retouren
Promise<EncryptResult>
encrypt(string, Uint8Array, EncryptOptions)
Waarschuwing
Deze API is nu afgeschaft.
Use encrypt({ algorithm, plaintext }, options) instead.
Versleutelt de opgegeven tekst zonder opmaak met het opgegeven cryptografie-algoritme
Voorbeeldgebruik:
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>
Parameters
- algorithm
-
string
Het algoritme dat moet worden gebruikt.
- plaintext
-
Uint8Array
De tekst die moet worden versleuteld.
- options
- EncryptOptions
Aanvullende opties.
Retouren
Promise<EncryptResult>
sign(string, Uint8Array, SignOptions)
De samenvatting van een bericht cryptografisch ondertekenen
Voorbeeldgebruik:
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>
Parameters
- algorithm
-
string
Het ondertekeningsalgoritme dat moet worden gebruikt.
- digest
-
Uint8Array
De samenvatting van de gegevens die moeten worden ondertekend.
- options
- SignOptions
Aanvullende opties.
Retouren
Promise<SignResult>
signData(string, Uint8Array, SignOptions)
Cryptografisch ondertekenen van een blok gegevens
Voorbeeldgebruik:
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>
Parameters
- algorithm
-
string
Het ondertekeningsalgoritme dat moet worden gebruikt.
- data
-
Uint8Array
De gegevens die moeten worden ondertekend.
- options
- SignOptions
Aanvullende opties.
Retouren
Promise<SignResult>
unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)
Pak de opgegeven verpakte sleutel uit met behulp van het opgegeven cryptografie-algoritme
Voorbeeldgebruik:
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>
Parameters
- algorithm
- KeyWrapAlgorithm
Het algoritme voor ontsleuteling dat moet worden gebruikt om de sleutel uit te pakken.
- encryptedKey
-
Uint8Array
De versleutelde sleutel om uit te pakken.
- options
- UnwrapKeyOptions
Aanvullende opties.
Retouren
Promise<UnwrapResult>
verify(string, Uint8Array, Uint8Array, VerifyOptions)
De samenvatting van het ondertekende bericht controleren
Voorbeeldgebruik:
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>
Parameters
- algorithm
-
string
Het ondertekeningsalgoritme waarmee moet worden gecontroleerd.
- digest
-
Uint8Array
De samenvatting die moet worden gecontroleerd.
- signature
-
Uint8Array
De handtekening om de samenvatting te controleren.
- options
- VerifyOptions
Aanvullende opties.
Retouren
Promise<VerifyResult>
verifyData(string, Uint8Array, Uint8Array, VerifyOptions)
Het ondertekende blok met gegevens controleren
Voorbeeldgebruik:
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>
Parameters
- algorithm
-
string
Het algoritme waarmee moet worden gecontroleerd.
- data
-
Uint8Array
Het ondertekende blok met gegevens dat moet worden gecontroleerd.
- signature
-
Uint8Array
De handtekening om het blok tegen te verifiëren.
- options
- VerifyOptions
Aanvullende opties.
Retouren
Promise<VerifyResult>
wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)
Verpakt de opgegeven sleutel met behulp van het opgegeven cryptografie-algoritme
Voorbeeldgebruik:
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>
Parameters
- algorithm
- KeyWrapAlgorithm
Het versleutelingsalgoritmen dat moet worden gebruikt om de opgegeven sleutel te verpakken.
- key
-
Uint8Array
De sleutel om te verpakken.
- options
- WrapKeyOptions
Aanvullende opties.
Retouren
Promise<WrapResult>