package org.apache.kerberos.kerb.spec.kdc;
import org.apache.haox.asn1.type.Asn1FieldInfo;
import org.apache.haox.asn1.type.Asn1Integer;
import org.apache.kerberos.kerb.spec.KerberosString;
import org.apache.kerberos.kerb.spec.KerberosTime;
import org.apache.kerberos.kerb.spec.KrbAppSequenceType;
import org.apache.kerberos.kerb.spec.common.EncryptionKey;
import org.apache.kerberos.kerb.spec.common.HostAddresses;
import org.apache.kerberos.kerb.spec.common.LastReq;
import org.apache.kerberos.kerb.spec.common.PrincipalName;
import org.apache.kerberos.kerb.spec.ticket.TicketFlags;
/**
EncKDCRepPart ::= SEQUENCE {
key [0] EncryptionKey,
last-req [1] LastReq,
nonce [2] UInt32,
key-expiration [3] KerberosTime OPTIONAL,
flags [4] TicketFlags,
authtime [5] KerberosTime,
starttime [6] KerberosTime OPTIONAL,
endtime [7] KerberosTime,
renew-till [8] KerberosTime OPTIONAL,
srealm [9] Realm,
sname [10] PrincipalName,
caddr [11] HostAddresses OPTIONAL
}
*/
public abstract class EncKdcRepPart extends KrbAppSequenceType {
private static int KEY = 0;
private static int LAST_REQ = 1;
private static int NONCE = 2;
private static int KEY_EXPIRATION = 3;
private static int FLAGS = 4;
private static int AUTHTIME = 5;
private static int STARTTIME = 6;
private static int ENDTIME = 7;
private static int RENEW_TILL = 8;
private static int SREALM = 9;
private static int SNAME = 10;
private static int CADDR = 11;
static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
new Asn1FieldInfo(KEY, EncryptionKey.class),
new Asn1FieldInfo(LAST_REQ, LastReq.class),
new Asn1FieldInfo(NONCE, Asn1Integer.class),
new Asn1FieldInfo(KEY_EXPIRATION, KerberosTime.class),
new Asn1FieldInfo(FLAGS, TicketFlags.class),
new Asn1FieldInfo(AUTHTIME, KerberosTime.class),
new Asn1FieldInfo(STARTTIME, KerberosTime.class),
new Asn1FieldInfo(ENDTIME, KerberosTime.class),
new Asn1FieldInfo(RENEW_TILL, KerberosTime.class),
new Asn1FieldInfo(SREALM, KerberosString.class),
new Asn1FieldInfo(SNAME, PrincipalName.class),
new Asn1FieldInfo(CADDR, HostAddresses.class)
};
public EncKdcRepPart(int tagNo) {
super(tagNo, fieldInfos);
}
public EncryptionKey getKey() {
return getFieldAs(KEY, EncryptionKey.class);
}
public void setKey(EncryptionKey key) {
setFieldAs(KEY, key);
}
public LastReq getLastReq() {
return getFieldAs(LAST_REQ, LastReq.class);
}
public void setLastReq(LastReq lastReq) {
setFieldAs(LAST_REQ, lastReq);
}
public int getNonce() {
return getFieldAsInt(NONCE);
}
public void setNonce(int nonce) {
setFieldAsInt(NONCE, nonce);
}
public KerberosTime getKeyExpiration() {
return getFieldAsTime(KEY_EXPIRATION);
}
public void setKeyExpiration(KerberosTime keyExpiration) {
setFieldAs(KEY_EXPIRATION, keyExpiration);
}
public TicketFlags getFlags() {
return getFieldAs(FLAGS, TicketFlags.class);
}
public void setFlags(TicketFlags flags) {
setFieldAs(FLAGS, flags);
}
public KerberosTime getAuthTime() {
return getFieldAsTime(AUTHTIME);
}
public void setAuthTime(KerberosTime authTime) {
setFieldAs(AUTHTIME, authTime);
}
public KerberosTime getStartTime() {
return getFieldAsTime(STARTTIME);
}
public void setStartTime(KerberosTime startTime) {
setFieldAs(STARTTIME, startTime);
}
public KerberosTime getEndTime() {
return getFieldAsTime(ENDTIME);
}
public void setEndTime(KerberosTime endTime) {
setFieldAs(ENDTIME, endTime);
}
public KerberosTime getRenewTill() {
return getFieldAsTime(RENEW_TILL);
}
public void setRenewTill(KerberosTime renewTill) {
setFieldAs(RENEW_TILL, renewTill);
}
public String getSrealm() {
return getFieldAsString(SREALM);
}
public void setSrealm(String srealm) {
setFieldAsString(SREALM, srealm);
}
public PrincipalName getSname() {
return getFieldAs(SNAME, PrincipalName.class);
}
public void setSname(PrincipalName sname) {
setFieldAs(SNAME, sname);
}
public HostAddresses getCaddr() {
return getFieldAs(CADDR, HostAddresses.class);
}
public void setCaddr(HostAddresses caddr) {
setFieldAs(CADDR, caddr);
}
}