update
This commit is contained in:
27
package/node_modules/@tufjs/models/dist/utils/oid.js
generated
vendored
Normal file
27
package/node_modules/@tufjs/models/dist/utils/oid.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
"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;
|
||||
}
|
Reference in New Issue
Block a user