CryptographyClient class

عميل يستخدم لتنفيذ عمليات التشفير على مفتاح Azure Key vault أو JsonWebKey محلي.

المنشئون

CryptographyClient(JsonWebKey_2)

إنشاء مثيل جديد لعميل التشفير للمفتاح المحدد في الوضع المحلي.

استخدام المثال:

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

const jsonWebKey: JsonWebKey = {
  // ...
};
const client = new CryptographyClient(jsonWebKey);
CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

إنشاء مثيل جديد لعميل التشفير للمفتاح المحدد

استخدام المثال:

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

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let keyClient = new KeyClient(vaultUrl, credentials);
let keyVaultKey = await keyClient.getKey("MyKey");

let client = new CryptographyClient(keyVaultKey.id, credentials);
// or
let client = new CryptographyClient(keyVaultKey, credentials);

الخصائص

keyID

معرف المفتاح المستخدم لتنفيذ عمليات التشفير للعميل.

vaultUrl

عنوان URL الأساسي للمخزن. إذا تم استخدام JsonWebKey محلي، فسيكون vaultUrl فارغا.

الأساليب

decrypt(DecryptParameters, DecryptOptions)

فك تشفير النص المشفر المحدد باستخدام معلمات فك التشفير المحددة. اعتمادا على الخوارزمية المستخدمة في معلمات فك التشفير، ستتغير مجموعة معلمات فك التشفير المحتملة.

توصي Microsoft بعدم استخدام CBC دون التأكد أولا من تكامل النص المشفر باستخدام، على سبيل المثال، HMAC. راجع https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode لمزيد من المعلومات.

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt({ algorithm: "RSA1_5", ciphertext: encryptedBuffer });
let result = await client.decrypt({ algorithm: "A256GCM", iv: ivFromEncryptResult, authenticationTag: tagFromEncryptResult });
decrypt(string, Uint8Array, DecryptOptions)

فك تشفير النص المشفر المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt("RSA1_5", encryptedBuffer);

توصي Microsoft بعدم استخدام CBC دون التأكد أولا من تكامل النص المشفر باستخدام، على سبيل المثال، HMAC. راجع https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode لمزيد من المعلومات.

encrypt(EncryptParameters, EncryptOptions)

تشفير النص العادي المحدد باستخدام معلمات التشفير المحددة. اعتمادا على الخوارزمية التي تم تعيينها في معلمات التشفير، ستتغير مجموعة معلمات التشفير المحتملة.

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt({ algorithm: "RSA1_5", plaintext: Buffer.from("My Message")});
let result = await client.encrypt({ algorithm: "A256GCM", plaintext: Buffer.from("My Message"), additionalAuthenticatedData: Buffer.from("My authenticated data")});
encrypt(string, Uint8Array, EncryptOptions)

تشفير النص العادي المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt("RSA1_5", Buffer.from("My Message"));
sign(string, Uint8Array, SignOptions)

توقيع ملخص رسالة بشكل مشفر

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.sign("RS256", digest);
signData(string, Uint8Array, SignOptions)

توقيع كتلة من البيانات بشكل مشفر

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.signData("RS256", message);
unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

إلغاء تضمين المفتاح الملتف المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.unwrapKey("RSA1_5", keyToUnwrap);
verify(string, Uint8Array, Uint8Array, VerifyOptions)

التحقق من ملخص الرسالة الموقعة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verify("RS256", signedDigest, signature);
verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

التحقق من كتلة البيانات الموقعة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verifyData("RS256", signedMessage, signature);
wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

يلتف المفتاح المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.wrapKey("RSA1_5", keyToWrap);

تفاصيل المنشئ

CryptographyClient(JsonWebKey_2)

إنشاء مثيل جديد لعميل التشفير للمفتاح المحدد في الوضع المحلي.

استخدام المثال:

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

const jsonWebKey: JsonWebKey = {
  // ...
};
const client = new CryptographyClient(jsonWebKey);
new CryptographyClient(key: JsonWebKey_2)

المعلمات

key
JsonWebKey

JsonWebKey لاستخدامه أثناء عمليات التشفير.

CryptographyClient(string | KeyVaultKey, TokenCredential, CryptographyClientOptions)

إنشاء مثيل جديد لعميل التشفير للمفتاح المحدد

استخدام المثال:

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

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let keyClient = new KeyClient(vaultUrl, credentials);
let keyVaultKey = await keyClient.getKey("MyKey");

let client = new CryptographyClient(keyVaultKey.id, credentials);
// or
let client = new CryptographyClient(keyVaultKey, credentials);
new CryptographyClient(key: string | KeyVaultKey, credential: TokenCredential, pipelineOptions?: CryptographyClientOptions)

المعلمات

key

string | KeyVaultKey

المفتاح المراد استخدامه أثناء مهام التشفير. يمكنك أيضا تمرير معرف المفتاح أي عنوان url الخاص به هنا.

credential
TokenCredential

عنصر ينفذ الواجهة TokenCredential المستخدمة لمصادقة الطلبات إلى الخدمة. استخدم الحزمة @azure/identity لإنشاء بيانات اعتماد تناسب احتياجاتك.

pipelineOptions
CryptographyClientOptions

خيارات البنية الأساسية لبرنامج ربط العمليات التجارية المستخدمة لتكوين طلبات واجهة برمجة التطبيقات Key Vault. حذف هذه المعلمة لاستخدام تكوين البنية الأساسية لبرنامج ربط العمليات التجارية الافتراضي.

تفاصيل الخاصية

keyID

معرف المفتاح المستخدم لتنفيذ عمليات التشفير للعميل.

undefined | string keyID

قيمة الخاصية

undefined | string

vaultUrl

عنوان URL الأساسي للمخزن. إذا تم استخدام JsonWebKey محلي، فسيكون vaultUrl فارغا.

string vaultUrl

قيمة الخاصية

string

تفاصيل الأسلوب

decrypt(DecryptParameters, DecryptOptions)

فك تشفير النص المشفر المحدد باستخدام معلمات فك التشفير المحددة. اعتمادا على الخوارزمية المستخدمة في معلمات فك التشفير، ستتغير مجموعة معلمات فك التشفير المحتملة.

توصي Microsoft بعدم استخدام CBC دون التأكد أولا من تكامل النص المشفر باستخدام، على سبيل المثال، HMAC. راجع https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode لمزيد من المعلومات.

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt({ algorithm: "RSA1_5", ciphertext: encryptedBuffer });
let result = await client.decrypt({ algorithm: "A256GCM", iv: ivFromEncryptResult, authenticationTag: tagFromEncryptResult });
function decrypt(decryptParameters: DecryptParameters, options?: DecryptOptions): Promise<DecryptResult>

المعلمات

decryptParameters
DecryptParameters

معلمات فك التشفير.

options
DecryptOptions

خيارات إضافية.

المرتجعات

Promise<DecryptResult>

decrypt(string, Uint8Array, DecryptOptions)

تحذير

واجهة برمجة التطبيقات هذه مهملة الآن.

Use decrypt({ algorithm, ciphertext }, options) instead.

فك تشفير النص المشفر المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.decrypt("RSA1_5", encryptedBuffer);

توصي Microsoft بعدم استخدام CBC دون التأكد أولا من تكامل النص المشفر باستخدام، على سبيل المثال، HMAC. راجع https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode لمزيد من المعلومات.

function decrypt(algorithm: string, ciphertext: Uint8Array, options?: DecryptOptions): Promise<DecryptResult>

المعلمات

algorithm

string

الخوارزمية المراد استخدامها.

ciphertext

Uint8Array

النص المراد فك تشفيره.

options
DecryptOptions

خيارات إضافية.

المرتجعات

Promise<DecryptResult>

encrypt(EncryptParameters, EncryptOptions)

تشفير النص العادي المحدد باستخدام معلمات التشفير المحددة. اعتمادا على الخوارزمية التي تم تعيينها في معلمات التشفير، ستتغير مجموعة معلمات التشفير المحتملة.

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt({ algorithm: "RSA1_5", plaintext: Buffer.from("My Message")});
let result = await client.encrypt({ algorithm: "A256GCM", plaintext: Buffer.from("My Message"), additionalAuthenticatedData: Buffer.from("My authenticated data")});
function encrypt(encryptParameters: EncryptParameters, options?: EncryptOptions): Promise<EncryptResult>

المعلمات

encryptParameters
EncryptParameters

معلمات التشفير، التي تم تحديدها على خوارزمية التشفير المختارة.

options
EncryptOptions

خيارات إضافية.

المرتجعات

Promise<EncryptResult>

encrypt(string, Uint8Array, EncryptOptions)

تحذير

واجهة برمجة التطبيقات هذه مهملة الآن.

Use encrypt({ algorithm, plaintext }, options) instead.

تشفير النص العادي المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.encrypt("RSA1_5", Buffer.from("My Message"));
function encrypt(algorithm: string, plaintext: Uint8Array, options?: EncryptOptions): Promise<EncryptResult>

المعلمات

algorithm

string

الخوارزمية المراد استخدامها.

plaintext

Uint8Array

النص المراد تشفيره.

options
EncryptOptions

خيارات إضافية.

المرتجعات

Promise<EncryptResult>

sign(string, Uint8Array, SignOptions)

توقيع ملخص رسالة بشكل مشفر

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.sign("RS256", digest);
function sign(algorithm: string, digest: Uint8Array, options?: SignOptions): Promise<SignResult>

المعلمات

algorithm

string

خوارزمية التوقيع المراد استخدامها.

digest

Uint8Array

ملخص البيانات المراد توقيعها.

options
SignOptions

خيارات إضافية.

المرتجعات

Promise<SignResult>

signData(string, Uint8Array, SignOptions)

توقيع كتلة من البيانات بشكل مشفر

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.signData("RS256", message);
function signData(algorithm: string, data: Uint8Array, options?: SignOptions): Promise<SignResult>

المعلمات

algorithm

string

خوارزمية التوقيع المراد استخدامها.

data

Uint8Array

البيانات المراد توقيعها.

options
SignOptions

خيارات إضافية.

المرتجعات

Promise<SignResult>

unwrapKey(KeyWrapAlgorithm, Uint8Array, UnwrapKeyOptions)

إلغاء تضمين المفتاح الملتف المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.unwrapKey("RSA1_5", keyToUnwrap);
function unwrapKey(algorithm: KeyWrapAlgorithm, encryptedKey: Uint8Array, options?: UnwrapKeyOptions): Promise<UnwrapResult>

المعلمات

algorithm
KeyWrapAlgorithm

خوارزمية فك التشفير لاستخدامها في فك تشفير المفتاح.

encryptedKey

Uint8Array

المفتاح المشفر لإلغاء التفكير.

options
UnwrapKeyOptions

خيارات إضافية.

المرتجعات

Promise<UnwrapResult>

verify(string, Uint8Array, Uint8Array, VerifyOptions)

التحقق من ملخص الرسالة الموقعة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verify("RS256", signedDigest, signature);
function verify(algorithm: string, digest: Uint8Array, signature: Uint8Array, options?: VerifyOptions): Promise<VerifyResult>

المعلمات

algorithm

string

خوارزمية التوقيع لاستخدامها للتحقق مع.

digest

Uint8Array

الملخص للتحقق.

signature

Uint8Array

التوقيع للتحقق من الملخص مقابله.

options
VerifyOptions

خيارات إضافية.

المرتجعات

Promise<VerifyResult>

verifyData(string, Uint8Array, Uint8Array, VerifyOptions)

التحقق من كتلة البيانات الموقعة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.verifyData("RS256", signedMessage, signature);
function verifyData(algorithm: string, data: Uint8Array, signature: Uint8Array, options?: VerifyOptions): Promise<VerifyResult>

المعلمات

algorithm

string

الخوارزمية التي يجب استخدامها للتحقق مع.

data

Uint8Array

كتلة البيانات الموقعة للتحقق منها.

signature

Uint8Array

التوقيع للتحقق من الكتلة مقابله.

options
VerifyOptions

خيارات إضافية.

المرتجعات

Promise<VerifyResult>

wrapKey(KeyWrapAlgorithm, Uint8Array, WrapKeyOptions)

يلتف المفتاح المحدد باستخدام خوارزمية التشفير المحددة

استخدام المثال:

let client = new CryptographyClient(keyVaultKey, credentials);
let result = await client.wrapKey("RSA1_5", keyToWrap);
function wrapKey(algorithm: KeyWrapAlgorithm, key: Uint8Array, options?: WrapKeyOptions): Promise<WrapResult>

المعلمات

algorithm
KeyWrapAlgorithm

خوارزمية التشفير المراد استخدامها لتضمين المفتاح المحدد.

key

Uint8Array

المفتاح المراد التفافه.

options
WrapKeyOptions

خيارات إضافية.

المرتجعات

Promise<WrapResult>