kerberos5-ts
Version:
Kerberos 5 Protocol in pure TypeScript
805 lines • 158 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports._encode_AD_MANDATORY_FOR_KDC = exports._decode_AD_MANDATORY_FOR_KDC = exports._encode_AD_AND_OR = exports._decode_AD_AND_OR = exports._extension_additions_list_spec_for_AD_AND_OR = exports._root_component_type_list_2_spec_for_AD_AND_OR = exports._root_component_type_list_1_spec_for_AD_AND_OR = exports.AD_AND_OR = exports._encode_AD_KDCIssued = exports._decode_AD_KDCIssued = exports._extension_additions_list_spec_for_AD_KDCIssued = exports._root_component_type_list_2_spec_for_AD_KDCIssued = exports._root_component_type_list_1_spec_for_AD_KDCIssued = exports.AD_KDCIssued = exports._encode_AD_IF_RELEVANT = exports._decode_AD_IF_RELEVANT = exports._encode_ETYPE_INFO2 = exports._decode_ETYPE_INFO2 = exports._encode_ETYPE_INFO2_ENTRY = exports._decode_ETYPE_INFO2_ENTRY = exports._extension_additions_list_spec_for_ETYPE_INFO2_ENTRY = exports._root_component_type_list_2_spec_for_ETYPE_INFO2_ENTRY = exports._root_component_type_list_1_spec_for_ETYPE_INFO2_ENTRY = exports.ETYPE_INFO2_ENTRY = exports._encode_ETYPE_INFO = exports._decode_ETYPE_INFO = exports._encode_ETYPE_INFO_ENTRY = exports._decode_ETYPE_INFO_ENTRY = exports._extension_additions_list_spec_for_ETYPE_INFO_ENTRY = exports._root_component_type_list_2_spec_for_ETYPE_INFO_ENTRY = exports._root_component_type_list_1_spec_for_ETYPE_INFO_ENTRY = exports.ETYPE_INFO_ENTRY = exports._encode_PA_ENC_TS_ENC = exports._decode_PA_ENC_TS_ENC = exports._extension_additions_list_spec_for_PA_ENC_TS_ENC = exports._root_component_type_list_2_spec_for_PA_ENC_TS_ENC = exports._root_component_type_list_1_spec_for_PA_ENC_TS_ENC = exports.PA_ENC_TS_ENC = exports._encode_PA_ENC_TIMESTAMP = exports._decode_PA_ENC_TIMESTAMP = exports._encode_TYPED_DATA = exports._decode_TYPED_DATA = exports._encode_TYPED_DATA_Item = exports._decode_TYPED_DATA_Item = exports._extension_additions_list_spec_for_TYPED_DATA_Item = exports._root_component_type_list_2_spec_for_TYPED_DATA_Item = exports._root_component_type_list_1_spec_for_TYPED_DATA_Item = exports.TYPED_DATA_Item = exports._encode_METHOD_DATA = exports._decode_METHOD_DATA = exports._encode_KRB_ERROR = exports._decode_KRB_ERROR = exports._extension_additions_list_spec_for_KRB_ERROR = exports._root_component_type_list_2_spec_for_KRB_ERROR = exports._root_component_type_list_1_spec_for_KRB_ERROR = exports.KRB_ERROR = exports._encode_EncKrbCredPart = exports._decode_EncKrbCredPart = exports._extension_additions_list_spec_for_EncKrbCredPart = exports._root_component_type_list_2_spec_for_EncKrbCredPart = exports._root_component_type_list_1_spec_for_EncKrbCredPart = exports.EncKrbCredPart = exports._encode_KrbCredInfo = exports._decode_KrbCredInfo = exports._extension_additions_list_spec_for_KrbCredInfo = exports._root_component_type_list_2_spec_for_KrbCredInfo = exports._root_component_type_list_1_spec_for_KrbCredInfo = exports.KrbCredInfo = exports._encode_KRB_CRED = exports._decode_KRB_CRED = exports._extension_additions_list_spec_for_KRB_CRED = exports._root_component_type_list_2_spec_for_KRB_CRED = exports._root_component_type_list_1_spec_for_KRB_CRED = exports.KRB_CRED = exports._encode_EncKrbPrivPart = exports._decode_EncKrbPrivPart = exports._extension_additions_list_spec_for_EncKrbPrivPart = exports._root_component_type_list_2_spec_for_EncKrbPrivPart = exports._root_component_type_list_1_spec_for_EncKrbPrivPart = exports.EncKrbPrivPart = exports._encode_KRB_PRIV = exports._decode_KRB_PRIV = exports._extension_additions_list_spec_for_KRB_PRIV = exports._root_component_type_list_2_spec_for_KRB_PRIV = exports._root_component_type_list_1_spec_for_KRB_PRIV = exports.KRB_PRIV = exports._encode_KRB_SAFE = exports._decode_KRB_SAFE = exports._extension_additions_list_spec_for_KRB_SAFE = exports._root_component_type_list_2_spec_for_KRB_SAFE = exports._root_component_type_list_1_spec_for_KRB_SAFE = exports.KRB_SAFE = exports._encode_KRB_SAFE_BODY = exports._decode_KRB_SAFE_BODY = exports._extension_additions_list_spec_for_KRB_SAFE_BODY = exports._root_component_type_list_2_spec_for_KRB_SAFE_BODY = exports._root_component_type_list_1_spec_for_KRB_SAFE_BODY = exports.KRB_SAFE_BODY = exports._encode_EncAPRepPart = exports._decode_EncAPRepPart = exports._extension_additions_list_spec_for_EncAPRepPart = exports._root_component_type_list_2_spec_for_EncAPRepPart = exports._root_component_type_list_1_spec_for_EncAPRepPart = exports.EncAPRepPart = exports._encode_AP_REP = exports._decode_AP_REP = exports._extension_additions_list_spec_for_AP_REP = exports._root_component_type_list_2_spec_for_AP_REP = exports._root_component_type_list_1_spec_for_AP_REP = exports.AP_REP = exports._encode_Authenticator = exports._decode_Authenticator = exports._extension_additions_list_spec_for_Authenticator = exports._root_component_type_list_2_spec_for_Authenticator = exports._root_component_type_list_1_spec_for_Authenticator = exports.Authenticator = exports._encode_Microseconds = exports._decode_Microseconds = exports._encode_Checksum = exports._decode_Checksum = exports._extension_additions_list_spec_for_Checksum = exports._root_component_type_list_2_spec_for_Checksum = exports._root_component_type_list_1_spec_for_Checksum = exports.Checksum = exports._encode_AP_REQ = exports._decode_AP_REQ = exports._extension_additions_list_spec_for_AP_REQ = exports._root_component_type_list_2_spec_for_AP_REQ = exports._root_component_type_list_1_spec_for_AP_REQ = exports.AP_REQ = exports._encode_APOptions = exports._decode_APOptions = exports._encode_EncTGSRepPart = exports._decode_EncTGSRepPart = exports._encode_EncASRepPart = exports._decode_EncASRepPart = exports._encode_EncKDCRepPart = exports._decode_EncKDCRepPart = exports._extension_additions_list_spec_for_EncKDCRepPart = exports._root_component_type_list_2_spec_for_EncKDCRepPart = exports._root_component_type_list_1_spec_for_EncKDCRepPart = exports.EncKDCRepPart = exports._encode_LastReq = exports._decode_LastReq = exports._encode_LastReq_Item = exports._decode_LastReq_Item = exports._extension_additions_list_spec_for_LastReq_Item = exports._root_component_type_list_2_spec_for_LastReq_Item = exports._root_component_type_list_1_spec_for_LastReq_Item = exports.LastReq_Item = exports._encode_TGS_REP = exports._decode_TGS_REP = exports._encode_AS_REP = exports._decode_AS_REP = exports._encode_KDC_REP = exports._decode_KDC_REP = exports._extension_additions_list_spec_for_KDC_REP = exports._root_component_type_list_2_spec_for_KDC_REP = exports._root_component_type_list_1_spec_for_KDC_REP = exports.KDC_REP = exports._encode_TGS_REQ = exports._decode_TGS_REQ = exports._encode_AS_REQ = exports._decode_AS_REQ = exports._encode_KDC_REQ = exports._decode_KDC_REQ = exports._extension_additions_list_spec_for_KDC_REQ = exports._root_component_type_list_2_spec_for_KDC_REQ = exports._root_component_type_list_1_spec_for_KDC_REQ = exports.KDC_REQ = exports._encode_KDC_REQ_BODY = exports._decode_KDC_REQ_BODY = exports._extension_additions_list_spec_for_KDC_REQ_BODY = exports._root_component_type_list_2_spec_for_KDC_REQ_BODY = exports._root_component_type_list_1_spec_for_KDC_REQ_BODY = exports.KDC_REQ_BODY = exports._encode_Ticket = exports._decode_Ticket = exports._extension_additions_list_spec_for_Ticket = exports._root_component_type_list_2_spec_for_Ticket = exports._root_component_type_list_1_spec_for_Ticket = exports.Ticket = exports._encode_EncryptedData = exports._decode_EncryptedData = exports._extension_additions_list_spec_for_EncryptedData = exports._root_component_type_list_2_spec_for_EncryptedData = exports._root_component_type_list_1_spec_for_EncryptedData = exports.EncryptedData = exports._encode_UInt32 = exports._decode_UInt32 = exports._encode_KDCOptions = exports._decode_KDCOptions = exports._encode_PA_DATA = exports._decode_PA_DATA = exports._extension_additions_list_spec_for_PA_DATA = exports._root_component_type_list_2_spec_for_PA_DATA = exports._root_component_type_list_1_spec_for_PA_DATA = exports.PA_DATA = exports._encode_EncTicketPart = exports._decode_EncTicketPart = exports._extension_additions_list_spec_for_EncTicketPart = exports._root_component_type_list_2_spec_for_EncTicketPart = exports._root_component_type_list_1_spec_for_EncTicketPart = exports.EncTicketPart = exports._encode_AuthorizationData = exports._decode_AuthorizationData = exports._encode_AuthorizationData_Item = exports._decode_AuthorizationData_Item = exports._extension_additions_list_spec_for_AuthorizationData_Item = exports._root_component_type_list_2_spec_for_AuthorizationData_Item = exports._root_component_type_list_1_spec_for_AuthorizationData_Item = exports.AuthorizationData_Item = exports._encode_HostAddresses = exports._decode_HostAddresses = exports._encode_HostAddress = exports._decode_HostAddress = exports._extension_additions_list_spec_for_HostAddress = exports._root_component_type_list_2_spec_for_HostAddress = exports._root_component_type_list_1_spec_for_HostAddress = exports.HostAddress = exports._encode_KerberosTime = exports._decode_KerberosTime = exports._encode_TransitedEncoding = exports._decode_TransitedEncoding = exports._extension_additions_list_spec_for_TransitedEncoding = exports._root_component_type_list_2_spec_for_TransitedEncoding = exports._root_component_type_list_1_spec_for_TransitedEncoding = exports.TransitedEncoding = exports._encode_PrincipalName = exports._decode_PrincipalName = exports._extension_additions_list_spec_for_PrincipalName = exports._root_component_type_list_2_spec_for_PrincipalName = exports._root_component_type_list_1_spec_for_PrincipalName = exports.PrincipalName = exports._encode_Realm = exports._decode_Realm = exports._encode_KerberosString = exports._decode_KerberosString = exports._encode_EncryptionKey = exports._decode_EncryptionKey = exports._extension_additions_list_spec_for_EncryptionKey = exports._root_component_type_list_2_spec_for_EncryptionKey = exports._root_component_type_list_1_spec_for_EncryptionKey = exports.EncryptionKey = exports._encode_Int32 = exports._decode_Int32 = exports._encode_TicketFlags = exports._decode_TicketFlags = exports._encode_KerberosFlags = exports._decode_KerberosFlags = exports.id_krb5 = void 0;
const tslib_1 = require("tslib");
const asn1 = tslib_1.__importStar(require("asn1-ts"));
const __utils = tslib_1.__importStar(require("./__utils"));
exports.id_krb5 = new asn1.ObjectIdentifier([
1,
3,
6,
1,
5,
2,
]);
let _cached_decoder_for_KerberosFlags = null;
let _cached_encoder_for_KerberosFlags = null;
function _decode_KerberosFlags(el) {
if (!_cached_decoder_for_KerberosFlags) {
_cached_decoder_for_KerberosFlags = __utils._decodeBitString;
}
return _cached_decoder_for_KerberosFlags(el);
}
exports._decode_KerberosFlags = _decode_KerberosFlags;
function _encode_KerberosFlags(value, elGetter) {
if (!_cached_encoder_for_KerberosFlags) {
_cached_encoder_for_KerberosFlags = __utils._encodeBitString;
}
return _cached_encoder_for_KerberosFlags(value, elGetter);
}
exports._encode_KerberosFlags = _encode_KerberosFlags;
let _cached_decoder_for_TicketFlags = null;
let _cached_encoder_for_TicketFlags = null;
function _decode_TicketFlags(el) {
if (!_cached_decoder_for_TicketFlags) {
_cached_decoder_for_TicketFlags = _decode_KerberosFlags;
}
return _cached_decoder_for_TicketFlags(el);
}
exports._decode_TicketFlags = _decode_TicketFlags;
function _encode_TicketFlags(value, elGetter) {
if (!_cached_encoder_for_TicketFlags) {
_cached_encoder_for_TicketFlags = _encode_KerberosFlags;
}
return _cached_encoder_for_TicketFlags(value, elGetter);
}
exports._encode_TicketFlags = _encode_TicketFlags;
let _cached_decoder_for_Int32 = null;
let _cached_encoder_for_Int32 = null;
function _decode_Int32(el) {
if (!_cached_decoder_for_Int32) {
_cached_decoder_for_Int32 = __utils._decodeInteger;
}
return _cached_decoder_for_Int32(el);
}
exports._decode_Int32 = _decode_Int32;
function _encode_Int32(value, elGetter) {
if (!_cached_encoder_for_Int32) {
_cached_encoder_for_Int32 = __utils._encodeInteger;
}
return _cached_encoder_for_Int32(value, elGetter);
}
exports._encode_Int32 = _encode_Int32;
class EncryptionKey {
constructor(keytype, keyvalue) {
this.keytype = keytype;
this.keyvalue = keyvalue;
}
}
exports.EncryptionKey = EncryptionKey;
exports._root_component_type_list_1_spec_for_EncryptionKey = [
new __utils.ComponentSpec("keytype", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("keyvalue", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_EncryptionKey = [];
exports._extension_additions_list_spec_for_EncryptionKey = [];
let _cached_decoder_for_EncryptionKey = null;
let _cached_encoder_for_EncryptionKey = null;
function _decode_EncryptionKey(el) {
if (!_cached_decoder_for_EncryptionKey) {
_cached_decoder_for_EncryptionKey = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("EncryptionKey contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "keytype";
sequence[1].name = "keyvalue";
let keytype;
let keyvalue;
keytype = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
keyvalue = __utils._decode_explicit(() => __utils._decodeOctetString)(sequence[1]);
return new EncryptionKey(keytype, keyvalue);
};
}
return _cached_decoder_for_EncryptionKey(el);
}
exports._decode_EncryptionKey = _decode_EncryptionKey;
function _encode_EncryptionKey(value, elGetter) {
if (!_cached_encoder_for_EncryptionKey) {
_cached_encoder_for_EncryptionKey = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.keytype, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeOctetString, __utils.BER)(value.keyvalue, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_EncryptionKey(value, elGetter);
}
exports._encode_EncryptionKey = _encode_EncryptionKey;
let _cached_decoder_for_KerberosString = null;
let _cached_encoder_for_KerberosString = null;
function _decode_KerberosString(el) {
if (!_cached_decoder_for_KerberosString) {
_cached_decoder_for_KerberosString = __utils._decodeGeneralString;
}
return _cached_decoder_for_KerberosString(el);
}
exports._decode_KerberosString = _decode_KerberosString;
function _encode_KerberosString(value, elGetter) {
if (!_cached_encoder_for_KerberosString) {
_cached_encoder_for_KerberosString = __utils._encodeGeneralString;
}
return _cached_encoder_for_KerberosString(value, elGetter);
}
exports._encode_KerberosString = _encode_KerberosString;
let _cached_decoder_for_Realm = null;
let _cached_encoder_for_Realm = null;
function _decode_Realm(el) {
if (!_cached_decoder_for_Realm) {
_cached_decoder_for_Realm = _decode_KerberosString;
}
return _cached_decoder_for_Realm(el);
}
exports._decode_Realm = _decode_Realm;
function _encode_Realm(value, elGetter) {
if (!_cached_encoder_for_Realm) {
_cached_encoder_for_Realm = _encode_KerberosString;
}
return _cached_encoder_for_Realm(value, elGetter);
}
exports._encode_Realm = _encode_Realm;
class PrincipalName {
constructor(name_type, name_string) {
this.name_type = name_type;
this.name_string = name_string;
}
}
exports.PrincipalName = PrincipalName;
exports._root_component_type_list_1_spec_for_PrincipalName = [
new __utils.ComponentSpec("name-type", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("name-string", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_PrincipalName = [];
exports._extension_additions_list_spec_for_PrincipalName = [];
let _cached_decoder_for_PrincipalName = null;
let _cached_encoder_for_PrincipalName = null;
function _decode_PrincipalName(el) {
if (!_cached_decoder_for_PrincipalName) {
_cached_decoder_for_PrincipalName = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("PrincipalName contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "name-type";
sequence[1].name = "name-string";
let name_type;
let name_string;
name_type = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
name_string = __utils._decode_explicit(() => __utils._decodeSequenceOf(() => _decode_KerberosString))(sequence[1]);
return new PrincipalName(name_type, name_string);
};
}
return _cached_decoder_for_PrincipalName(el);
}
exports._decode_PrincipalName = _decode_PrincipalName;
function _encode_PrincipalName(value, elGetter) {
if (!_cached_encoder_for_PrincipalName) {
_cached_encoder_for_PrincipalName = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.name_type, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeSequenceOf(() => _encode_KerberosString, __utils.BER), __utils.BER)(value.name_string, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_PrincipalName(value, elGetter);
}
exports._encode_PrincipalName = _encode_PrincipalName;
class TransitedEncoding {
constructor(tr_type, contents) {
this.tr_type = tr_type;
this.contents = contents;
}
}
exports.TransitedEncoding = TransitedEncoding;
exports._root_component_type_list_1_spec_for_TransitedEncoding = [
new __utils.ComponentSpec("tr-type", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("contents", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_TransitedEncoding = [];
exports._extension_additions_list_spec_for_TransitedEncoding = [];
let _cached_decoder_for_TransitedEncoding = null;
let _cached_encoder_for_TransitedEncoding = null;
function _decode_TransitedEncoding(el) {
if (!_cached_decoder_for_TransitedEncoding) {
_cached_decoder_for_TransitedEncoding = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("TransitedEncoding contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "tr-type";
sequence[1].name = "contents";
let tr_type;
let contents;
tr_type = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
contents = __utils._decode_explicit(() => __utils._decodeOctetString)(sequence[1]);
return new TransitedEncoding(tr_type, contents);
};
}
return _cached_decoder_for_TransitedEncoding(el);
}
exports._decode_TransitedEncoding = _decode_TransitedEncoding;
function _encode_TransitedEncoding(value, elGetter) {
if (!_cached_encoder_for_TransitedEncoding) {
_cached_encoder_for_TransitedEncoding = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.tr_type, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeOctetString, __utils.BER)(value.contents, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_TransitedEncoding(value, elGetter);
}
exports._encode_TransitedEncoding = _encode_TransitedEncoding;
let _cached_decoder_for_KerberosTime = null;
let _cached_encoder_for_KerberosTime = null;
function _decode_KerberosTime(el) {
if (!_cached_decoder_for_KerberosTime) {
_cached_decoder_for_KerberosTime = __utils._decodeGeneralizedTime;
}
return _cached_decoder_for_KerberosTime(el);
}
exports._decode_KerberosTime = _decode_KerberosTime;
function _encode_KerberosTime(value, elGetter) {
if (!_cached_encoder_for_KerberosTime) {
_cached_encoder_for_KerberosTime = __utils._encodeGeneralizedTime;
}
return _cached_encoder_for_KerberosTime(value, elGetter);
}
exports._encode_KerberosTime = _encode_KerberosTime;
class HostAddress {
constructor(addr_type, address) {
this.addr_type = addr_type;
this.address = address;
}
}
exports.HostAddress = HostAddress;
exports._root_component_type_list_1_spec_for_HostAddress = [
new __utils.ComponentSpec("addr-type", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("address", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_HostAddress = [];
exports._extension_additions_list_spec_for_HostAddress = [];
let _cached_decoder_for_HostAddress = null;
let _cached_encoder_for_HostAddress = null;
function _decode_HostAddress(el) {
if (!_cached_decoder_for_HostAddress) {
_cached_decoder_for_HostAddress = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("HostAddress contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "addr-type";
sequence[1].name = "address";
let addr_type;
let address;
addr_type = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
address = __utils._decode_explicit(() => __utils._decodeOctetString)(sequence[1]);
return new HostAddress(addr_type, address);
};
}
return _cached_decoder_for_HostAddress(el);
}
exports._decode_HostAddress = _decode_HostAddress;
function _encode_HostAddress(value, elGetter) {
if (!_cached_encoder_for_HostAddress) {
_cached_encoder_for_HostAddress = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.addr_type, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeOctetString, __utils.BER)(value.address, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_HostAddress(value, elGetter);
}
exports._encode_HostAddress = _encode_HostAddress;
let _cached_decoder_for_HostAddresses = null;
let _cached_encoder_for_HostAddresses = null;
function _decode_HostAddresses(el) {
if (!_cached_decoder_for_HostAddresses) {
_cached_decoder_for_HostAddresses = __utils._decodeSequenceOf(() => _decode_HostAddress);
}
return _cached_decoder_for_HostAddresses(el);
}
exports._decode_HostAddresses = _decode_HostAddresses;
function _encode_HostAddresses(value, elGetter) {
if (!_cached_encoder_for_HostAddresses) {
_cached_encoder_for_HostAddresses = __utils._encodeSequenceOf(() => _encode_HostAddress, __utils.BER);
}
return _cached_encoder_for_HostAddresses(value, elGetter);
}
exports._encode_HostAddresses = _encode_HostAddresses;
class AuthorizationData_Item {
constructor(ad_type, ad_data) {
this.ad_type = ad_type;
this.ad_data = ad_data;
}
}
exports.AuthorizationData_Item = AuthorizationData_Item;
exports._root_component_type_list_1_spec_for_AuthorizationData_Item = [
new __utils.ComponentSpec("ad-type", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("ad-data", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_AuthorizationData_Item = [];
exports._extension_additions_list_spec_for_AuthorizationData_Item = [];
let _cached_decoder_for_AuthorizationData_Item = null;
let _cached_encoder_for_AuthorizationData_Item = null;
function _decode_AuthorizationData_Item(el) {
if (!_cached_decoder_for_AuthorizationData_Item) {
_cached_decoder_for_AuthorizationData_Item = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("AuthorizationData-Item contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "ad-type";
sequence[1].name = "ad-data";
let ad_type;
let ad_data;
ad_type = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
ad_data = __utils._decode_explicit(() => __utils._decodeOctetString)(sequence[1]);
return new AuthorizationData_Item(ad_type, ad_data);
};
}
return _cached_decoder_for_AuthorizationData_Item(el);
}
exports._decode_AuthorizationData_Item = _decode_AuthorizationData_Item;
function _encode_AuthorizationData_Item(value, elGetter) {
if (!_cached_encoder_for_AuthorizationData_Item) {
_cached_encoder_for_AuthorizationData_Item = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.ad_type, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => __utils._encodeOctetString, __utils.BER)(value.ad_data, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_AuthorizationData_Item(value, elGetter);
}
exports._encode_AuthorizationData_Item = _encode_AuthorizationData_Item;
let _cached_decoder_for_AuthorizationData = null;
let _cached_encoder_for_AuthorizationData = null;
function _decode_AuthorizationData(el) {
if (!_cached_decoder_for_AuthorizationData) {
_cached_decoder_for_AuthorizationData = __utils._decodeSequenceOf(() => _decode_AuthorizationData_Item);
}
return _cached_decoder_for_AuthorizationData(el);
}
exports._decode_AuthorizationData = _decode_AuthorizationData;
function _encode_AuthorizationData(value, elGetter) {
if (!_cached_encoder_for_AuthorizationData) {
_cached_encoder_for_AuthorizationData = __utils._encodeSequenceOf(() => _encode_AuthorizationData_Item, __utils.BER);
}
return _cached_encoder_for_AuthorizationData(value, elGetter);
}
exports._encode_AuthorizationData = _encode_AuthorizationData;
class EncTicketPart {
constructor(flags, key, crealm, cname, transited, authtime, starttime, endtime, renew_till, caddr, authorization_data) {
this.flags = flags;
this.key = key;
this.crealm = crealm;
this.cname = cname;
this.transited = transited;
this.authtime = authtime;
this.starttime = starttime;
this.endtime = endtime;
this.renew_till = renew_till;
this.caddr = caddr;
this.authorization_data = authorization_data;
}
}
exports.EncTicketPart = EncTicketPart;
exports._root_component_type_list_1_spec_for_EncTicketPart = [
new __utils.ComponentSpec("flags", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("key", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("crealm", false, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
new __utils.ComponentSpec("cname", false, __utils.hasTag(asn1.ASN1TagClass.context, 3), undefined, undefined),
new __utils.ComponentSpec("transited", false, __utils.hasTag(asn1.ASN1TagClass.context, 4), undefined, undefined),
new __utils.ComponentSpec("authtime", false, __utils.hasTag(asn1.ASN1TagClass.context, 5), undefined, undefined),
new __utils.ComponentSpec("starttime", true, __utils.hasTag(asn1.ASN1TagClass.context, 6), undefined, undefined),
new __utils.ComponentSpec("endtime", false, __utils.hasTag(asn1.ASN1TagClass.context, 7), undefined, undefined),
new __utils.ComponentSpec("renew-till", true, __utils.hasTag(asn1.ASN1TagClass.context, 8), undefined, undefined),
new __utils.ComponentSpec("caddr", true, __utils.hasTag(asn1.ASN1TagClass.context, 9), undefined, undefined),
new __utils.ComponentSpec("authorization-data", true, __utils.hasTag(asn1.ASN1TagClass.context, 10), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_EncTicketPart = [];
exports._extension_additions_list_spec_for_EncTicketPart = [];
let _cached_decoder_for_EncTicketPart = null;
let _cached_encoder_for_EncTicketPart = null;
function _decode_EncTicketPart(el) {
if (!_cached_decoder_for_EncTicketPart) {
_cached_decoder_for_EncTicketPart = __utils._decode_explicit(() => function (el) {
let flags;
let key;
let crealm;
let cname;
let transited;
let authtime;
let starttime;
let endtime;
let renew_till;
let caddr;
let authorization_data;
const callbacks = {
flags: (_el) => {
flags = __utils._decode_explicit(() => _decode_TicketFlags)(_el);
},
key: (_el) => {
key = __utils._decode_explicit(() => _decode_EncryptionKey)(_el);
},
crealm: (_el) => {
crealm = __utils._decode_explicit(() => _decode_Realm)(_el);
},
cname: (_el) => {
cname = __utils._decode_explicit(() => _decode_PrincipalName)(_el);
},
transited: (_el) => {
transited = __utils._decode_explicit(() => _decode_TransitedEncoding)(_el);
},
authtime: (_el) => {
authtime = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
starttime: (_el) => {
starttime = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
endtime: (_el) => {
endtime = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
"renew-till": (_el) => {
renew_till = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
caddr: (_el) => {
caddr = __utils._decode_explicit(() => _decode_HostAddresses)(_el);
},
"authorization-data": (_el) => {
authorization_data = __utils._decode_explicit(() => _decode_AuthorizationData)(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_EncTicketPart, exports._extension_additions_list_spec_for_EncTicketPart, exports._root_component_type_list_2_spec_for_EncTicketPart, undefined);
return new EncTicketPart(flags, key, crealm, cname, transited, authtime, starttime, endtime, renew_till, caddr, authorization_data);
});
}
return _cached_decoder_for_EncTicketPart(el);
}
exports._decode_EncTicketPart = _decode_EncTicketPart;
function _encode_EncTicketPart(value, elGetter) {
if (!_cached_encoder_for_EncTicketPart) {
_cached_encoder_for_EncTicketPart = __utils._encode_explicit(asn1.ASN1TagClass.application, 3, () => function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_TicketFlags, __utils.BER)(value.flags, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => _encode_EncryptionKey, __utils.BER)(value.key, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 2, () => _encode_Realm, __utils.BER)(value.crealm, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 3, () => _encode_PrincipalName, __utils.BER)(value.cname, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 4, () => _encode_TransitedEncoding, __utils.BER)(value.transited, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 5, () => _encode_KerberosTime, __utils.BER)(value.authtime, __utils.BER),
value.starttime === undefined
? undefined
: __utils._encode_explicit(asn1.ASN1TagClass.context, 6, () => _encode_KerberosTime, __utils.BER)(value.starttime, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 7, () => _encode_KerberosTime, __utils.BER)(value.endtime, __utils.BER),
value.renew_till === undefined
? undefined
: __utils._encode_explicit(asn1.ASN1TagClass.context, 8, () => _encode_KerberosTime, __utils.BER)(value.renew_till, __utils.BER),
value.caddr === undefined
? undefined
: __utils._encode_explicit(asn1.ASN1TagClass.context, 9, () => _encode_HostAddresses, __utils.BER)(value.caddr, __utils.BER),
value.authorization_data ===
undefined
? undefined
: __utils._encode_explicit(asn1.ASN1TagClass.context, 10, () => _encode_AuthorizationData, __utils.BER)(value.authorization_data, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
}, __utils.BER);
}
return _cached_encoder_for_EncTicketPart(value, elGetter);
}
exports._encode_EncTicketPart = _encode_EncTicketPart;
class PA_DATA {
constructor(padata_type, padata_value) {
this.padata_type = padata_type;
this.padata_value = padata_value;
}
}
exports.PA_DATA = PA_DATA;
exports._root_component_type_list_1_spec_for_PA_DATA = [
new __utils.ComponentSpec("padata-type", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("padata-value", false, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_PA_DATA = [];
exports._extension_additions_list_spec_for_PA_DATA = [];
let _cached_decoder_for_PA_DATA = null;
let _cached_encoder_for_PA_DATA = null;
function _decode_PA_DATA(el) {
if (!_cached_decoder_for_PA_DATA) {
_cached_decoder_for_PA_DATA = function (el) {
const sequence = el.sequence;
if (sequence.length < 2) {
throw new asn1.ASN1ConstructionError("PA-DATA contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "padata-type";
sequence[1].name = "padata-value";
let padata_type;
let padata_value;
padata_type = __utils._decode_explicit(() => _decode_Int32)(sequence[0]);
padata_value = __utils._decode_explicit(() => __utils._decodeOctetString)(sequence[1]);
return new PA_DATA(padata_type, padata_value);
};
}
return _cached_decoder_for_PA_DATA(el);
}
exports._decode_PA_DATA = _decode_PA_DATA;
function _encode_PA_DATA(value, elGetter) {
if (!_cached_encoder_for_PA_DATA) {
_cached_encoder_for_PA_DATA = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => _encode_Int32, __utils.BER)(value.padata_type, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 2, () => __utils._encodeOctetString, __utils.BER)(value.padata_value, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_PA_DATA(value, elGetter);
}
exports._encode_PA_DATA = _encode_PA_DATA;
let _cached_decoder_for_KDCOptions = null;
let _cached_encoder_for_KDCOptions = null;
function _decode_KDCOptions(el) {
if (!_cached_decoder_for_KDCOptions) {
_cached_decoder_for_KDCOptions = _decode_KerberosFlags;
}
return _cached_decoder_for_KDCOptions(el);
}
exports._decode_KDCOptions = _decode_KDCOptions;
function _encode_KDCOptions(value, elGetter) {
if (!_cached_encoder_for_KDCOptions) {
_cached_encoder_for_KDCOptions = _encode_KerberosFlags;
}
return _cached_encoder_for_KDCOptions(value, elGetter);
}
exports._encode_KDCOptions = _encode_KDCOptions;
let _cached_decoder_for_UInt32 = null;
let _cached_encoder_for_UInt32 = null;
function _decode_UInt32(el) {
if (!_cached_decoder_for_UInt32) {
_cached_decoder_for_UInt32 = __utils._decodeInteger;
}
return _cached_decoder_for_UInt32(el);
}
exports._decode_UInt32 = _decode_UInt32;
function _encode_UInt32(value, elGetter) {
if (!_cached_encoder_for_UInt32) {
_cached_encoder_for_UInt32 = __utils._encodeInteger;
}
return _cached_encoder_for_UInt32(value, elGetter);
}
exports._encode_UInt32 = _encode_UInt32;
class EncryptedData {
constructor(etype, kvno, cipher) {
this.etype = etype;
this.kvno = kvno;
this.cipher = cipher;
}
}
exports.EncryptedData = EncryptedData;
exports._root_component_type_list_1_spec_for_EncryptedData = [
new __utils.ComponentSpec("etype", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("kvno", true, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("cipher", false, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_EncryptedData = [];
exports._extension_additions_list_spec_for_EncryptedData = [];
let _cached_decoder_for_EncryptedData = null;
let _cached_encoder_for_EncryptedData = null;
function _decode_EncryptedData(el) {
if (!_cached_decoder_for_EncryptedData) {
_cached_decoder_for_EncryptedData = function (el) {
let etype;
let kvno;
let cipher;
const callbacks = {
etype: (_el) => {
etype = __utils._decode_explicit(() => _decode_Int32)(_el);
},
kvno: (_el) => {
kvno = __utils._decode_explicit(() => _decode_UInt32)(_el);
},
cipher: (_el) => {
cipher = __utils._decode_explicit(() => __utils._decodeOctetString)(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_EncryptedData, exports._extension_additions_list_spec_for_EncryptedData, exports._root_component_type_list_2_spec_for_EncryptedData, undefined);
return new EncryptedData(etype, kvno, cipher);
};
}
return _cached_decoder_for_EncryptedData(el);
}
exports._decode_EncryptedData = _decode_EncryptedData;
function _encode_EncryptedData(value, elGetter) {
if (!_cached_encoder_for_EncryptedData) {
_cached_encoder_for_EncryptedData = function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => _encode_Int32, __utils.BER)(value.etype, __utils.BER),
value.kvno === undefined
? undefined
: __utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => _encode_UInt32, __utils.BER)(value.kvno, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 2, () => __utils._encodeOctetString, __utils.BER)(value.cipher, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
};
}
return _cached_encoder_for_EncryptedData(value, elGetter);
}
exports._encode_EncryptedData = _encode_EncryptedData;
class Ticket {
constructor(tkt_vno, realm, sname, enc_part) {
this.tkt_vno = tkt_vno;
this.realm = realm;
this.sname = sname;
this.enc_part = enc_part;
}
}
exports.Ticket = Ticket;
exports._root_component_type_list_1_spec_for_Ticket = [
new __utils.ComponentSpec("tkt-vno", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("realm", false, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("sname", false, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
new __utils.ComponentSpec("enc-part", false, __utils.hasTag(asn1.ASN1TagClass.context, 3), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_Ticket = [];
exports._extension_additions_list_spec_for_Ticket = [];
let _cached_decoder_for_Ticket = null;
let _cached_encoder_for_Ticket = null;
function _decode_Ticket(el) {
if (!_cached_decoder_for_Ticket) {
_cached_decoder_for_Ticket = __utils._decode_explicit(() => function (el) {
const sequence = el.sequence;
if (sequence.length < 4) {
throw new asn1.ASN1ConstructionError("Ticket contained only " +
sequence.length.toString() +
" elements.");
}
sequence[0].name = "tkt-vno";
sequence[1].name = "realm";
sequence[2].name = "sname";
sequence[3].name = "enc-part";
let tkt_vno;
let realm;
let sname;
let enc_part;
tkt_vno = __utils._decode_explicit(() => __utils._decodeInteger)(sequence[0]);
realm = __utils._decode_explicit(() => _decode_Realm)(sequence[1]);
sname = __utils._decode_explicit(() => _decode_PrincipalName)(sequence[2]);
enc_part = __utils._decode_explicit(() => _decode_EncryptedData)(sequence[3]);
return new Ticket(tkt_vno, realm, sname, enc_part);
});
}
return _cached_decoder_for_Ticket(el);
}
exports._decode_Ticket = _decode_Ticket;
function _encode_Ticket(value, elGetter) {
if (!_cached_encoder_for_Ticket) {
_cached_encoder_for_Ticket = __utils._encode_explicit(asn1.ASN1TagClass.application, 1, () => function (value, elGetter) {
return __utils._encodeSequence([]
.concat([
__utils._encode_explicit(asn1.ASN1TagClass.context, 0, () => __utils._encodeInteger, __utils.BER)(value.tkt_vno, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 1, () => _encode_Realm, __utils.BER)(value.realm, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 2, () => _encode_PrincipalName, __utils.BER)(value.sname, __utils.BER),
__utils._encode_explicit(asn1.ASN1TagClass.context, 3, () => _encode_EncryptedData, __utils.BER)(value.enc_part, __utils.BER),
])
.filter((c) => !!c), __utils.BER);
}, __utils.BER);
}
return _cached_encoder_for_Ticket(value, elGetter);
}
exports._encode_Ticket = _encode_Ticket;
class KDC_REQ_BODY {
constructor(kdc_options, cname, realm, sname, from_, till, rtime, nonce, etype, addresses, enc_authorization_data, additional_tickets) {
this.kdc_options = kdc_options;
this.cname = cname;
this.realm = realm;
this.sname = sname;
this.from_ = from_;
this.till = till;
this.rtime = rtime;
this.nonce = nonce;
this.etype = etype;
this.addresses = addresses;
this.enc_authorization_data = enc_authorization_data;
this.additional_tickets = additional_tickets;
}
}
exports.KDC_REQ_BODY = KDC_REQ_BODY;
exports._root_component_type_list_1_spec_for_KDC_REQ_BODY = [
new __utils.ComponentSpec("kdc-options", false, __utils.hasTag(asn1.ASN1TagClass.context, 0), undefined, undefined),
new __utils.ComponentSpec("cname", true, __utils.hasTag(asn1.ASN1TagClass.context, 1), undefined, undefined),
new __utils.ComponentSpec("realm", false, __utils.hasTag(asn1.ASN1TagClass.context, 2), undefined, undefined),
new __utils.ComponentSpec("sname", true, __utils.hasTag(asn1.ASN1TagClass.context, 3), undefined, undefined),
new __utils.ComponentSpec("from", true, __utils.hasTag(asn1.ASN1TagClass.context, 4), undefined, undefined),
new __utils.ComponentSpec("till", false, __utils.hasTag(asn1.ASN1TagClass.context, 5), undefined, undefined),
new __utils.ComponentSpec("rtime", true, __utils.hasTag(asn1.ASN1TagClass.context, 6), undefined, undefined),
new __utils.ComponentSpec("nonce", false, __utils.hasTag(asn1.ASN1TagClass.context, 7), undefined, undefined),
new __utils.ComponentSpec("etype", false, __utils.hasTag(asn1.ASN1TagClass.context, 8), undefined, undefined),
new __utils.ComponentSpec("addresses", true, __utils.hasTag(asn1.ASN1TagClass.context, 9), undefined, undefined),
new __utils.ComponentSpec("enc-authorization-data", true, __utils.hasTag(asn1.ASN1TagClass.context, 10), undefined, undefined),
new __utils.ComponentSpec("additional-tickets", true, __utils.hasTag(asn1.ASN1TagClass.context, 11), undefined, undefined),
];
exports._root_component_type_list_2_spec_for_KDC_REQ_BODY = [];
exports._extension_additions_list_spec_for_KDC_REQ_BODY = [];
let _cached_decoder_for_KDC_REQ_BODY = null;
let _cached_encoder_for_KDC_REQ_BODY = null;
function _decode_KDC_REQ_BODY(el) {
if (!_cached_decoder_for_KDC_REQ_BODY) {
_cached_decoder_for_KDC_REQ_BODY = function (el) {
let kdc_options;
let cname;
let realm;
let sname;
let from_;
let till;
let rtime;
let nonce;
let etype;
let addresses;
let enc_authorization_data;
let additional_tickets;
const callbacks = {
"kdc-options": (_el) => {
kdc_options = __utils._decode_explicit(() => _decode_KDCOptions)(_el);
},
cname: (_el) => {
cname = __utils._decode_explicit(() => _decode_PrincipalName)(_el);
},
realm: (_el) => {
realm = __utils._decode_explicit(() => _decode_Realm)(_el);
},
sname: (_el) => {
sname = __utils._decode_explicit(() => _decode_PrincipalName)(_el);
},
from: (_el) => {
from_ = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
till: (_el) => {
till = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
rtime: (_el) => {
rtime = __utils._decode_explicit(() => _decode_KerberosTime)(_el);
},
nonce: (_el) => {
nonce = __utils._decode_explicit(() => _decode_UInt32)(_el);
},
etype: (_el) => {
etype = __utils._decode_explicit(() => __utils._decodeSequenceOf(() => _decode_Int32))(_el);
},
addresses: (_el) => {
addresses = __utils._decode_explicit(() => _decode_HostAddresses)(_el);
},
"enc-authorization-data": (_el) => {
enc_authorization_data = __utils._decode_explicit(() => _decode_EncryptedData)(_el);
},
"additional-tickets": (_el) => {
additional_tickets = __utils._decode_explicit(() => __utils._decodeSequenceOf(() => _decode_Ticket))(_el);
},
};
__utils._parse_sequence(el, callbacks, exports._root_component_type_list_1_spec_for_KDC_REQ_BODY, exports._extension_additions_list_spec_for_KDC_REQ_BODY, exports._root_component_type_list_2_spec_for_KDC_REQ_BODY, undefined);
return new KDC_REQ_BODY(kdc_options, cname, realm, sname, from_, till, rtime,