Skip to content

OID Resolver

dweller long gone edited this page May 21, 2026 · 1 revision

OID Resolver

PkiStudioJS includes a bundled OID resolver in @pkistudio/pkistudiojs/oid-resolver. It uses the bundled oids.json dictionary and supports application-specific additions or overrides.

Basic Usage

const oidResolver = require('@pkistudio/pkistudiojs/oid-resolver');

console.log(oidResolver.resolve('1.2.840.113549'));

Custom OID Names

Create a resolver with extra names:

const oidResolver = require('@pkistudio/pkistudiojs/oid-resolver');

const resolver = oidResolver.create({
  '1.2.3.4.5': 'Example Custom Extension'
});

Custom names override bundled names when the same dotted OID string is present.

Use with the Viewer

const viewer = require('@pkistudio/pkistudiojs/viewer');
const oidResolver = require('@pkistudio/pkistudiojs/oid-resolver');

const resolver = oidResolver.create({
  '1.2.3.4.5': 'Example Custom Extension'
});

viewer.init({
  mount: '#certificate-viewer',
  oidResolver: resolver
});

The viewer also accepts oidNames, an object keyed by dotted OID strings.

Use with the Core API

const core = require('@pkistudio/pkistudiojs/core');
const oidResolver = require('@pkistudio/pkistudiojs/oid-resolver');

const resolver = oidResolver.create({
  '1.2.3.4.5': 'Example Custom Extension'
});

const document = core.parseInput(new Uint8Array([0x06, 0x04, 0x2a, 0x03, 0x04, 0x05]));
const tree = core.serializeTree(document.nodes, { oidResolver: resolver });

serializeTree() and serializeNode() add oidName when the node is an OBJECT IDENTIFIER and the resolver returns a matching name.

Resolver Exports

@pkistudio/pkistudiojs/oid-resolver exports:

  • names: bundled OID name map.
  • resolve(oid): resolve a dotted OID string with the default resolver.
  • create(extraNames, options): create a frozen resolver with custom additions.

Resolver instances expose:

  • names
  • resolve(oid)
  • create(nextNames)

Clone this wiki locally