Interface StdSubtleCrypto

Extensions to the web standard SubtleCrypto interface.

interface StdSubtleCrypto {
    decrypt(algorithm:
        | AlgorithmIdentifier
        | RsaOaepParams
        | AesCtrParams
        | AesCbcParams
        | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
    deriveBits(algorithm:
        | AlgorithmIdentifier
        | EcdhKeyDeriveParams
        | HkdfParams
        | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
    deriveKey(algorithm:
        | AlgorithmIdentifier
        | EcdhKeyDeriveParams
        | HkdfParams
        | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType:
        | AlgorithmIdentifier
        | HkdfParams
        | Pbkdf2Params
        | AesDerivedKeyParams
        | HmacImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
    digest(algorithm: DigestAlgorithm, data: BufferSource | AsyncIterable<BufferSource, any, any> | Iterable<BufferSource, any, any>): Promise<ArrayBuffer>;
    digestSync(algorithm: DigestAlgorithm, data: BufferSource | Iterable<BufferSource, any, any>): ArrayBuffer;
    encrypt(algorithm:
        | AlgorithmIdentifier
        | RsaOaepParams
        | AesCtrParams
        | AesCbcParams
        | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
    exportKey(format: "jwk", key: CryptoKey): Promise<JsonWebKey>;
    exportKey(format: "pkcs8" | "raw" | "spki", key: CryptoKey): Promise<ArrayBuffer>;
    exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;
    generateKey(algorithm: "Ed25519", extractable: boolean, keyUsages: readonly ("sign" | "verify")[]): Promise<CryptoKeyPair>;
    generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKeyPair>;
    generateKey(algorithm: Pbkdf2Params | AesKeyGenParams | HmacKeyGenParams, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKey>;
    generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey | CryptoKeyPair>;
    importKey(format: "jwk", keyData: JsonWebKey, algorithm:
        | AlgorithmIdentifier
        | HmacImportParams
        | RsaHashedImportParams
        | EcKeyImportParams
        | AesKeyAlgorithm, extractable: boolean, keyUsages: readonly KeyUsage[]): Promise<CryptoKey>;
    importKey(format: "pkcs8" | "raw" | "spki", keyData: BufferSource, algorithm:
        | AlgorithmIdentifier
        | HmacImportParams
        | RsaHashedImportParams
        | EcKeyImportParams
        | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
    sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
    unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm:
        | AlgorithmIdentifier
        | RsaOaepParams
        | AesCtrParams
        | AesCbcParams
        | AesGcmParams, unwrappedKeyAlgorithm:
        | AlgorithmIdentifier
        | HmacImportParams
        | RsaHashedImportParams
        | EcKeyImportParams
        | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
    verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;
    wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm:
        | AlgorithmIdentifier
        | RsaOaepParams
        | AesCtrParams
        | AesCbcParams
        | AesGcmParams): Promise<ArrayBuffer>;
}
Hierarchy
  • SubtleCrypto
    • StdSubtleCrypto

Methods

  • Parameters

    • algorithm:
          | AlgorithmIdentifier
          | RsaOaepParams
          | AesCtrParams
          | AesCbcParams
          | AesGcmParams
    • key: CryptoKey
    • data: BufferSource

    Returns Promise<ArrayBuffer>

  • Parameters

    • algorithm:
          | AlgorithmIdentifier
          | EcdhKeyDeriveParams
          | HkdfParams
          | Pbkdf2Params
    • baseKey: CryptoKey
    • length: number

    Returns Promise<ArrayBuffer>

  • Parameters

    • algorithm:
          | AlgorithmIdentifier
          | EcdhKeyDeriveParams
          | HkdfParams
          | Pbkdf2Params
    • baseKey: CryptoKey
    • derivedKeyType:
          | AlgorithmIdentifier
          | HkdfParams
          | Pbkdf2Params
          | AesDerivedKeyParams
          | HmacImportParams
    • extractable: boolean
    • keyUsages: KeyUsage[]

    Returns Promise<CryptoKey>

  • Returns a new Promise object that will digest data using the specified AlgorithmIdentifier.

    Parameters

    • algorithm: DigestAlgorithm
    • data: BufferSource | AsyncIterable<BufferSource, any, any> | Iterable<BufferSource, any, any>

    Returns Promise<ArrayBuffer>

  • Returns a ArrayBuffer with the result of digesting data using the specified AlgorithmIdentifier.

    Parameters

    • algorithm: DigestAlgorithm
    • data: BufferSource | Iterable<BufferSource, any, any>

    Returns ArrayBuffer

  • Parameters

    • algorithm:
          | AlgorithmIdentifier
          | RsaOaepParams
          | AesCtrParams
          | AesCbcParams
          | AesGcmParams
    • key: CryptoKey
    • data: BufferSource

    Returns Promise<ArrayBuffer>

  • Parameters

    • format: "jwk"
    • key: CryptoKey

    Returns Promise<JsonWebKey>

  • Parameters

    • format: "pkcs8" | "raw" | "spki"
    • key: CryptoKey

    Returns Promise<ArrayBuffer>

  • Parameters

    • format: KeyFormat
    • key: CryptoKey

    Returns Promise<ArrayBuffer | JsonWebKey>

  • Parameters

    • algorithm: "Ed25519"
    • extractable: boolean
    • keyUsages: readonly ("sign" | "verify")[]

    Returns Promise<CryptoKeyPair>

  • Parameters

    • algorithm: RsaHashedKeyGenParams | EcKeyGenParams
    • extractable: boolean
    • keyUsages: readonly KeyUsage[]

    Returns Promise<CryptoKeyPair>

  • Parameters

    • algorithm: Pbkdf2Params | AesKeyGenParams | HmacKeyGenParams
    • extractable: boolean
    • keyUsages: readonly KeyUsage[]

    Returns Promise<CryptoKey>

  • Parameters

    • algorithm: AlgorithmIdentifier
    • extractable: boolean
    • keyUsages: KeyUsage[]

    Returns Promise<CryptoKey | CryptoKeyPair>

  • Parameters

    • format: "jwk"
    • keyData: JsonWebKey
    • algorithm:
          | AlgorithmIdentifier
          | HmacImportParams
          | RsaHashedImportParams
          | EcKeyImportParams
          | AesKeyAlgorithm
    • extractable: boolean
    • keyUsages: readonly KeyUsage[]

    Returns Promise<CryptoKey>

  • Parameters

    • format: "pkcs8" | "raw" | "spki"
    • keyData: BufferSource
    • algorithm:
          | AlgorithmIdentifier
          | HmacImportParams
          | RsaHashedImportParams
          | EcKeyImportParams
          | AesKeyAlgorithm
    • extractable: boolean
    • keyUsages: KeyUsage[]

    Returns Promise<CryptoKey>

  • Parameters

    • algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams
    • key: CryptoKey
    • data: BufferSource

    Returns Promise<ArrayBuffer>

  • Parameters

    • format: KeyFormat
    • wrappedKey: BufferSource
    • unwrappingKey: CryptoKey
    • unwrapAlgorithm:
          | AlgorithmIdentifier
          | RsaOaepParams
          | AesCtrParams
          | AesCbcParams
          | AesGcmParams
    • unwrappedKeyAlgorithm:
          | AlgorithmIdentifier
          | HmacImportParams
          | RsaHashedImportParams
          | EcKeyImportParams
          | AesKeyAlgorithm
    • extractable: boolean
    • keyUsages: KeyUsage[]

    Returns Promise<CryptoKey>

  • Parameters

    • algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams
    • key: CryptoKey
    • signature: BufferSource
    • data: BufferSource

    Returns Promise<boolean>

  • Parameters

    • format: KeyFormat
    • key: CryptoKey
    • wrappingKey: CryptoKey
    • wrapAlgorithm:
          | AlgorithmIdentifier
          | RsaOaepParams
          | AesCtrParams
          | AesCbcParams
          | AesGcmParams

    Returns Promise<ArrayBuffer>