Поделиться через


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)

Расшифровывает указанный зашифрованный текст с указанными параметрами расшифровки. В зависимости от алгоритма, используемого в параметрах расшифровки, набор возможных параметров расшифровки изменится.

Корпорация Майкрософт рекомендует не использовать 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);

Корпорация Майкрософт рекомендует не использовать 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 запросов API. Пропустите этот параметр, чтобы использовать конфигурацию конвейера по умолчанию.

Сведения о свойстве

keyID

Идентификатор ключа, используемого для выполнения криптографических операций для клиента.

undefined | string keyID

Значение свойства

undefined | string

vaultUrl

Базовый URL-адрес хранилища. Если используется локальный JsonWebKey , vaultUrl будет пустым.

string vaultUrl

Значение свойства

string

Сведения о методе

decrypt(DecryptParameters, DecryptOptions)

Расшифровывает указанный зашифрованный текст с указанными параметрами расшифровки. В зависимости от алгоритма, используемого в параметрах расшифровки, набор возможных параметров расшифровки изменится.

Корпорация Майкрософт рекомендует не использовать 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)

Предупреждение

Теперь этот API является нерекомендуемым.

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

Расшифровывает указанный зашифрованный текст с помощью указанного алгоритма шифрования.

Пример использования:

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

Корпорация Майкрософт рекомендует не использовать 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)

Предупреждение

Теперь этот API является нерекомендуемым.

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>