scvp-ts
Version:
Server-side Certificate Validation Protocol (SCVP) in TypeScript
781 lines (780 loc) • 129 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.id_kp_scvpClient = exports.id_kp_scvpServer = exports.id_kp = exports.id_nvae_mixed_names = exports.id_nvae_bad_name_type = exports.id_nvae_bad_name = exports.id_nvae_unknown_alg = exports.id_nvae_no_name = exports.id_nvae_name_mismatch = exports.id_nvae = exports.id_svp_nameValAlg = exports.id_nva_dnCompAlg = exports.id_bvae_invalidCertPolicy = exports.id_bvae_invalidKeyUsage = exports.id_bvae_invalidKeyPurpose = exports.id_bvae_revoked = exports.id_bvae_noValidCertPath = exports.id_bvae_wrongTrustAnchor = exports.id_bvae_not_yet_valid = exports.id_bvae_expired = exports.id_bvae = exports.id_svp_basicValAlg = exports.id_svp_defaultValPolicy = exports.id_svp = exports.id_swb_ac_cert = exports.id_swb_pkc_cert = exports.id_swb_pkc_CAs_revocation_info = exports.id_swb_pkc_ee_revocation_info = exports.id_swb_pkc_all_cert_paths = exports.id_swb_relayed_responses = exports.id_swb_ac_revocation_info = exports.id_swb_aa_revocation_info = exports.id_swb_aa_cert_path = exports.id_swb_pkc_public_key_info = exports.id_swb_pkc_revocation_info = exports.id_swb_pkc_best_cert_path = exports.id_swb = exports.id_stc_status_check_ac_and_build_status_checked_aa_path = exports.id_stc_build_status_checked_aa_path = exports.id_stc_build_valid_aa_path = exports.id_stc_build_aa_path = exports.id_stc_build_status_checked_pkc_path = exports.id_stc_build_valid_pkc_path = exports.id_stc_build_pkc_path = exports.id_stc = exports._encode_ValPolResponse = exports._decode_ValPolResponse = exports._extension_additions_list_spec_for_ValPolResponse = exports._root_component_type_list_2_spec_for_ValPolResponse = exports._root_component_type_list_1_spec_for_ValPolResponse = exports.ValPolResponse = exports._encode_KeyAgreePublicKey = exports._decode_KeyAgreePublicKey = exports._extension_additions_list_spec_for_KeyAgreePublicKey = exports._root_component_type_list_2_spec_for_KeyAgreePublicKey = exports._root_component_type_list_1_spec_for_KeyAgreePublicKey = exports.KeyAgreePublicKey = exports._encode_RevocationInfoTypes = exports._decode_RevocationInfoTypes = exports.RevocationInfoTypes_oCSPResponses = exports.RevocationInfoTypes_indirectCRLs = exports.RevocationInfoTypes_deltaCRLs = exports.RevocationInfoTypes_fullCRLs = exports._encode_ResponseTypes = exports._decode_ResponseTypes = exports.ResponseTypes_cached_and_non_cached = exports.ResponseTypes_non_cached_only = exports.ResponseTypes_cached_only = exports.ResponseTypes = exports._encode_AuthPolicy = exports._decode_AuthPolicy = exports.id_ct_scvp_valPolResponse = exports._encode_ValPolRequest = exports._decode_ValPolRequest = exports._extension_additions_list_spec_for_ValPolRequest = exports._root_component_type_list_2_spec_for_ValPolRequest = exports._root_component_type_list_1_spec_for_ValPolRequest = exports.ValPolRequest = exports.id_ct_scvp_valPolRequest = exports._encode_SCVPResponses = exports._decode_SCVPResponses = exports._encode_RevInfoWantBack = exports._decode_RevInfoWantBack = exports._extension_additions_list_spec_for_RevInfoWantBack = exports._root_component_type_list_2_spec_for_RevInfoWantBack = exports._root_component_type_list_1_spec_for_RevInfoWantBack = exports.RevInfoWantBack = exports._encode_CertBundles = exports._decode_CertBundles = exports._encode_CVResponse = exports._decode_CVResponse = exports._extension_additions_list_spec_for_CVResponse = exports._root_component_type_list_2_spec_for_CVResponse = exports._root_component_type_list_1_spec_for_CVResponse = exports.CVResponse = exports._encode_ReplyObjects = exports._decode_ReplyObjects = exports._encode_CertReply = exports._decode_CertReply = exports._extension_additions_list_spec_for_CertReply = exports._root_component_type_list_2_spec_for_CertReply = exports._root_component_type_list_1_spec_for_CertReply = exports.CertReply = exports._encode_ReplyWantBacks = exports._decode_ReplyWantBacks = exports._encode_ReplyWantBack = exports._decode_ReplyWantBack = exports._extension_additions_list_spec_for_ReplyWantBack = exports._root_component_type_list_2_spec_for_ReplyWantBack = exports._root_component_type_list_1_spec_for_ReplyWantBack = exports.ReplyWantBack = exports._encode_ReplyChecks = exports._decode_ReplyChecks = exports._encode_ReplyCheck = exports._decode_ReplyCheck = exports._extension_additions_list_spec_for_ReplyCheck = exports._root_component_type_list_2_spec_for_ReplyCheck = exports._root_component_type_list_1_spec_for_ReplyCheck = exports.ReplyCheck = exports._encode_ReplyStatus = exports._decode_ReplyStatus = exports.ReplyStatus_wantBackUnsatisfied = exports.ReplyStatus_certPathNotValidNow = exports.ReplyStatus_certPathNotValid = exports.ReplyStatus_certPathConstructFail = exports.ReplyStatus_referenceCertHashFail = exports.ReplyStatus_unavailableValidationTime = exports.ReplyStatus_malformedAC = exports.ReplyStatus_malformedPKC = exports.ReplyStatus_success = exports.ReplyStatus = exports._encode_CertReference = exports._decode_CertReference = exports._encode_RequestReference = exports._decode_RequestReference = exports._encode_CVRequest = exports._decode_CVRequest = exports._extension_additions_list_spec_for_CVRequest = exports._root_component_type_list_2_spec_for_CVRequest = exports._root_component_type_list_1_spec_for_CVRequest = exports.CVRequest = exports._encode_Query = exports._decode_Query = exports._extension_additions_list_spec_for_Query = exports._root_component_type_list_2_spec_for_Query = exports._root_component_type_list_1_spec_for_Query = exports.Query = exports._encode_RevocationInfos = exports._decode_RevocationInfos = exports._encode_RevocationInfo = exports._decode_RevocationInfo = exports._encode_OtherRevInfo = exports._decode_OtherRevInfo = exports._extension_additions_list_spec_for_OtherRevInfo = exports._root_component_type_list_2_spec_for_OtherRevInfo = exports._root_component_type_list_1_spec_for_OtherRevInfo = exports.OtherRevInfo = exports._encode_CertBundle = exports._decode_CertBundle = exports._encode_ResponseFlags = exports._decode_ResponseFlags = exports._extension_additions_list_spec_for_ResponseFlags = exports._root_component_type_list_2_spec_for_ResponseFlags = exports._root_component_type_list_1_spec_for_ResponseFlags = exports.ResponseFlags = exports._encode_WantBack = exports._decode_WantBack = exports._encode_CertChecks = exports._decode_CertChecks = exports._encode_CertReferences = exports._decode_CertReferences = exports._encode_ACReference = exports._decode_ACReference = exports._encode_HashValue = exports._decode_HashValue = exports._extension_additions_list_spec_for_HashValue = exports._root_component_type_list_2_spec_for_HashValue = exports._root_component_type_list_1_spec_for_HashValue = exports.HashValue = exports._encode_RespValidationPolicy = exports._decode_RespValidationPolicy = exports._encode_ValidationPolicy = exports._decode_ValidationPolicy = exports._extension_additions_list_spec_for_ValidationPolicy = exports._root_component_type_list_2_spec_for_ValidationPolicy = exports._root_component_type_list_1_spec_for_ValidationPolicy = exports.ValidationPolicy = exports._encode_TrustAnchors = exports._decode_TrustAnchors = exports._encode_PKCReference = exports._decode_PKCReference = exports._encode_SCVPCertID = exports._decode_SCVPCertID = exports._extension_additions_list_spec_for_SCVPCertID = exports._root_component_type_list_2_spec_for_SCVPCertID = exports._root_component_type_list_1_spec_for_SCVPCertID = exports.SCVPCertID = exports._encode_HashAlgorithm = exports._decode_HashAlgorithm = exports._encode_SCVPIssuerSerial = exports._decode_SCVPIssuerSerial = exports._extension_additions_list_spec_for_SCVPIssuerSerial = exports._root_component_type_list_2_spec_for_SCVPIssuerSerial = exports._root_component_type_list_1_spec_for_SCVPIssuerSerial = exports.SCVPIssuerSerial = exports._encode_ValidationAlg = exports._decode_ValidationAlg = exports._extension_additions_list_spec_for_ValidationAlg = exports._root_component_type_list_2_spec_for_ValidationAlg = exports._root_component_type_list_1_spec_for_ValidationAlg = exports.ValidationAlg = exports._encode_ValidationPolRef = exports._decode_ValidationPolRef = exports._extension_additions_list_spec_for_ValidationPolRef = exports._root_component_type_list_2_spec_for_ValidationPolRef = exports._root_component_type_list_1_spec_for_ValidationPolRef = exports.ValidationPolRef = exports._encode_ResponseStatus = exports._decode_ResponseStatus = exports._extension_additions_list_spec_for_ResponseStatus = exports._root_component_type_list_2_spec_for_ResponseStatus = exports._root_component_type_list_1_spec_for_ResponseStatus = exports.ResponseStatus = exports._encode_CVStatusCode = exports._decode_CVStatusCode = exports.CVStatusCode_unrecognizedCritRequestExt = exports.CVStatusCode_unrecognizedCritQueryExt = exports.CVStatusCode_validationTimeUnsupported = exports.CVStatusCode_inhibitAnyPolicyUnsupported = exports.CVStatusCode_requireExplicitPolicyUnsupported = exports.CVStatusCode_inhibitPolicyMappingUnsupported = exports.CVStatusCode_fullPolResponseUnsupported = exports.CVStatusCode_fullRequestInResponseUnsupported = exports.CVStatusCode_unrecognizedValAlg = exports.CVStatusCode_unrecognizedValPol = exports.CVStatusCode_relayingLoop = exports.CVStatusCode_unrecognizedResponderName = exports.CVStatusCode_protectedResponseUnsupported = exports.CVStatusCode_invalidSignatureOrMAC = exports.CVStatusCode_unsupportedSignatureOrMAC = exports.CVStatusCode_unsupportedWantBacks = exports.CVStatusCode_unsupportedChecks = exports.CVStatusCode_notAuthorized = exports.CVStatusCode_unableToDecode = exports.CVStatusCode_badSignatureOrMAC = exports.CVStatusCode_unrecognizedSigKey = exports.CVStatusCode_abortUnrecognizedItems = exports.CVStatusCode_unsupportedVersion = exports.CVStatusCode_badStructure = exports.CVStatusCode_internalError = exports.CVStatusCode_invalidRequest = exports.CVStatusCode_tooBusy = exports.CVStatusCode_skipUnrecognizedItems = exports.CVStatusCode_okay = exports.id_ct_scvp_certValResponse = exports._encode_NameValidationAlgParams = exports._decode_NameValidationAlgParams = exports._extension_additions_list_spec_for_NameValidationAlgParams = exports._root_component_type_list_2_spec_for_NameValidationAlgParams = exports._root_component_type_list_1_spec_for_NameValidationAlgParams = exports.NameValidationAlgParams = exports.id_ct_scvp_certValRequest = exports.id_ct = void 0;
const tslib_1 = require("tslib");
const asn1 = tslib_1.__importStar(require("asn1-ts"));
const CryptographicMessageSyntax_2010_1 = require("cms-ts/dist/node/CryptographicMessageSyntax-2010");
const OCSP_2013_08_1 = require("ocsp-ts/dist/node/OCSP-2013-08");
const AlgorithmObjectIdentifiers_1 = require("x500-ts/dist/node/AlgorithmObjectIdentifiers");
const AttributeCertificateDefinitions_1 = require("x500-ts/dist/node/AttributeCertificateDefinitions");
const AuthenticationFramework_1 = require("x500-ts/dist/node/AuthenticationFramework");
const CertificateExtensions_1 = require("x500-ts/dist/node/CertificateExtensions");
const __utils = tslib_1.__importStar(require("./__utils"));
exports.id_ct = new asn1.ObjectIdentifier([
1,
2,
840,
113549,
1,
9,
16,
1,
]);
exports.id_ct_scvp_certValRequest = new asn1.ObjectIdentifier([10], exports.id_ct);
class NameValidationAlgParams {
constructor(nameCompAlgId, validationNames) {
this.nameCompAlgId = nameCompAlgId;
this.validationNames = validationNames;
}
}
exports.NameValidationAlgParams = NameValidationAlgParams;
exports._root_component_type_list_1_spec_for_NameValidationAlgParams = [
new __utils.ComponentSpec("nameCompAlgId", false, __utils.hasTag(asn1.ASN1TagClass.universal, 6), undefined, undefined),
new __utils.ComponentSpec("validationNames", false, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_NameValidationAlgParams = [];
exports._extension_additions_list_spec_for_NameValidationAlgParams = [];
let _cached_decoder_for_NameValidationAlgParams = null;
let _cached_encoder_for_NameValidationAlgParams = null;
function _decode_NameValidationAlgParams(el) {
if (!_cached_decoder_for_NameValidationAlgParams) {
_cached_decoder_for_NameValidationAlgParams = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("NameValidationAlgParams contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "nameCompAlgId";
sequence[1].name = "validationNames";
let nameCompAlgId;
let validationNames;
nameCompAlgId = __utils._decodeObjectIdentifier(sequence[0]);
validationNames = CertificateExtensions_1._decode_GeneralNames(sequence[1]);
return new NameValidationAlgParams(nameCompAlgId, validationNames);
};
}
return _cached_decoder_for_NameValidationAlgParams(el);
}
exports._decode_NameValidationAlgParams = _decode_NameValidationAlgParams;
function _encode_NameValidationAlgParams(value, elGetter) {
if (!_cached_encoder_for_NameValidationAlgParams) {
_cached_encoder_for_NameValidationAlgParams = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encodeObjectIdentifier(value.nameCompAlgId, __utils.BER),
CertificateExtensions_1._encode_GeneralNames(value.validationNames, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_NameValidationAlgParams(value, elGetter);
}
exports._encode_NameValidationAlgParams = _encode_NameValidationAlgParams;
exports.id_ct_scvp_certValResponse = new asn1.ObjectIdentifier([11], exports.id_ct);
exports.CVStatusCode_okay = 0;
exports.CVStatusCode_skipUnrecognizedItems = 1;
exports.CVStatusCode_tooBusy = 10;
exports.CVStatusCode_invalidRequest = 11;
exports.CVStatusCode_internalError = 12;
exports.CVStatusCode_badStructure = 20;
exports.CVStatusCode_unsupportedVersion = 21;
exports.CVStatusCode_abortUnrecognizedItems = 22;
exports.CVStatusCode_unrecognizedSigKey = 23;
exports.CVStatusCode_badSignatureOrMAC = 24;
exports.CVStatusCode_unableToDecode = 25;
exports.CVStatusCode_notAuthorized = 26;
exports.CVStatusCode_unsupportedChecks = 27;
exports.CVStatusCode_unsupportedWantBacks = 28;
exports.CVStatusCode_unsupportedSignatureOrMAC = 29;
exports.CVStatusCode_invalidSignatureOrMAC = 30;
exports.CVStatusCode_protectedResponseUnsupported = 31;
exports.CVStatusCode_unrecognizedResponderName = 32;
exports.CVStatusCode_relayingLoop = 40;
exports.CVStatusCode_unrecognizedValPol = 50;
exports.CVStatusCode_unrecognizedValAlg = 51;
exports.CVStatusCode_fullRequestInResponseUnsupported = 52;
exports.CVStatusCode_fullPolResponseUnsupported = 53;
exports.CVStatusCode_inhibitPolicyMappingUnsupported = 54;
exports.CVStatusCode_requireExplicitPolicyUnsupported = 55;
exports.CVStatusCode_inhibitAnyPolicyUnsupported = 56;
exports.CVStatusCode_validationTimeUnsupported = 57;
exports.CVStatusCode_unrecognizedCritQueryExt = 63;
exports.CVStatusCode_unrecognizedCritRequestExt = 64;
let _cached_decoder_for_CVStatusCode = null;
let _cached_encoder_for_CVStatusCode = null;
function _decode_CVStatusCode(el) {
if (!_cached_decoder_for_CVStatusCode) {
_cached_decoder_for_CVStatusCode = __utils._decodeEnumerated;
}
return _cached_decoder_for_CVStatusCode(el);
}
exports._decode_CVStatusCode = _decode_CVStatusCode;
function _encode_CVStatusCode(value, elGetter) {
if (!_cached_encoder_for_CVStatusCode) {
_cached_encoder_for_CVStatusCode = __utils._encodeEnumerated;
}
return _cached_encoder_for_CVStatusCode(value, elGetter);
}
exports._encode_CVStatusCode = _encode_CVStatusCode;
class ResponseStatus {
constructor(statusCode, errorMessage) {
this.statusCode = statusCode;
this.errorMessage = errorMessage;
}
static get _default_value_for_statusCode() {
return exports.CVStatusCode_okay;
}
}
exports.ResponseStatus = ResponseStatus;
exports._root_component_type_list_1_spec_for_ResponseStatus = [
new __utils.ComponentSpec("statusCode", true, __utils.hasTag(asn1.ASN1TagClass.universal, 10), undefined, undefined),
new __utils.ComponentSpec("errorMessage", true, __utils.hasTag(asn1.ASN1TagClass.universal, 12), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ResponseStatus = [];
exports._extension_additions_list_spec_for_ResponseStatus = [];
let _cached_decoder_for_ResponseStatus = null;
let _cached_encoder_for_ResponseStatus = null;
function _decode_ResponseStatus(el) {
if (!_cached_decoder_for_ResponseStatus) {
_cached_decoder_for_ResponseStatus = function (el) {
let statusCode = ResponseStatus._default_value_for_statusCode;
let errorMessage;
const callbacks = {
statusCode: (_el) => {
statusCode = _decode_CVStatusCode(_el);
},
errorMessage: (_el) => {
errorMessage = __utils._decodeUTF8String(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_ResponseStatus, exports._extension_additions_list_spec_for_ResponseStatus, exports._root_component_type_list_2_spec_for_ResponseStatus, undefined);
return new ResponseStatus(statusCode, errorMessage);
};
}
return _cached_decoder_for_ResponseStatus(el);
}
exports._decode_ResponseStatus = _decode_ResponseStatus;
function _encode_ResponseStatus(value, elGetter) {
if (!_cached_encoder_for_ResponseStatus) {
_cached_encoder_for_ResponseStatus = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
value.statusCode === undefined ||
__utils.deepEq(value.statusCode, ResponseStatus._default_value_for_statusCode)
? undefined
: _encode_CVStatusCode(value.statusCode, __utils.BER),
value.errorMessage === undefined
? undefined
: __utils._encodeUTF8String(value.errorMessage, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_ResponseStatus(value, elGetter);
}
exports._encode_ResponseStatus = _encode_ResponseStatus;
class ValidationPolRef {
constructor(valPolId, valPolParams) {
this.valPolId = valPolId;
this.valPolParams = valPolParams;
}
}
exports.ValidationPolRef = ValidationPolRef;
exports._root_component_type_list_1_spec_for_ValidationPolRef = [
new __utils.ComponentSpec("valPolId", false, __utils.hasTag(asn1.ASN1TagClass.universal, 6), undefined, undefined),
new __utils.ComponentSpec("valPolParams", true, __utils.hasAnyTag, undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ValidationPolRef = [];
exports._extension_additions_list_spec_for_ValidationPolRef = [];
let _cached_decoder_for_ValidationPolRef = null;
let _cached_encoder_for_ValidationPolRef = null;
function _decode_ValidationPolRef(el) {
if (!_cached_decoder_for_ValidationPolRef) {
_cached_decoder_for_ValidationPolRef = function (el) {
let valPolId;
let valPolParams;
const callbacks = {
valPolId: (_el) => {
valPolId = __utils._decodeObjectIdentifier(_el);
},
valPolParams: (_el) => {
valPolParams = __utils._decodeAny(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_ValidationPolRef, exports._extension_additions_list_spec_for_ValidationPolRef, exports._root_component_type_list_2_spec_for_ValidationPolRef, undefined);
return new ValidationPolRef(valPolId, valPolParams);
};
}
return _cached_decoder_for_ValidationPolRef(el);
}
exports._decode_ValidationPolRef = _decode_ValidationPolRef;
function _encode_ValidationPolRef(value, elGetter) {
if (!_cached_encoder_for_ValidationPolRef) {
_cached_encoder_for_ValidationPolRef = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encodeObjectIdentifier(value.valPolId, __utils.BER),
value.valPolParams === undefined
? undefined
: __utils._encodeAny(value.valPolParams, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_ValidationPolRef(value, elGetter);
}
exports._encode_ValidationPolRef = _encode_ValidationPolRef;
class ValidationAlg {
constructor(valAlgId, parameters) {
this.valAlgId = valAlgId;
this.parameters = parameters;
}
}
exports.ValidationAlg = ValidationAlg;
exports._root_component_type_list_1_spec_for_ValidationAlg = [
new __utils.ComponentSpec("valAlgId", false, __utils.hasTag(asn1.ASN1TagClass.universal, 6), undefined, undefined),
new __utils.ComponentSpec("parameters", true, __utils.hasAnyTag, undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ValidationAlg = [];
exports._extension_additions_list_spec_for_ValidationAlg = [];
let _cached_decoder_for_ValidationAlg = null;
let _cached_encoder_for_ValidationAlg = null;
function _decode_ValidationAlg(el) {
if (!_cached_decoder_for_ValidationAlg) {
_cached_decoder_for_ValidationAlg = function (el) {
let valAlgId;
let parameters;
const callbacks = {
valAlgId: (_el) => {
valAlgId = __utils._decodeObjectIdentifier(_el);
},
parameters: (_el) => {
parameters = __utils._decodeAny(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_ValidationAlg, exports._extension_additions_list_spec_for_ValidationAlg, exports._root_component_type_list_2_spec_for_ValidationAlg, undefined);
return new ValidationAlg(valAlgId, parameters);
};
}
return _cached_decoder_for_ValidationAlg(el);
}
exports._decode_ValidationAlg = _decode_ValidationAlg;
function _encode_ValidationAlg(value, elGetter) {
if (!_cached_encoder_for_ValidationAlg) {
_cached_encoder_for_ValidationAlg = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encodeObjectIdentifier(value.valAlgId, __utils.BER),
value.parameters === undefined
? undefined
: __utils._encodeAny(value.parameters, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_ValidationAlg(value, elGetter);
}
exports._encode_ValidationAlg = _encode_ValidationAlg;
class SCVPIssuerSerial {
constructor(issuer, serialNumber) {
this.issuer = issuer;
this.serialNumber = serialNumber;
}
}
exports.SCVPIssuerSerial = SCVPIssuerSerial;
exports._root_component_type_list_1_spec_for_SCVPIssuerSerial = [
new __utils.ComponentSpec("issuer", false, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
new __utils.ComponentSpec("serialNumber", false, __utils.hasTag(asn1.ASN1TagClass.universal, 2), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_SCVPIssuerSerial = [];
exports._extension_additions_list_spec_for_SCVPIssuerSerial = [];
let _cached_decoder_for_SCVPIssuerSerial = null;
let _cached_encoder_for_SCVPIssuerSerial = null;
function _decode_SCVPIssuerSerial(el) {
if (!_cached_decoder_for_SCVPIssuerSerial) {
_cached_decoder_for_SCVPIssuerSerial = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("SCVPIssuerSerial contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "issuer";
sequence[1].name = "serialNumber";
let issuer;
let serialNumber;
issuer = CertificateExtensions_1._decode_GeneralNames(sequence[0]);
serialNumber = AuthenticationFramework_1._decode_CertificateSerialNumber(sequence[1]);
return new SCVPIssuerSerial(issuer, serialNumber);
};
}
return _cached_decoder_for_SCVPIssuerSerial(el);
}
exports._decode_SCVPIssuerSerial = _decode_SCVPIssuerSerial;
function _encode_SCVPIssuerSerial(value, elGetter) {
if (!_cached_encoder_for_SCVPIssuerSerial) {
_cached_encoder_for_SCVPIssuerSerial = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
CertificateExtensions_1._encode_GeneralNames(value.issuer, __utils.BER),
AuthenticationFramework_1._encode_CertificateSerialNumber(value.serialNumber, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_SCVPIssuerSerial(value, elGetter);
}
exports._encode_SCVPIssuerSerial = _encode_SCVPIssuerSerial;
let _cached_decoder_for_HashAlgorithm = null;
let _cached_encoder_for_HashAlgorithm = null;
function _decode_HashAlgorithm(el) {
if (!_cached_decoder_for_HashAlgorithm) {
_cached_decoder_for_HashAlgorithm = AuthenticationFramework_1._decode_AlgorithmIdentifier;
}
return _cached_decoder_for_HashAlgorithm(el);
}
exports._decode_HashAlgorithm = _decode_HashAlgorithm;
function _encode_HashAlgorithm(value, elGetter) {
if (!_cached_encoder_for_HashAlgorithm) {
_cached_encoder_for_HashAlgorithm = AuthenticationFramework_1._encode_AlgorithmIdentifier;
}
return _cached_encoder_for_HashAlgorithm(value, elGetter);
}
exports._encode_HashAlgorithm = _encode_HashAlgorithm;
class SCVPCertID {
constructor(certHash, issuerSerial, hashAlgorithm) {
this.certHash = certHash;
this.issuerSerial = issuerSerial;
this.hashAlgorithm = hashAlgorithm;
}
static get _default_value_for_hashAlgorithm() {
return new AuthenticationFramework_1.AlgorithmIdentifier(AlgorithmObjectIdentifiers_1.id_sha1, undefined);
}
}
exports.SCVPCertID = SCVPCertID;
exports._root_component_type_list_1_spec_for_SCVPCertID = [
new __utils.ComponentSpec("certHash", false, __utils.hasTag(asn1.ASN1TagClass.universal, 4), undefined, undefined),
new __utils.ComponentSpec("issuerSerial", false, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
new __utils.ComponentSpec("hashAlgorithm", true, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_SCVPCertID = [];
exports._extension_additions_list_spec_for_SCVPCertID = [];
let _cached_decoder_for_SCVPCertID = null;
let _cached_encoder_for_SCVPCertID = null;
function _decode_SCVPCertID(el) {
if (!_cached_decoder_for_SCVPCertID) {
_cached_decoder_for_SCVPCertID = function (el) {
let certHash;
let issuerSerial;
let hashAlgorithm = SCVPCertID._default_value_for_hashAlgorithm;
const callbacks = {
certHash: (_el) => {
certHash = __utils._decodeOctetString(_el);
},
issuerSerial: (_el) => {
issuerSerial = _decode_SCVPIssuerSerial(_el);
},
hashAlgorithm: (_el) => {
hashAlgorithm = _decode_HashAlgorithm(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_SCVPCertID, exports._extension_additions_list_spec_for_SCVPCertID, exports._root_component_type_list_2_spec_for_SCVPCertID, undefined);
return new SCVPCertID(certHash, issuerSerial, hashAlgorithm);
};
}
return _cached_decoder_for_SCVPCertID(el);
}
exports._decode_SCVPCertID = _decode_SCVPCertID;
function _encode_SCVPCertID(value, elGetter) {
if (!_cached_encoder_for_SCVPCertID) {
_cached_encoder_for_SCVPCertID = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encodeOctetString(value.certHash, __utils.BER),
_encode_SCVPIssuerSerial(value.issuerSerial, __utils.BER),
value.hashAlgorithm === undefined ||
__utils.deepEq(value.hashAlgorithm, SCVPCertID._default_value_for_hashAlgorithm)
? undefined
: _encode_HashAlgorithm(value.hashAlgorithm, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_SCVPCertID(value, elGetter);
}
exports._encode_SCVPCertID = _encode_SCVPCertID;
let _cached_decoder_for_PKCReference = null;
let _cached_encoder_for_PKCReference = null;
function _decode_PKCReference(el) {
if (!_cached_decoder_for_PKCReference) {
_cached_decoder_for_PKCReference = __utils._decode_inextensible_choice({
"CONTEXT 0": [
"cert",
__utils._decode_implicit(() => AuthenticationFramework_1._decode_Certificate),
],
"CONTEXT 1": [
"pkcRef",
__utils._decode_implicit(() => _decode_SCVPCertID),
],
});
}
return _cached_decoder_for_PKCReference(el);
}
exports._decode_PKCReference = _decode_PKCReference;
function _encode_PKCReference(value, elGetter) {
if (!_cached_encoder_for_PKCReference) {
_cached_encoder_for_PKCReference = __utils._encode_choice({
cert: __utils._encode_implicit(asn1.ASN1TagClass.context, 0, () => AuthenticationFramework_1._encode_Certificate, __utils.BER),
pkcRef: __utils._encode_implicit(asn1.ASN1TagClass.context, 1, () => _encode_SCVPCertID, __utils.BER),
}, __utils.BER);
}
return _cached_encoder_for_PKCReference(value, elGetter);
}
exports._encode_PKCReference = _encode_PKCReference;
let _cached_decoder_for_TrustAnchors = null;
let _cached_encoder_for_TrustAnchors = null;
function _decode_TrustAnchors(el) {
if (!_cached_decoder_for_TrustAnchors) {
_cached_decoder_for_TrustAnchors = __utils._decodeSequenceOf(() => _decode_PKCReference);
}
return _cached_decoder_for_TrustAnchors(el);
}
exports._decode_TrustAnchors = _decode_TrustAnchors;
function _encode_TrustAnchors(value, elGetter) {
if (!_cached_encoder_for_TrustAnchors) {
_cached_encoder_for_TrustAnchors = __utils._encodeSequenceOf(() => _encode_PKCReference, __utils.BER);
}
return _cached_encoder_for_TrustAnchors(value, elGetter);
}
exports._encode_TrustAnchors = _encode_TrustAnchors;
class ValidationPolicy {
constructor(validationPolRef, validationAlg, userPolicySet, inhibitPolicyMapping, requireExplicitPolicy, inhibitAnyPolicy, trustAnchors, keyUsages, extendedKeyUsages, specifiedKeyUsages) {
this.validationPolRef = validationPolRef;
this.validationAlg = validationAlg;
this.userPolicySet = userPolicySet;
this.inhibitPolicyMapping = inhibitPolicyMapping;
this.requireExplicitPolicy = requireExplicitPolicy;
this.inhibitAnyPolicy = inhibitAnyPolicy;
this.trustAnchors = trustAnchors;
this.keyUsages = keyUsages;
this.extendedKeyUsages = extendedKeyUsages;
this.specifiedKeyUsages = specifiedKeyUsages;
}
}
exports.ValidationPolicy = ValidationPolicy;
exports._root_component_type_list_1_spec_for_ValidationPolicy = [
new __utils.ComponentSpec("validationPolRef", false, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
new __utils.ComponentSpec("validationAlg", true, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("userPolicySet", true, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("inhibitPolicyMapping", true, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
new __utils.ComponentSpec("requireExplicitPolicy", true, __utils.hasTag(asn1.ASN1TagClass.context, 3), undefined, undefined),
new __utils.ComponentSpec("inhibitAnyPolicy", true, __utils.hasTag(asn1.ASN1TagClass.context, 4), undefined, undefined),
new __utils.ComponentSpec("trustAnchors", true, __utils.hasTag(asn1.ASN1TagClass.context, 5), undefined, undefined),
new __utils.ComponentSpec("keyUsages", true, __utils.hasTag(asn1.ASN1TagClass.context, 6), undefined, undefined),
new __utils.ComponentSpec("extendedKeyUsages", true, __utils.hasTag(asn1.ASN1TagClass.context, 7), undefined, undefined),
new __utils.ComponentSpec("specifiedKeyUsages", true, __utils.hasTag(asn1.ASN1TagClass.context, 8), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ValidationPolicy = [];
exports._extension_additions_list_spec_for_ValidationPolicy = [];
let _cached_decoder_for_ValidationPolicy = null;
let _cached_encoder_for_ValidationPolicy = null;
function _decode_ValidationPolicy(el) {
if (!_cached_decoder_for_ValidationPolicy) {
_cached_decoder_for_ValidationPolicy = function (el) {
let validationPolRef;
let validationAlg;
let userPolicySet;
let inhibitPolicyMapping;
let requireExplicitPolicy;
let inhibitAnyPolicy;
let trustAnchors;
let keyUsages;
let extendedKeyUsages;
let specifiedKeyUsages;
const callbacks = {
validationPolRef: (_el) => {
validationPolRef = _decode_ValidationPolRef(_el);
},
validationAlg: (_el) => {
validationAlg = __utils._decode_implicit(() => _decode_ValidationAlg)(_el);
},
userPolicySet: (_el) => {
userPolicySet = __utils._decode_implicit(() => __utils._decodeSequenceOf(() => __utils._decodeObjectIdentifier))(_el);
},
inhibitPolicyMapping: (_el) => {
inhibitPolicyMapping = __utils._decode_implicit(() => __utils._decodeBoolean)(_el);
},
requireExplicitPolicy: (_el) => {
requireExplicitPolicy = __utils._decode_implicit(() => __utils._decodeBoolean)(_el);
},
inhibitAnyPolicy: (_el) => {
inhibitAnyPolicy = __utils._decode_implicit(() => __utils._decodeBoolean)(_el);
},
trustAnchors: (_el) => {
trustAnchors = __utils._decode_implicit(() => _decode_TrustAnchors)(_el);
},
keyUsages: (_el) => {
keyUsages = __utils._decode_implicit(() => __utils._decodeSequenceOf(() => CertificateExtensions_1._decode_KeyUsage))(_el);
},
extendedKeyUsages: (_el) => {
extendedKeyUsages = __utils._decode_implicit(() => __utils._decodeSequenceOf(() => CertificateExtensions_1._decode_KeyPurposeId))(_el);
},
specifiedKeyUsages: (_el) => {
specifiedKeyUsages = __utils._decode_implicit(() => __utils._decodeSequenceOf(() => CertificateExtensions_1._decode_KeyPurposeId))(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_ValidationPolicy, exports._extension_additions_list_spec_for_ValidationPolicy, exports._root_component_type_list_2_spec_for_ValidationPolicy, undefined);
return new ValidationPolicy(validationPolRef, validationAlg, userPolicySet, inhibitPolicyMapping, requireExplicitPolicy, inhibitAnyPolicy, trustAnchors, keyUsages, extendedKeyUsages, specifiedKeyUsages);
};
}
return _cached_decoder_for_ValidationPolicy(el);
}
exports._decode_ValidationPolicy = _decode_ValidationPolicy;
function _encode_ValidationPolicy(value, elGetter) {
if (!_cached_encoder_for_ValidationPolicy) {
_cached_encoder_for_ValidationPolicy = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
_encode_ValidationPolRef(value.validationPolRef, __utils.BER),
value.validationAlg === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 0, () => _encode_ValidationAlg, __utils.BER)(value.validationAlg, __utils.BER),
value.userPolicySet === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeSequenceOf(() => __utils._encodeObjectIdentifier, __utils.BER), __utils.BER)(value.userPolicySet, __utils.BER),
value.inhibitPolicyMapping ===
undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 2, () => __utils._encodeBoolean, __utils.BER)(value.inhibitPolicyMapping, __utils.BER),
value.requireExplicitPolicy ===
undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 3, () => __utils._encodeBoolean, __utils.BER)(value.requireExplicitPolicy, __utils.BER),
value.inhibitAnyPolicy === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 4, () => __utils._encodeBoolean, __utils.BER)(value.inhibitAnyPolicy, __utils.BER),
value.trustAnchors === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 5, () => _encode_TrustAnchors, __utils.BER)(value.trustAnchors, __utils.BER),
value.keyUsages === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 6, () => __utils._encodeSequenceOf(() => CertificateExtensions_1._encode_KeyUsage, __utils.BER), __utils.BER)(value.keyUsages, __utils.BER),
value.extendedKeyUsages === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 7, () => __utils._encodeSequenceOf(() => CertificateExtensions_1._encode_KeyPurposeId, __utils.BER), __utils.BER)(value.extendedKeyUsages, __utils.BER),
value.specifiedKeyUsages === undefined
? undefined
: __utils._encode_implicit(asn1.ASN1TagClass.context, 8, () => __utils._encodeSequenceOf(() => CertificateExtensions_1._encode_KeyPurposeId, __utils.BER), __utils.BER)(value.specifiedKeyUsages, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_ValidationPolicy(value, elGetter);
}
exports._encode_ValidationPolicy = _encode_ValidationPolicy;
let _cached_decoder_for_RespValidationPolicy = null;
let _cached_encoder_for_RespValidationPolicy = null;
function _decode_RespValidationPolicy(el) {
if (!_cached_decoder_for_RespValidationPolicy) {
_cached_decoder_for_RespValidationPolicy = _decode_ValidationPolicy;
}
return _cached_decoder_for_RespValidationPolicy(el);
}
exports._decode_RespValidationPolicy = _decode_RespValidationPolicy;
function _encode_RespValidationPolicy(value, elGetter) {
if (!_cached_encoder_for_RespValidationPolicy) {
_cached_encoder_for_RespValidationPolicy = _encode_ValidationPolicy;
}
return _cached_encoder_for_RespValidationPolicy(value, elGetter);
}
exports._encode_RespValidationPolicy = _encode_RespValidationPolicy;
class HashValue {
constructor(algorithm, value) {
this.algorithm = algorithm;
this.value = value;
}
static get _default_value_for_algorithm() {
return new AuthenticationFramework_1.AlgorithmIdentifier(AlgorithmObjectIdentifiers_1.id_sha1, undefined);
}
}
exports.HashValue = HashValue;
exports._root_component_type_list_1_spec_for_HashValue = [
new __utils.ComponentSpec("algorithm", true, __utils.hasTag(asn1.ASN1TagClass.universal, 16), undefined, undefined),
new __utils.ComponentSpec("value", false, __utils.hasTag(asn1.ASN1TagClass.universal, 4), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_HashValue = [];
exports._extension_additions_list_spec_for_HashValue = [];
let _cached_decoder_for_HashValue = null;
let _cached_encoder_for_HashValue = null;
function _decode_HashValue(el) {
if (!_cached_decoder_for_HashValue) {
_cached_decoder_for_HashValue = function (el) {
let algorithm = HashValue._default_value_for_algorithm;
let value;
const callbacks = {
algorithm: (_el) => {
algorithm = _decode_HashAlgorithm(_el);
},
value: (_el) => {
value = __utils._decodeOctetString(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_HashValue, exports._extension_additions_list_spec_for_HashValue, exports._root_component_type_list_2_spec_for_HashValue, undefined);
return new HashValue(algorithm, value);
};
}
return _cached_decoder_for_HashValue(el);
}
exports._decode_HashValue = _decode_HashValue;
function _encode_HashValue(value, elGetter) {
if (!_cached_encoder_for_HashValue) {
_cached_encoder_for_HashValue = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
value.algorithm === undefined ||
__utils.deepEq(value.algorithm, HashValue._default_value_for_algorithm)
? undefined
: _encode_HashAlgorithm(value.algorithm, __utils.BER),
__utils._encodeOctetString(value.value, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_HashValue(value, elGetter);
}
exports._encode_HashValue = _encode_HashValue;
let _cached_decoder_for_ACReference = null;
let _cached_encoder_for_ACReference = null;
function _decode_ACReference(el) {
if (!_cached_decoder_for_ACReference) {
_cached_decoder_for_ACReference = __utils._decode_inextensible_choice({
"CONTEXT 2": [
"attrCert",
__utils._decode_implicit(() => AttributeCertificateDefinitions_1._decode_AttributeCertificate),
],
"CONTEXT 3": [
"acRef",
__utils._decode_implicit(() => _decode_SCVPCertID),
],
});
}
return _cached_decoder_for_ACReference(el);
}
exports._decode_ACReference = _decode_ACReference;
function _encode_ACReference(value, elGetter) {
if (!_cached_encoder_for_ACReference) {
_cached_encoder_for_ACReference = __utils._encode_choice({
attrCert: __utils._encode_implicit(asn1.ASN1TagClass.context, 2, () => AttributeCertificateDefinitions_1._encode_AttributeCertificate, __utils.BER),
acRef: __utils._encode_implicit(asn1.ASN1TagClass.context, 3, () => _encode_SCVPCertID, __utils.BER),
}, __utils.BER);
}
return _cached_encoder_for_ACReference(value, elGetter);
}
exports._encode_ACReference = _encode_ACReference;
let _cached_decoder_for_CertReferences = null;
let _cached_encoder_for_CertReferences = null;
function _decode_CertReferences(el) {
if (!_cached_decoder_for_CertReferences) {
_cached_decoder_for_CertReferences = __utils._decode_inextensible_choice({
"CONTEXT 0": [
"pkcRefs",
__utils._decode_implicit(() => __utils._decodeSequenceOf(() => _decode_PKCReference)),
],
"CONTEXT 1": [
"acRefs",
__utils._decode_implicit(() => __utils._decodeSequenceOf(() => _decode_ACReference)),
],
});
}
return _cached_decoder_for_CertReferences(el);
}
exports._decode_CertReferences = _decode_CertReferences;
function _encode_CertReferences(value, elGetter) {
if (!_cached_encoder_for_CertReferences) {
_cached_encoder_for_CertReferences = __utils._encode_choice({
pkcRefs: __utils._encode_implicit(asn1.ASN1TagClass.context, 0, () => __utils._encodeSequenceOf(() => _encode_PKCReference, __utils.BER), __utils.BER),
acRefs: __utils._encode_implicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeSequenceOf(() => _encode_ACReference, __utils.BER), __utils.BER),
}, __utils.BER);
}
return _cached_encoder_for_CertReferences(value, elGetter);
}
exports._encode_CertReferences = _encode_CertReferences;
let _cached_decoder_for_CertChecks = null;
let _cached_encoder_for_CertChecks = null;
function _decode_CertChecks(el) {
if (!_cached_decoder_for_CertChecks) {
_cached_decoder_for_CertChecks = __utils._decodeSequenceOf(() => __utils._decodeObjectIdentifier);
}
return _cached_decoder_for_CertChecks(el);
}
exports._decode_CertChecks = _decode_CertChecks;
function _encode_CertChecks(value, elGetter) {
if (!_cached_encoder_for_CertChecks) {
_cached_encoder_for_CertChecks = __utils._encodeSequenceOf(() => __utils._encodeObjectIdentifier, __utils.BER);
}
return _cached_encoder_for_CertChecks(value, elGetter);
}
exports._encode_CertChecks = _encode_CertChecks;
let _cached_decoder_for_WantBack = null;
let _cached_encoder_for_WantBack = null;
function _decode_WantBack(el) {
if (!_cached_decoder_for_WantBack) {
_cached_decoder_for_WantBack = __utils._decodeSequenceOf(() => __utils._decodeObjectIdentifier);
}
return _cached_decoder_for_WantBack(el);
}
exports._decode_WantBack = _decode_WantBack;
function _encode_WantBack(value, elGetter) {
if (!_cached_encoder_for_WantBack) {
_cached_encoder_for_WantBack = __utils._encodeSequenceOf(() => __utils._encodeObjectIdentifier, __utils.BER);
}
return _cached_encoder_for_WantBack(value, elGetter);
}
exports._encode_WantBack = _encode_WantBack;
class ResponseFlags {
constructor(fullRequestInResponse, responseValidationPolByRef, protectResponse, cachedResponse) {
this.fullRequestInResponse = fullRequestInResponse;
this.responseValidationPolByRef = responseValidationPolByRef;
this.protectResponse = protectResponse;
this.cachedResponse = cachedResponse;
}
static get _default_value_for_fullRequestInResponse() {
return false;
}
static get _default_value_for_responseValidationPolByRef() {
return true;
}
static get _default_value_for_protectResponse() {
return true;
}
static get _default_value_for_cachedResponse() {
return true;
}
}
exports.ResponseFlags = ResponseFlags;
exports._root_component_type_list_1_spec_for_ResponseFlags = [
new __utils.ComponentSpec("fullRequestInResponse", true, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("responseValidationPolByRef", true, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("protectResponse", true, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
new __utils.ComponentSpec("cachedResponse", true, __utils.hasTag(asn1.ASN1TagClass.context, 3), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_ResponseFlags = [];
exports._extension_additions_list_spec_for_ResponseFlags = [];
let _cached_decoder_for_ResponseFlags = null;
let _cached_encoder_for_ResponseFlags = null;
function _decode_ResponseFlags(el) {
if (!_cached_decoder_for_ResponseFlags) {
_cached_decoder_for_ResponseFlags = function (el) {
let fullRequestInResponse = ResponseFlags._default_value_for_fullRequestInResponse;
let responseValidationPolByRef = ResponseFlags._default_value_for_responseValidationPolByRef;
let protectResponse = ResponseFlags._default_value_for_protectResponse;
let cachedResponse = ResponseFlags._default_value_for_cachedResponse;
const callbacks = {
fullRequestInResponse: (_el) => {
fullRequestInResponse = __utils._decode_implicit(() => __utils._decodeBoolean)(_el);
},
responseValidationPolByRef: (_el) => {
responseValidationPolByRef = __utils._decode_implicit(() => __utils._decodeBoolean)(_el);
},
protectResponse: (_el) => {