D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
alt-nodejs18
/
root
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
@tufjs
/
models
/
dist
/
utils
/
Filename :
oid.js
back
Copy
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.encodeOIDString = void 0; const ANS1_TAG_OID = 0x06; function encodeOIDString(oid) { const parts = oid.split('.'); // The first two subidentifiers are encoded into the first byte const first = parseInt(parts[0], 10) * 40 + parseInt(parts[1], 10); const rest = []; parts.slice(2).forEach((part) => { const bytes = encodeVariableLengthInteger(parseInt(part, 10)); rest.push(...bytes); }); const der = Buffer.from([first, ...rest]); return Buffer.from([ANS1_TAG_OID, der.length, ...der]); } exports.encodeOIDString = encodeOIDString; function encodeVariableLengthInteger(value) { const bytes = []; let mask = 0x00; while (value > 0) { bytes.unshift((value & 0x7f) | mask); value >>= 7; mask = 0x80; } return bytes; }