Share via


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)

指定されたキーの Cryptography クライアントの新しいインスタンスを構築します

使用例:

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

クライアントの暗号化操作を実行するために使用されるキーの ID。

vaultUrl

コンテナーのベース URL。 ローカルの JsonWebKey が使用されている場合、vaultUrl は空になります。

メソッド

decrypt(DecryptParameters, DecryptOptions)

指定した暗号化解除パラメーターを使用して、指定された暗号テキストを復号化します。 復号化パラメーターで使用されるアルゴリズムに応じて、可能な復号化パラメーターのセットが変更されます。

Microsoft では、最初に HMAC などを使用して暗号テキストの整合性を確保せずに CBC を使用しないことをお勧めします。 詳細については、「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 では、最初に HMAC などを使用して暗号テキストの整合性を確保せずに CBC を使用しないことをお勧めします。 詳細については、「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)

指定されたキーの Cryptography クライアントの新しいインスタンスを構築します

使用例:

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

クライアントの暗号化操作を実行するために使用されるキーの ID。

undefined | string keyID

プロパティ値

undefined | string

vaultUrl

コンテナーのベース URL。 ローカルの JsonWebKey が使用されている場合、vaultUrl は空になります。

string vaultUrl

プロパティ値

string

メソッドの詳細

decrypt(DecryptParameters, DecryptOptions)

指定した暗号化解除パラメーターを使用して、指定された暗号テキストを復号化します。 復号化パラメーターで使用されるアルゴリズムに応じて、可能な復号化パラメーターのセットが変更されます。

Microsoft では、最初に HMAC などを使用して暗号テキストの整合性を確保せずに CBC を使用しないことをお勧めします。 詳細については、「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);

Microsoft では、最初に HMAC などを使用して暗号テキストの整合性を確保せずに CBC を使用しないことをお勧めします。 詳細については、「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>