package org.apache.kerberos.kerb.spec.pa;
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.KrbSequenceType;
/**
PA-DATA ::= SEQUENCE {
-- NOTE: first tag is [1], not [0]
padata-type [1] Int32,
padata-value [2] OCTET STRING -- might be encoded AP-REQ
}
*/
public class PaDataEntry extends KrbSequenceType {
private static int PADATA_TYPE = 0;
private static int PADATA_VALUE = 1;
static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
new Asn1FieldInfo(PADATA_TYPE, 1, Asn1Integer.class),
new Asn1FieldInfo(PADATA_VALUE, 2, Asn1OctetString.class)
};
public PaDataEntry() {
super(fieldInfos);
}
public PaDataEntry(PaDataType type, byte[] paData) {
this();
setPaDataType(type);
setPaDataValue(paData);
}
public PaDataType getPaDataType() {
Integer value = getFieldAsInteger(PADATA_TYPE);
return PaDataType.fromValue(value);
}
public void setPaDataType(PaDataType paDataType) {
setFieldAsInt(PADATA_TYPE, paDataType.getValue());
}
public byte[] getPaDataValue() {
return getFieldAsOctets(PADATA_VALUE);
}
public void setPaDataValue(byte[] paDataValue) {
setFieldAsOctets(PADATA_VALUE, paDataValue);
}
}