Crypto KMS
    Preparing search index...

    Class GcpKmsProvider

    Google Cloud KMS adapter.

    Wraps the @google-cloud/kms SDK to provide the unified KmsProvider interface. Install @google-cloud/kms as a peer dependency.

    const provider = new GcpKmsProvider({
    projectId: "my-project",
    locationId: "us-east1",
    keyRingId: "my-ring",
    });
    const key = await provider.createKey("aes-256-gcm", "encrypt");

    Implements

    Index
    name: "gcp"

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