ess-ts
Version:
Enhanced Security Services (ESS) in TypeScript
78 lines • 4.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._encode_ESSCertIDv2 = exports._decode_ESSCertIDv2 = exports._extension_additions_list_spec_for_ESSCertIDv2 = exports._root_component_type_list_2_spec_for_ESSCertIDv2 = exports._root_component_type_list_1_spec_for_ESSCertIDv2 = exports.ESSCertIDv2 = void 0;
const tslib_1 = require("tslib");
const asn1_ts_1 = require("asn1-ts");
const $ = tslib_1.__importStar(require("asn1-ts/dist/node/functional"));
const Hash_ta_1 = require("../ExtendedSecurityServices-2006/Hash.ta");
const id_sha256_va_1 = require("../ExtendedSecurityServices-2006/id-sha256.va");
const IssuerSerial_ta_1 = require("../ExtendedSecurityServices-2006/IssuerSerial.ta");
const AlgorithmIdentifier_ta_1 = require("x500-ts/dist/node/modules/AuthenticationFramework/AlgorithmIdentifier.ta");
class ESSCertIDv2 {
constructor(hashAlgorithm, certHash, issuerSerial) {
this.hashAlgorithm = hashAlgorithm;
this.certHash = certHash;
this.issuerSerial = issuerSerial;
}
static _from_object(_o) {
return new ESSCertIDv2(_o.hashAlgorithm, _o.certHash, _o.issuerSerial);
}
static get _default_value_for_hashAlgorithm() {
return AlgorithmIdentifier_ta_1.AlgorithmIdentifier._from_object({ algorithm: id_sha256_va_1.id_sha256 });
}
}
exports.ESSCertIDv2 = ESSCertIDv2;
exports._root_component_type_list_1_spec_for_ESSCertIDv2 = [
new $.ComponentSpec("hashAlgorithm", true, $.hasTag(asn1_ts_1.ASN1TagClass.universal, 16), undefined, undefined),
new $.ComponentSpec("certHash", false, $.hasTag(asn1_ts_1.ASN1TagClass.universal, 4), undefined, undefined),
new $.ComponentSpec("issuerSerial", true, $.hasTag(asn1_ts_1.ASN1TagClass.universal, 16), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ESSCertIDv2 = [];
exports._extension_additions_list_spec_for_ESSCertIDv2 = [];
let _cached_decoder_for_ESSCertIDv2 = null;
function _decode_ESSCertIDv2(el) {
if (!_cached_decoder_for_ESSCertIDv2) {
_cached_decoder_for_ESSCertIDv2 = function (el) {
let hashAlgorithm = ESSCertIDv2._default_value_for_hashAlgorithm;
let certHash;
let issuerSerial;
const callbacks = {
hashAlgorithm: (_el) => {
hashAlgorithm = AlgorithmIdentifier_ta_1._decode_AlgorithmIdentifier(_el);
},
certHash: (_el) => {
certHash = Hash_ta_1._decode_Hash(_el);
},
issuerSerial: (_el) => {
issuerSerial = IssuerSerial_ta_1._decode_IssuerSerial(_el);
},
};
$._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_ESSCertIDv2, exports._extension_additions_list_spec_for_ESSCertIDv2, exports._root_component_type_list_2_spec_for_ESSCertIDv2, undefined);
return new ESSCertIDv2(hashAlgorithm, certHash, issuerSerial);
};
}
return _cached_decoder_for_ESSCertIDv2(el);
}
exports._decode_ESSCertIDv2 = _decode_ESSCertIDv2;
let _cached_encoder_for_ESSCertIDv2 = null;
function _encode_ESSCertIDv2(value, elGetter) {
if (!_cached_encoder_for_ESSCertIDv2) {
_cached_encoder_for_ESSCertIDv2 = function (value, elGetter) {
return $._encodeSequence([]
.concat([
value.hashAlgorithm === undefined ||
$.deepEq(value.hashAlgorithm, ESSCertIDv2._default_value_for_hashAlgorithm)
? undefined
: AlgorithmIdentifier_ta_1._encode_AlgorithmIdentifier(value.hashAlgorithm, $.BER),
Hash_ta_1._encode_Hash(value.certHash, $.BER),
value.issuerSerial === undefined
? undefined
: IssuerSerial_ta_1._encode_IssuerSerial(value.issuerSerial, $.BER),
])
.filter((c) => !!c), $.BER);
};
}
return _cached_encoder_for_ESSCertIDv2(value, elGetter);
}
exports._encode_ESSCertIDv2 = _encode_ESSCertIDv2;
//# sourceMappingURL=ESSCertIDv2.ta.js.map