package org.apache.kerberos.kerb.spec.pa.pkinit;
import org.apache.haox.asn1.type.Asn1FieldInfo;
import org.apache.haox.asn1.type.Asn1Integer;
import org.apache.haox.asn1.type.Asn1OctetString;
import org.apache.kerberos.kerb.spec.KerberosTime;
import org.apache.kerberos.kerb.spec.KrbSequenceType;
/**
PKAuthenticator ::= SEQUENCE {
cusec [0] INTEGER (0..999999),
ctime [1] KerberosTime,
-- cusec and ctime are used as in [RFC4120], for
-- replay prevention.
nonce [2] INTEGER (0..4294967295),
-- Chosen randomly; this nonce does not need to
-- match with the nonce in the KDC-REQ-BODY.
paChecksum [3] OCTET STRING OPTIONAL,
-- MUST be present.
-- Contains the SHA1 checksum, performed over
-- KDC-REQ-BODY.
}
*/
public class PkAuthenticator extends KrbSequenceType {
private static int CUSEC = 0;
private static int CTIME = 1;
private static int NONCE = 2;
private static int PA_CHECKSUM = 3;
static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
new Asn1FieldInfo(CUSEC, Asn1Integer.class),
new Asn1FieldInfo(CTIME, KerberosTime.class),
new Asn1FieldInfo(NONCE, Asn1Integer.class),
new Asn1FieldInfo(PA_CHECKSUM, Asn1OctetString.class)
};
public PkAuthenticator() {
super(fieldInfos);
}
public int getCusec() {
return getFieldAsInt(CUSEC);
}
public void setCusec(int cusec) {
setFieldAsInt(CUSEC, cusec);
}
public KerberosTime getCtime() {
return getFieldAsTime(CTIME);
}
public void setCtime(KerberosTime ctime) {
setFieldAs(CTIME, ctime);
}
public int getNonce() {
return getFieldAsInt(NONCE);
}
public void setNonce(int nonce) {
setFieldAsInt(NONCE, nonce);
}
public byte[] getPaChecksum() {
return getFieldAsOctets(PA_CHECKSUM);
}
public void setPaChecksum(byte[] paChecksum) {
setFieldAsOctets(PA_CHECKSUM, paChecksum);
}
}