/** * Decode each flag in ticketFlags into an boolean array * @param ticketFlags * @return */ public static boolean[] ticketFlagsToBooleans(TicketFlags ticketFlags) { boolean[] ret = new boolean[KERBEROS_TICKET_NUM_FLAGS]; int value = ticketFlags.getFlags(); for (int i = 0; i < KERBEROS_TICKET_NUM_FLAGS; i++) { ret[KERBEROS_TICKET_NUM_FLAGS - i - 1] = (value & 0x1) != 0; value = value >> 1; } return ret; }
/** * Generate TicketFlags instance from flags * @param flags each item in flags identifies an bit setted or not * @return */ public static TicketFlags getTicketFlags(boolean[] flags) { if (flags == null || flags.length != KERBEROS_TICKET_NUM_FLAGS) { return null; } int value = 0; for (boolean flag : flags) { value = (value << 1) + (flag ? 1 : 0); } return new TicketFlags(value); }
public boolean isInvalid() { return isFlagSet(INVALID.getValue()); } }
KdcConfig config = kdcRequest.getKdcContext().getConfig(); TicketFlags ticketFlags = new TicketFlags(); encTicketPart.setFlags(ticketFlags); ticketFlags.setFlag(TicketFlag.INITIAL); ticketFlags.setFlag(TicketFlag.PRE_AUTH); ticketFlags.setFlag(TicketFlag.FORWARDABLE); ticketFlags.setFlag(TicketFlag.PROXIABLE); ticketFlags.setFlag(TicketFlag.MAY_POSTDATE); ticketFlags.setFlag(TicketFlag.POSTDATED); encTicketPart.setStartTime(krbStartTime); ticketFlags.setFlag(TicketFlag.RENEWABLE);
public TicketFlags(int value) { setFlags(value); }
KdcConfig config = kdcRequest.getKdcContext().getConfig(); TicketFlags ticketFlags = new TicketFlags(); encTicketPart.setFlags(ticketFlags); ticketFlags.setFlag(TicketFlag.INITIAL); ticketFlags.setFlag(TicketFlag.PRE_AUTH); ticketFlags.setFlag(TicketFlag.FORWARDABLE); ticketFlags.setFlag(TicketFlag.PROXIABLE); ticketFlags.setFlag(TicketFlag.MAY_POSTDATE); ticketFlags.setFlag(TicketFlag.POSTDATED); encTicketPart.setStartTime(krbStartTime); ticketFlags.setFlag(TicketFlag.RENEWABLE);
public TicketFlags(int value) { setFlags(value); }
public void writeTicketFlags(TicketFlags ticketFlags) throws IOException { writeInt(ticketFlags.getFlags()); } }
public TicketFlags readTicketFlags() throws IOException { int flags = readInt(); TicketFlags tktFlags = new TicketFlags(flags); return tktFlags; }
public boolean isInvalid() { return isFlagSet(INVALID.getValue()); } }
public void writeTicketFlags(TicketFlags ticketFlags) throws IOException { writeInt(ticketFlags.getFlags()); } }
public TicketFlags readTicketFlags() throws IOException { int flags = readInt(); TicketFlags tktFlags = new TicketFlags(flags); return tktFlags; }
/** * Make EncKdcRepPart. * @return encryption kdc response part */ private EncKdcRepPart makeEncKdcRepPart() { KdcReq request = getKdcReq(); Ticket ticket = getTicket(); EncKdcRepPart encKdcRepPart = new EncTgsRepPart(); //session key encKdcRepPart.setKey(ticket.getEncPart().getKey()); LastReq lastReq = new LastReq(); LastReqEntry entry = new LastReqEntry(); entry.setLrType(LastReqType.THE_LAST_INITIAL); entry.setLrValue(new KerberosTime()); lastReq.add(entry); encKdcRepPart.setLastReq(lastReq); encKdcRepPart.setNonce(request.getReqBody().getNonce()); encKdcRepPart.setFlags(ticket.getEncPart().getFlags()); encKdcRepPart.setAuthTime(ticket.getEncPart().getAuthTime()); encKdcRepPart.setStartTime(ticket.getEncPart().getStartTime()); encKdcRepPart.setEndTime(ticket.getEncPart().getEndTime()); if (ticket.getEncPart().getFlags().isFlagSet(TicketFlag.RENEWABLE)) { encKdcRepPart.setRenewTill(ticket.getEncPart().getRenewtill()); } encKdcRepPart.setSname(ticket.getSname()); encKdcRepPart.setSrealm(ticket.getRealm()); encKdcRepPart.setCaddr(ticket.getEncPart().getClientAddresses()); return encKdcRepPart; }
EncKdcRepPart encKdcRepPart = tgtTicket.getEncKdcRepPart(); boolean[] flags = new boolean[7]; int flag = encKdcRepPart.getFlags().getFlags(); for (int i = 6; i >= 0; i--) { flags[i] = (flag & (1 << i)) != 0;
encKdcRepPart.setEndTime(ticket.getEncPart().getEndTime()); if (ticket.getEncPart().getFlags().isFlagSet(TicketFlag.RENEWABLE)) { encKdcRepPart.setRenewTill(ticket.getEncPart().getRenewtill());
EncKdcRepPart encKdcRepPart = tgtTicket.getEncKdcRepPart(); boolean[] flags = new boolean[7]; int flag = encKdcRepPart.getFlags().getFlags(); for (int i = 6; i >= 0; i--) { flags[i] = (flag & (1 << i)) != 0;
/** * Make EncKdcRepPart. * @return encryption kdc response part */ private EncKdcRepPart makeEncKdcRepPart() { KdcReq request = getKdcReq(); Ticket ticket = getTicket(); EncKdcRepPart encKdcRepPart = new EncTgsRepPart(); //session key encKdcRepPart.setKey(ticket.getEncPart().getKey()); LastReq lastReq = new LastReq(); LastReqEntry entry = new LastReqEntry(); entry.setLrType(LastReqType.THE_LAST_INITIAL); entry.setLrValue(new KerberosTime()); lastReq.add(entry); encKdcRepPart.setLastReq(lastReq); encKdcRepPart.setNonce(request.getReqBody().getNonce()); encKdcRepPart.setFlags(ticket.getEncPart().getFlags()); encKdcRepPart.setAuthTime(ticket.getEncPart().getAuthTime()); encKdcRepPart.setStartTime(ticket.getEncPart().getStartTime()); encKdcRepPart.setEndTime(ticket.getEncPart().getEndTime()); if (ticket.getEncPart().getFlags().isFlagSet(TicketFlag.RENEWABLE)) { encKdcRepPart.setRenewTill(ticket.getEncPart().getRenewtill()); } encKdcRepPart.setSname(ticket.getSname()); encKdcRepPart.setSrealm(ticket.getRealm()); encKdcRepPart.setCaddr(ticket.getEncPart().getClientAddresses()); return encKdcRepPart; }
int flag = credential.getTicketFlags().getFlags(); for (int i = 6; i >= 0; i--) { flags[i] = (flag & (1 << i)) != 0;
encKdcRepPart.setEndTime(ticket.getEncPart().getEndTime()); if (ticket.getEncPart().getFlags().isFlagSet(TicketFlag.RENEWABLE)) { encKdcRepPart.setRenewTill(ticket.getEncPart().getRenewtill());
int flag = credential.getTicketFlags().getFlags(); for (int i = 6; i >= 0; i--) { flags[i] = (flag & (1 << i)) != 0;