@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
45 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._decode_CertId = exports._encode_CertId = exports._root_component_type_list_1_spec_for_CertId = exports.CertId = void 0;
const asn1 = require("asn1-ts");
const $ = require("asn1-ts/dist/node/functional");
const GeneralName_ta_1 = require("@wildboar/x500/src/lib/modules/CertificateExtensions/GeneralName.ta");
// CertId ::= SEQUENCE {
// issuer GeneralName,
// serialNumber INTEGER }
class CertId {
constructor(issuer, serialNumber) {
this.issuer = issuer;
this.serialNumber = serialNumber;
}
}
exports.CertId = CertId;
exports._root_component_type_list_1_spec_for_CertId = [
new $.ComponentSpec("issuer", false, $.hasAnyTag, undefined, undefined),
new $.ComponentSpec("serialNumber", false, $.hasTag(asn1.ASN1TagClass.universal, asn1.ASN1UniversalType.octetString), undefined, undefined),
];
const _encode_CertId = function (value, elGetter) {
return $._encodeSequence([]
.concat([
GeneralName_ta_1._encode_GeneralName(value.issuer, $.BER),
$._encodeBigInt(value.serialNumber, $.BER),
])
.filter((c) => !!c), $.BER);
};
exports._encode_CertId = _encode_CertId;
const _decode_CertId = function (el) {
let issuer;
let serialNumber;
const callbacks = {
issuer: (_el) => {
issuer = $._decode_implicit(() => GeneralName_ta_1._decode_GeneralName)(_el);
},
serialNumber: (_el) => {
serialNumber = $._decode_implicit(() => $._decodeBigInt)(_el);
},
};
$._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_CertId, [], [], undefined);
return new CertId(issuer, serialNumber);
};
exports._decode_CertId = _decode_CertId;
//# sourceMappingURL=CertId.ta.js.map