Package version:

Class CryptographyClient

A client used to perform cryptographic operations on an Azure Key vault key or a local JsonWebKey.

Hierarchy

  • CryptographyClient

Constructors

  • Constructs a new instance of the Cryptography client for the given key

    Example usage:

    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);

    Parameters

    • key: string | KeyVaultKey

      The key to use during cryptography tasks. You can also pass the identifier of the key i.e its url here.

    • credential: TokenCredential

      An object that implements the TokenCredential interface used to authenticate requests to the service. Use the @azure/identity package to create a credential that suits your needs.

    • Optional pipelineOptions: CryptographyClientOptions

      Pipeline options used to configure Key Vault API requests. Omit this parameter to use the default pipeline configuration.

    Returns CryptographyClient

  • Constructs a new instance of the Cryptography client for the given key in local mode.

    Example usage:

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

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

    Parameters

    • key: JsonWebKey

      The JsonWebKey to use during cryptography operations.

    Returns CryptographyClient

Accessors

  • get keyID(): undefined | string
  • The ID of the key used to perform cryptographic operations for the client.

    Returns undefined | string

Methods

  • Decrypts the given ciphertext with the specified decryption parameters. Depending on the algorithm used in the decryption parameters, the set of possible decryption parameters will change.

    Microsoft recommends you not use CBC without first ensuring the integrity of the ciphertext using, for example, an HMAC. See https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode for more information.

    Example usage:

    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 });

    Parameters

    Returns Promise<DecryptResult>

  • Decrypts the given ciphertext with the specified cryptography algorithm

    Example usage:

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

    Microsoft recommends you not use CBC without first ensuring the integrity of the ciphertext using, for example, an HMAC. See https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode for more information.

    Deprecated

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

    Parameters

    • algorithm: string

      The algorithm to use.

    • ciphertext: Uint8Array

      The text to decrypt.

    • Optional options: DecryptOptions

      Additional options.

    Returns Promise<DecryptResult>

  • Encrypts the given plaintext with the specified encryption parameters. Depending on the algorithm set in the encryption parameters, the set of possible encryption parameters will change.

    Example usage:

    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")});

    Parameters

    • encryptParameters: EncryptParameters

      The encryption parameters, keyed on the encryption algorithm chosen.

    • Optional options: EncryptOptions

      Additional options.

    Returns Promise<EncryptResult>

  • Encrypts the given plaintext with the specified cryptography algorithm

    Example usage:

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

    Deprecated

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

    Parameters

    • algorithm: string

      The algorithm to use.

    • plaintext: Uint8Array

      The text to encrypt.

    • Optional options: EncryptOptions

      Additional options.

    Returns Promise<EncryptResult>

  • Cryptographically sign the digest of a message

    Example usage:

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

    Parameters

    • algorithm: string

      The signing algorithm to use.

    • digest: Uint8Array

      The digest of the data to sign.

    • options: SignOptions = {}

      Additional options.

    Returns Promise<SignResult>

  • Cryptographically sign a block of data

    Example usage:

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

    Parameters

    • algorithm: string

      The signing algorithm to use.

    • data: Uint8Array

      The data to sign.

    • options: SignOptions = {}

      Additional options.

    Returns Promise<SignResult>

  • Unwraps the given wrapped key using the specified cryptography algorithm

    Example usage:

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

    Parameters

    • algorithm: KeyWrapAlgorithm

      The decryption algorithm to use to unwrap the key.

    • encryptedKey: Uint8Array

      The encrypted key to unwrap.

    • options: UnwrapKeyOptions = {}

      Additional options.

    Returns Promise<UnwrapResult>

  • Verify the signed message digest

    Example usage:

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

    Parameters

    • algorithm: string

      The signing algorithm to use to verify with.

    • digest: Uint8Array

      The digest to verify.

    • signature: Uint8Array

      The signature to verify the digest against.

    • options: VerifyOptions = {}

      Additional options.

    Returns Promise<VerifyResult>

  • Verify the signed block of data

    Example usage:

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

    Parameters

    • algorithm: string

      The algorithm to use to verify with.

    • data: Uint8Array

      The signed block of data to verify.

    • signature: Uint8Array

      The signature to verify the block against.

    • options: VerifyOptions = {}

      Additional options.

    Returns Promise<VerifyResult>

  • Wraps the given key using the specified cryptography algorithm

    Example usage:

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

    Parameters

    • algorithm: KeyWrapAlgorithm

      The encryption algorithm to use to wrap the given key.

    • key: Uint8Array

      The key to wrap.

    • options: WrapKeyOptions = {}

      Additional options.

    Returns Promise<WrapResult>

Generated using TypeDoc