SPKAC is a Certificate Signing Request mechanism originally implemented by Netscape and was specified formally as part of HTML5's keygen element.

<keygen> is deprecated since HTML 5.2 and new projects should not use this element anymore.

The node:crypto module provides the Certificate class for working with SPKAC data. The most common usage is handling output generated by the HTML5 <keygen> element. Node.js uses OpenSSL's SPKAC implementation internally.

v0.11.8

Constructors

Methods

  • Parameters

    Returns Buffer

    The challenge component of the spkac data structure, which includes a public key and a challenge.

  • Parameters

    • spkac: BinaryLike
    • Optionalencoding: string

      The encoding of the spkac string.

    Returns Buffer

    The public key component of the spkac data structure, which includes a public key and a challenge.

  • Parameters

    • spkac: ArrayBufferView

    Returns boolean

    true if the given spkac data structure is valid, false otherwise.

  • const { Certificate } = await import('node:crypto');
    const spkac = getSpkacSomehow();
    const challenge = Certificate.exportChallenge(spkac);
    console.log(challenge.toString('utf8'));
    // Prints: the challenge as a UTF8 string

    Parameters

    Returns Buffer

    The challenge component of the spkac data structure, which includes a public key and a challenge.

    v9.0.0

  • const { Certificate } = await import('node:crypto');
    const spkac = getSpkacSomehow();
    const publicKey = Certificate.exportPublicKey(spkac);
    console.log(publicKey);
    // Prints: the public key as <Buffer ...>

    Parameters

    • spkac: BinaryLike
    • Optionalencoding: string

      The encoding of the spkac string.

    Returns Buffer

    The public key component of the spkac data structure, which includes a public key and a challenge.

    v9.0.0

  • import { Buffer } from 'node:buffer';
    const { Certificate } = await import('node:crypto');

    const spkac = getSpkacSomehow();
    console.log(Certificate.verifySpkac(Buffer.from(spkac)));
    // Prints: true or false

    Parameters

    • spkac: ArrayBufferView

    Returns boolean

    true if the given spkac data structure is valid, false otherwise.

    v9.0.0