CryptographyClient class
Azure Key Vault 키 또는 로컬 JsonWebKey에서 암호화 작업을 수행하는 데 사용되는 클라이언트입니다.
생성자
Cryptography |
로컬 모드에서 지정된 키에 대한 Cryptography 클라이언트의 새 인스턴스를 생성합니다. 사용 예제:
|
Cryptography |
지정된 키에 대한 Cryptography 클라이언트의 새 인스턴스를 생성합니다. 예제 사용법:
|
속성
keyID | 클라이언트에 대한 암호화 작업을 수행하는 데 사용되는 키의 ID입니다. |
vault |
자격 증명 모음의 기본 URL입니다. 로컬 JsonWebKey 가 사용되는 경우 vaultUrl은 비어 있습니다. |
메서드
decrypt(Decrypt |
지정된 암호 해독 매개 변수를 사용하여 지정된 암호 텍스트를 해독합니다. 암호 해독 매개 변수에 사용되는 알고리즘에 따라 가능한 암호 해독 매개 변수 집합이 변경됩니다. Microsoft는 먼저 HMAC를 사용하여 암호 텍스트의 무결성을 보장하지 않고 CBC를 사용하지 않는 것이 좋습니다. 자세한 내용은 https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode 을 참조하세요. 예제 사용법:
|
decrypt(string, Uint8Array, Decrypt |
지정된 암호화 알고리즘을 사용하여 지정된 암호화의 암호를 해독합니다. 예제 사용법:
Microsoft는 먼저 HMAC를 사용하여 암호 텍스트의 무결성을 보장하지 않고 CBC를 사용하지 않는 것이 좋습니다. 자세한 내용은 https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode 을 참조하세요. |
encrypt(Encrypt |
지정된 암호화 매개 변수를 사용하여 지정된 일반 텍스트를 암호화합니다. 암호화 매개 변수에 설정된 알고리즘에 따라 가능한 암호화 매개 변수 집합이 변경됩니다. 예제 사용법:
|
encrypt(string, Uint8Array, Encrypt |
지정된 암호화 알고리즘을 사용하여 지정된 일반 텍스트를 암호화합니다. 예제 사용법:
|
sign(string, Uint8Array, Sign |
메시지 다이제스트에 암호화 서명 예제 사용법:
|
sign |
데이터 블록에 암호화 서명 사용 예제:
|
unwrap |
지정된 암호화 알고리즘을 사용하여 지정된 래핑된 키 래핑 해제 예제 사용법:
|
verify(string, Uint8Array, Uint8Array, Verify |
서명된 메시지 다이제스트 확인 예제 사용법:
|
verify |
서명된 데이터 블록 확인 예제 사용법:
|
wrap |
지정된 암호화 알고리즘을 사용하여 지정된 키를 래핑합니다. 예제 사용법:
|
생성자 세부 정보
CryptographyClient(JsonWebKey_2)
로컬 모드에서 지정된 키에 대한 Cryptography 클라이언트의 새 인스턴스를 생성합니다.
사용 예제:
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
메서드 세부 정보
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>