API index

Every documented primitive, grouped by namespace page — 167 primitives. Generated from the same source comments that build the rest of this site.

Constants

PrimitiveSinceStatus
C.TIME.days(n) -> milliseconds0.1.0stable
C.BYTES.mib(n) -> bytes0.1.0stable

Errors

PrimitiveSinceStatus
new PkiError(message, code)0.1.0stable
pki.errors.defineClass(name, opts?) -> constructor0.1.0stable

ASN.1 / DER

PrimitiveSinceStatus
pki.asn1.decode(bytes, opts?) -> node0.1.0stable
pki.asn1.read.oid(node) -> "1.2.840.113549.1.1.11"0.1.15stable
pki.asn1.encode(classBits, constructed, tagNumber, content) -> Buffer0.1.0stable
pki.asn1.build.sequence([ ...tlvBuffers ]) -> Buffer0.1.0stable

CBOR (deterministic)

PrimitiveSinceStatus
pki.cbor.decode(bytes, opts?) -> node0.1.27experimental
pki.cbor.read.uint(node) -> 0n0.1.27experimental
pki.cbor.read.nint(node) -> -1n0.1.27experimental
pki.cbor.read.int(node) -> -1n0.1.27experimental
pki.cbor.read.byteString(node) -> Buffer0.1.27experimental
pki.cbor.read.textString(node) -> "text"0.1.27experimental
pki.cbor.read.array(node) -> [node, ...]0.1.27experimental
pki.cbor.read.map(node) -> [[keyNode, valueNode], ...]0.1.27experimental
pki.cbor.read.mapGet(node, key) -> valueNode | null0.2.20experimental
pki.cbor.read.boolean(node) -> false0.1.27experimental
pki.cbor.read.nullValue(node) -> null0.1.27experimental
pki.cbor.read.undefinedValue(node) -> undefined0.1.27experimental
pki.cbor.read.float(node) -> 1.50.1.27experimental
pki.cbor.read.biguint(node) -> 18446744073709551616n0.1.27experimental
pki.cbor.read.time(node) -> Date0.1.27experimental
pki.cbor.read.oid(node) -> "2.5.4.3"0.1.27experimental

Object Identifiers

PrimitiveSinceStatus
pki.oid.name(dotted) -> string | undefined0.1.0stable
pki.oid.register(dotted, name) -> void0.1.0stable
pki.oid.registerFamily(base, members) -> void0.1.2stable
pki.oid.paramsMustBeAbsent(dotted) -> boolean0.1.21stable

WebCrypto

PrimitiveSinceStatus
new pki.webcrypto.CryptoKey(type, extractable, algorithm, usages, handle)0.1.0stable
await pki.webcrypto.subtle.exportKey(format, key)0.1.0stable
pki.webcrypto.getRandomValues(typedArray) / pki.webcrypto.subtle0.1.0stable

Certification path validation (RFC 5280 6)

PrimitiveSinceStatus
pki.path.validate(path, opts) -> Promise<result>0.1.16experimental
pki.path.crlChecker(crls) -> RevocationChecker0.1.16experimental
pki.path.ocspChecker(responses) -> RevocationChecker0.1.32experimental
pki.path.verifyOcspResponse(parsedResponse, cert, issuerCert, time, opts?) -> Promise<{ status, responderAuthorized, signatureValid, matched, thisUpdate, nextUpdate, revocationReason?, reason }>0.2.22experimental
pki.path.build(leaf, opts) -> Promise<{ valid, path, trustAnchor, result, candidatesConsidered, aiaFetches }>0.3.7experimental

Trust-store ingestion

PrimitiveSinceStatus
pki.trust.parseCertdata(text) -> { anchors }0.2.0experimental
pki.trust.parseCcadbCsv(text) -> { anchors }0.2.0experimental
pki.trust.anchor(entry, opts?) -> trustAnchor0.2.0experimental

JOSE (JWS / JWK)

PrimitiveSinceStatus
pki.jose.base64url.encode(bytes) -> string0.1.25stable
pki.jose.base64url.decode(text) -> Buffer0.1.25stable
pki.jose.parseJson(input) -> value0.1.25stable
pki.jose.assertPublicJwk(jwk) -> jwk0.1.25stable
pki.jose.verify(jws, opts) -> Promise<{ header, payload }>0.1.25stable
pki.jose.sign(opts) -> Promise<{ protected, payload, signature }>0.1.25stable
pki.jose.thumbprint(jwk) -> Promise<string>0.1.25stable

ACME

PrimitiveSinceStatus
pki.acme.assertTransition(kind, from, to) -> void0.1.25experimental
pki.acme.validateProblem(obj) -> obj0.1.25experimental
pki.acme.validate(kind, obj) -> obj0.1.25experimental
pki.acme.identify(obj) -> string0.1.25experimental
pki.acme.keyAuthorization(token, accountJwk) -> Promise<string>0.1.25experimental
pki.acme.http01(token, accountJwk) -> Promise<{ path, body }>0.1.25experimental
pki.acme.dns01(token, accountJwk, domain) -> Promise<{ name, value }>0.1.25experimental
pki.acme.tlsAlpn01Extension(token, accountJwk) -> Promise<Buffer>0.1.25experimental
pki.acme.verifyTlsAlpn01(certDer, token, accountJwk, identifier) -> Promise<void>0.1.25experimental
pki.acme.postAsGet(opts) -> Promise<object>0.1.25experimental
pki.acme.newAccount(opts) -> Promise<object>0.1.25experimental
pki.acme.externalAccountBinding(opts) -> Promise<object>0.1.25experimental
pki.acme.newOrder(opts) -> Promise<object>0.1.25experimental
pki.acme.finalize(opts) -> Promise<object>0.1.25experimental
pki.acme.challengeResponse(opts) -> Promise<object>0.1.25experimental
pki.acme.deactivate(opts) -> Promise<object>0.1.25experimental
pki.acme.revokeCert(opts) -> Promise<object>0.1.25experimental
pki.acme.keyChange(opts) -> Promise<object>0.1.25experimental
pki.acme.ariCertId(certDer) -> string0.1.25experimental
pki.acme.parseAriCertId(certId) -> { keyIdentifier, serial }0.1.25experimental
pki.acme.validateRenewalInfo(obj) -> obj0.1.25experimental
pki.acme.client(directoryUrl, opts) -> client0.3.18experimental

HPKE

PrimitiveSinceStatus
pki.hpke.setupS(suiteIds, recipientPublicKey, opts?) -> { enc, context }0.2.2experimental
pki.hpke.setupR(suiteIds, enc, recipientPrivateKey, opts?) -> context0.2.2experimental
pki.hpke.seal(suiteIds, recipientPublicKey, opts, aad, pt) -> { enc, ct }0.2.2experimental
pki.hpke.open(suiteIds, enc, recipientPrivateKey, opts, aad, ct) -> pt0.2.2experimental

Transport

PrimitiveSinceStatus
pki.transport.https(defaults?) -> transport0.3.16experimental

OCSP

PrimitiveSinceStatus
pki.ocsp.buildRequest(query, opts?) -> Buffer | string0.2.22experimental
pki.ocsp.sign(responseData, responder, opts?) -> Promise<Buffer | string>0.2.22experimental
pki.ocsp.buildErrorResponse(status) -> Buffer | string0.2.22experimental
pki.ocsp.verify(response, opts) -> Promise<{ status, responderAuthorized, signatureValid, thisUpdate, nextUpdate, revocationReason?, nonceMatched?, reason }>0.2.22experimental

Schema

PrimitiveSinceStatus
pki.schema.all() -> string[]0.1.7stable
pki.schema.parse(input) -> parsed0.1.7stable
pki.schema.detectFormat(input) -> string | null0.3.8experimental

Schema engine

PrimitiveSinceStatus
pki.schema.engine.walk(schema, node, ctx) -> value0.1.7stable
pki.schema.engine.encode(schema, value, ctx) -> Buffer0.1.17experimental
pki.schema.engine.embeddedDer(schema, bytes, ctx, opts?) -> value0.1.18experimental

C509

PrimitiveSinceStatus
pki.schema.c509.parse(bytes) -> { certificateType, serialNumber, serialNumberHex, ... }0.2.30experimental
pki.schema.c509.encode(input[, opts]) -> Buffer0.3.4experimental

X.509

PrimitiveSinceStatus
pki.schema.x509.pemDecode(text, label?) -> Buffer0.1.7stable
pki.schema.x509.pemEncode(der, label) -> string0.1.7stable
pki.schema.x509.parse(input) -> certificate0.1.7stable

PKCS#8

PrimitiveSinceStatus
pki.schema.pkcs8.parse(input) -> privateKey0.1.9stable
pki.schema.pkcs8.parseEncrypted(input) -> encrypted0.1.9stable
pki.schema.pkcs8.pemDecode(text, label?) -> Buffer0.1.9stable
pki.schema.pkcs8.pemEncode(der, label?) -> string0.1.9stable

TSP

PrimitiveSinceStatus
pki.schema.tsp.parseRequest(input) -> timeStampReq0.2.19experimental
pki.schema.tsp.parseTstInfo(input) -> tstInfo0.1.13stable
pki.schema.tsp.parse(input) -> timeStampResp0.1.13stable
pki.schema.tsp.parseToken(input) -> tstInfo0.1.13stable
pki.schema.tsp.pemDecode(text, label?) -> Buffer0.1.13stable
pki.schema.tsp.pemEncode(der, label) -> string0.1.23stable

S/MIME (ESS)

PrimitiveSinceStatus
pki.schema.smime.parseSigningCertificate(der) -> { certs, policies }0.1.22experimental
pki.schema.smime.parseSigningCertificateV2(der) -> { certs, policies }0.1.22experimental
pki.schema.smime.parseSmimeCapabilities(der) -> { capabilities }0.1.22experimental
pki.schema.smime.decodeAttribute(attr) -> { kind, ... }0.1.22experimental

CSR Attributes

PrimitiveSinceStatus
pki.schema.csrattrs.parse(der) -> { items }0.1.24stable

EST

PrimitiveSinceStatus
pki.est.transferDecode(body) -> Buffer0.1.24experimental
pki.est.transferEncode(der) -> string0.1.24experimental
pki.est.parseCertsOnly(der) -> { certificates, crls }0.1.24experimental
pki.est.classifyResponse(status, headers, body, opts?) -> verdict0.1.24experimental
pki.est.paths(baseUrl, opts?) -> { cacerts, simpleenroll, ... }0.1.24experimental
pki.est.cacerts(baseUrl, opts?) -> Promise<{ certificates, crls } | { retry, retryAfterSeconds }>0.3.16experimental
pki.est.simpleenroll(baseUrl, csr, opts?) -> Promise<{ certificate, chain, certificates } | { retry, retryAfterSeconds }>0.3.16experimental
pki.est.simplereenroll(baseUrl, csr, opts?) -> Promise<{ certificate, chain, certificates } | { retry, retryAfterSeconds }>0.3.16experimental

Stateful hash-based

PrimitiveSinceStatus
pki.shbs.verify(publicKey, message, signature) -> boolean0.2.1experimental
pki.shbs.verifyLms(publicKey, message, signature) -> boolean0.2.1experimental

Attribute certificates

PrimitiveSinceStatus
pki.attrcert.sign(spec, issuer, opts?) -> Promise<Buffer|string>0.3.2experimental

Certificate management protocol messages

PrimitiveSinceStatus
pki.cmp.build(message, opts?) -> Promise<Buffer|string>0.3.5experimental
pki.cmp.transfer(url, message, opts?) -> Promise<{ response, responseBytes, status, contentType, tls }>0.3.19experimental
pki.cmp.wellKnownUrl(base, opts?) -> string0.3.19experimental

CRLs

PrimitiveSinceStatus
pki.crl.sign(spec, issuer, opts?) -> Promise<Buffer|string>0.3.9experimental
pki.crl.verify(crl, issuer) -> Promise<boolean>0.3.9experimental
pki.crl.isRevoked(crl, serialNumber) -> entry | null0.3.9experimental

Certificate request messages

PrimitiveSinceStatus
pki.crmf.build(spec, key?, opts?) -> Promise<Buffer|string>0.3.3experimental
pki.crmf.buildCertTemplate(template) -> Buffer0.3.5experimental

Certification requests

PrimitiveSinceStatus
pki.csr.sign(spec, key, opts?) -> Promise<Buffer|string>0.3.1stable

Keys

PrimitiveSinceStatus
pki.key.encrypt(privateKey, password, opts?) -> Promise<Buffer|string>0.3.10experimental
pki.key.decrypt(encrypted, password, opts?) -> Promise<Buffer|string>0.3.10experimental
pki.key.export(key, opts?) -> Promise<Buffer|string>0.3.10experimental
pki.key.import(input, opts?) -> Promise<CryptoKey>0.3.10experimental
pki.key.generate(algorithm, opts?) -> Promise<{ privateKey, publicKey }>0.3.10experimental
pki.key.publicFromPrivate(privateKey, opts?) -> Promise<Buffer|string>0.3.10experimental

PKCS#12

PrimitiveSinceStatus
pki.pkcs12.build(spec, opts?) -> Promise<Buffer|string>0.3.11experimental
pki.pkcs12.verifyMac(pfx, password, opts?) -> Promise<boolean>0.3.11experimental
pki.pkcs12.open(pfx, password, opts?) -> Promise<OpenResult>0.3.12experimental

Sigstore

PrimitiveSinceStatus
pki.sigstore.pae(payloadType, payloadBytes) -> Buffer0.2.3experimental
pki.sigstore.parseBundle(input) -> bundle0.2.3experimental
pki.sigstore.verifyBundle(bundle, opts) -> Promise<result>0.2.3experimental

Inspect

PrimitiveSinceStatus
pki.inspect.certificate(input) -> string0.2.4experimental
pki.inspect.crl(input) -> string0.3.8experimental
pki.inspect.csr(input) -> string0.3.8experimental
pki.inspect.cms(input) -> string0.3.8experimental
pki.inspect.any(input) -> string0.3.8experimental

Lint

PrimitiveSinceStatus
pki.lint.certificate(input, opts?) -> LintReport0.2.10experimental
pki.lint.rules(profile?) -> [{id, severity, source, citation}]0.2.10experimental
pki.lint.profiles() -> [string]0.2.10experimental

CT

PrimitiveSinceStatus
pki.ct.parseSctList(extValue) -> { scts, unknownScts, all }0.1.20experimental
pki.ct.reconstructSignedData(entry, sct) -> Buffer0.1.20experimental
pki.ct.verifySct(entry, sct, logPublicKey) -> Promise<boolean>0.2.12experimental
pki.ct.encodeSctList(scts) -> Buffer0.2.24experimental
pki.ct.signSct(entry, logKey, opts?) -> Promise<sct>0.2.24experimental
pki.ct.parseLogList(json, opts?) -> { logs, byLogId, version, timestamp }0.2.28experimental
pki.ct.verifySctWithLogList(entry, sct, logList, opts?) -> Promise<boolean>0.2.28experimental
pki.ct.verifyLogListSignature(json, signature, publicKey) -> Promise<boolean>0.2.29experimental
pki.ct.fetchLogList(opts) -> Promise<{ logs, byLogId, version, timestamp, raw, status, contentType, tls }>0.3.21experimental

Merkle

PrimitiveSinceStatus
pki.merkle.leafHash(entry) -> Buffer0.1.28experimental
pki.merkle.nodeHash(left, right) -> Buffer0.1.28experimental
pki.merkle.emptyRootHash() -> Buffer0.1.28experimental
pki.merkle.verifyInclusion(opts) -> boolean0.1.28experimental
pki.merkle.verifyConsistency(opts) -> boolean0.1.28experimental

WebAuthn

PrimitiveSinceStatus
pki.webauthn.parseAttestationObject(bytes) -> { fmt, attStmt, authData, authDataBytes }0.2.5experimental
pki.webauthn.verify(attestationObject, clientDataHash, opts) -> Promise<{ verified, fmt, attestationType, trustPath, aaguid, credentialPublicKey }>0.2.5experimental

CMS

PrimitiveSinceStatus
pki.cms.verify(input, opts?) -> Promise<{ valid, signers }>0.2.14experimental
pki.cms.sign(content, signers, opts?) -> Promise<Buffer|string>0.2.15experimental
pki.cms.countersign(cms, signers, opts?) -> Promise<Buffer|string>0.3.13experimental
pki.cms.encrypt(content, recipients, opts?) -> Promise<Buffer | string>0.2.23experimental
pki.cms.authenticate(content, recipients, opts?) -> Promise<Buffer | string>0.3.14experimental
pki.cms.decrypt(input, keyMaterial, opts?) -> Promise<{ content, contentType, contentTypeName, recipientType, recipientIndex, contentEncryptionAlgorithm, authenticated }>0.2.23experimental
pki.cms.compress(content, opts?) -> Promise<Buffer | string>0.2.27experimental
pki.cms.decompress(input, opts?) -> Promise<{ content, contentType, contentTypeName, compressionAlgorithm }>0.2.27experimental