private static void buildReply( AuthenticationContext authContext ) throws KerberosException, InvalidTicketException
{
KdcRequest request = authContext.getRequest();
Ticket ticket = authContext.getTicket();
AuthenticationReply reply = new AuthenticationReply();
reply.setClientPrincipal( request.getClientPrincipal() );
reply.setTicket( ticket );
reply.setKey( ticket.getEncTicketPart().getSessionKey() );
// TODO - fetch lastReq for this client; requires store
reply.setLastRequest( new LastRequest() );
// TODO - resp.key-expiration := client.expiration; requires store
reply.setNonce( request.getNonce() );
reply.setFlags( ticket.getEncTicketPart().getFlags() );
reply.setAuthTime( ticket.getEncTicketPart().getAuthTime() );
reply.setStartTime( ticket.getEncTicketPart().getStartTime() );
reply.setEndTime( ticket.getEncTicketPart().getEndTime() );
if ( ticket.getEncTicketPart().getFlags().isRenewable() )
{
reply.setRenewTill( ticket.getEncTicketPart().getRenewTill() );
}
reply.setServerPrincipal( ticket.getServerPrincipal() );
reply.setClientAddresses( ticket.getEncTicketPart().getClientAddresses() );
authContext.setReply( reply );
}