// Copyright 1997 The Open Group Research Institute.  All rights reserved.

package krb4.lib;

public class Krb4Ticket {
	boolean littleEndian;
	public String cname;
	public String cinst;
	public String crealm;
	public byte[] caddr;
	public byte[] sessionKey;
	public long lifetime;
	public long timestamp;
	public String sname;
	public String sinst;

	public Krb4Ticket(byte[] data) throws Krb4Exception {
		Krb4Encode ref = new Krb4Encode(data);
		littleEndian = (ref.getByte() & 1) == 1;
		ref.setByteOrder(littleEndian);
		cname = ref.getString();
		cinst = ref.getString();
		crealm = ref.getString();
		caddr = ref.getBytes(4);
		sessionKey = ref.getBytes(8);
		lifetime = (long)ref.getUnsignedByte() * 5L * 60L * 1000L;
		timestamp = (long)ref.getInt() * 1000L;
		sname = ref.getString();
		sinst = ref.getString();
	}
}
