Crypto KMS
    Preparing search index...

    Class AzureKmsProvider

    Azure Key Vault adapter.

    Wraps the @azure/keyvault-keys SDK to provide the unified KmsProvider interface. Install @azure/keyvault-keys as a peer dependency.

    const provider = new AzureKmsProvider({
    vaultUrl: "https://my-vault.vault.azure.net",
    });
    const key = await provider.createKey("rsa-2048", "encrypt");

    Implements

    Index
    name: "azure"

    Provider identifier.

    • Create a new key with the given algorithm and usage.

      Parameters

      • _algorithm: string
      • _usage: "encrypt" | "sign" | "wrap"
      • Optional_metadata: Record<string, string>

      Returns Promise<KmsKeyMetadata>

    • Disable a key so it cannot be used for operations.

      Parameters

      • _keyId: string

      Returns Promise<void>

    • Schedule a key for deletion after a pending window.

      Parameters

      • _keyId: string
      • Optional_pendingWindowDays: number

      Returns Promise<void>

    • Encrypt plaintext using a managed key.

      Parameters

      • _keyId: string
      • _plaintext: Uint8Array
      • Optional_context: Record<string, string>

      Returns Promise<KmsEncryptResult>

    • Decrypt ciphertext using a managed key.

      Parameters

      • _keyId: string
      • _ciphertext: string
      • Optional_context: Record<string, string>

      Returns Promise<KmsDecryptResult>

    • Sign data using a managed signing key.

      Parameters

      • _keyId: string
      • _data: Uint8Array
      • Optional_algorithm: string

      Returns Promise<KmsSignResult>

    • Verify a signature against data.

      Parameters

      • _keyId: string
      • _data: Uint8Array
      • _signature: string
      • Optional_algorithm: string

      Returns Promise<boolean>

    • Generate a data encryption key (DEK) wrapped by the managed key.

      Parameters

      • _keyId: string
      • Optional_keySpec: string

      Returns Promise<{ plaintext: Uint8Array; ciphertext: string }>