Skip to main content

Implementing the Web Crypto API for Node.js Core

The Web Cryptography (or Web Crypto) API is a collection of W3C standardised cryptography primitives defined in the Web Cryptography API specification. It was created after several browsers began adding their own non-interoperable cryptography functions... Read More: https://www.nearform.com/blog/implementing-the-web-cryptography-api-for-node-js-core/

generate-aes-key.js
const { subtle } = require('crypto').webcrypto
 
// Node.js Web Crypto only supports 128-bit and 256-bit AES keys
async function generateKey(length) {
  return subtle.generateKey({ name: 'AES-CBC', length }, true, [
    'encrypt',
    'decrypt',
  ])
}
generate-ec-pair.js
const { subtle } = require('crypto').webcrypto
 
async function generateKeyPair() {
  return subtle.generateKey({ name: 'ECDSA', namedCurve: 'P-521' }, false, [
    'sign',
    'verify',
  ])
}