Web Cryptography API

Web Cryptography API in W3C

Web Cryptography API Tutorial by NARAYAN PRUSTY

Supported Cryptography Algorithms

Web Cryptography API Interface

enum KeyFormat { "raw", "spki", "pkcs8", "jwk" };

[Exposed=(Window,Worker)]
interface SubtleCrypto {
  Promise encrypt(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);
  Promise decrypt(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);
  Promise sign(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource data);
  Promise verify(AlgorithmIdentifier algorithm, CryptoKey key, BufferSource signature, BufferSource data);
  Promise digest(AlgorithmIdentifier algorithm, BufferSource data);
  Promise generateKey(AlgorithmIdentifier algorithm, boolean extractable, sequence keyUsages );
  Promise deriveKey(AlgorithmIdentifier algorithm, CryptoKey baseKey, AlgorithmIdentifier derivedKeyType,
                         boolean extractable, sequence keyUsages );
  Promise deriveBits(AlgorithmIdentifier algorithm, CryptoKey baseKey, unsigned long length);  
  Promise importKey(KeyFormat format, (BufferSource or JsonWebKey) keyData, AlgorithmIdentifier algorithm,
                         boolean extractable, sequence keyUsages );
  Promise exportKey(KeyFormat format, CryptoKey key);
  Promise wrapKey(KeyFormat format, CryptoKey key, CryptoKey wrappingKey, AlgorithmIdentifier wrapAlgorithm);
  Promise unwrapKey(KeyFormat format, BufferSource wrappedKey, CryptoKey unwrappingKey,
                         AlgorithmIdentifier unwrapAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm,
                         boolean extractable, sequence keyUsages );
};

Web Cryptography API Live Table (local)