kerberos.messages
Class MessageBuilder

java.lang.Object
  extended bykerberos.messages.MessageBuilder
All Implemented Interfaces:
IMessageBuilder

public class MessageBuilder
extends java.lang.Object
implements IMessageBuilder

Dient zum Erstellen von Nachrichten

Author:
Simon Seifer

Field Summary
static boolean DEBUG
           
 
Constructor Summary
MessageBuilder()
           
 
Method Summary
 Mess_mem_Nonce buildApLogin(byte[] Serverticket, java.lang.String benutzername, byte[] SchluesselClient_Server)
           
 Mess_mem_Nonce buildApLogin(byte[] serverticket, java.lang.String benutzername, byte[] SchluesselClient_Server, byte[] daten)
          Vom Client zum Server
 Mess_mem_Nonce buildData(byte[] daten, byte[] schluessel)
          Vom Server zum Client
Message von Application zum Client mussten hier noch einen Schlüssel in die Übergabe einfügen
 byte[] buildData(byte[] daten, byte[] schluessel, long nonce)
           
 byte[] buildError(int messageType, int errorcode)
          Message wenn Fehler aufgetreten ist.
 Mess_mem_Nonce buildKdcAuthLogin(java.lang.String benutzername)
          Die einzelnen Nachrichten-Methoden müssen noch um Exceptions erweitert werden und evtl. noch ergänzt oder abgeändert werden.
 byte[] buildKdcAuthLoginOK(long nonce, java.lang.String benutzername, byte[] SchlüsselTGS, java.lang.String KDC, long startzeit, long endzeit, byte[] SchlüsselClient, byte[] SchlüsselClient_TGS)
           
 Mess_mem_Nonce buildTGSLogin(byte[] TicketTGS, java.lang.String benutzername, byte[] SchlüsselClient_TGS, java.lang.String zieldienstname)
           
 byte[] buildTGSLoginOK(byte[] SchluesselClient_Server, long nonce, java.lang.String benutzername, java.lang.String servername, long startzeit, long endzeit, byte[] SchluesselS, byte[] SchluesselC_TGS)
           
static IMessageBuilder currentBuilder()
           
 Message readMessage(byte[] message, byte[] schluessel)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
See Also:
Constant Field Values
Constructor Detail

MessageBuilder

public MessageBuilder()
Method Detail

currentBuilder

public static IMessageBuilder currentBuilder()

buildKdcAuthLogin

public Mess_mem_Nonce buildKdcAuthLogin(java.lang.String benutzername)
                                 throws PacketException
Die einzelnen Nachrichten-Methoden müssen noch um Exceptions erweitert werden und evtl. noch ergänzt oder abgeändert werden.

Specified by:
buildKdcAuthLogin in interface IMessageBuilder
Parameters:
benutzername - Name des Benutzers
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildKdcAuthLoginOK

public byte[] buildKdcAuthLoginOK(long nonce,
                                  java.lang.String benutzername,
                                  byte[] SchlüsselTGS,
                                  java.lang.String KDC,
                                  long startzeit,
                                  long endzeit,
                                  byte[] SchlüsselClient,
                                  byte[] SchlüsselClient_TGS)
                           throws PacketException
Specified by:
buildKdcAuthLoginOK in interface IMessageBuilder
Parameters:
nonce - Noncewert zur Erkennung von Wiedereinspielungsangriffen
benutzername - Name des Benutzers
SchlüsselTGS - Schlüssel des Ticket Granting Service
KDC - Name des KDC
startzeit - Beginn der Gültigkeitsdauer des Tickets
endzeit - Ende der Gültigkeitsdauer des Tickets
SchlüsselClient - Schlüssel des Clients
SchlüsselClient_TGS - Sitzungsschlüssel zwischen Client und TGS
Returns:
byte[]
Throws:
PacketException

buildTGSLogin

public Mess_mem_Nonce buildTGSLogin(byte[] TicketTGS,
                                    java.lang.String benutzername,
                                    byte[] SchlüsselClient_TGS,
                                    java.lang.String zieldienstname)
                             throws PacketException
Specified by:
buildTGSLogin in interface IMessageBuilder
Parameters:
TicketTGS - Ticket für den TGS
benutzername - Name des Benutzers
SchlüsselClient_TGS - Sitzungsschlüssel zwischen dem Client und dem TGS
zieldienstname - ehemals servername gewesen
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildTGSLoginOK

public byte[] buildTGSLoginOK(byte[] SchluesselClient_Server,
                              long nonce,
                              java.lang.String benutzername,
                              java.lang.String servername,
                              long startzeit,
                              long endzeit,
                              byte[] SchluesselS,
                              byte[] SchluesselC_TGS)
                       throws PacketException
Specified by:
buildTGSLoginOK in interface IMessageBuilder
Parameters:
SchluesselClient_Server -
nonce - Noncewert zur Erkennung von Wiedereinspielungsangriffen
benutzername - Name des Benutzers
servername -
startzeit -
endzeit -
SchluesselS -
SchluesselC_TGS -
Returns:
byte[]
Throws:
PacketException

buildData

public Mess_mem_Nonce buildData(byte[] daten,
                                byte[] schluessel)
                         throws PacketException
Vom Server zum Client
Message von Application zum Client mussten hier noch einen Schlüssel in die Übergabe einfügen

Specified by:
buildData in interface IMessageBuilder
Parameters:
daten -
schluessel -
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildData

public byte[] buildData(byte[] daten,
                        byte[] schluessel,
                        long nonce)
                 throws PacketException
Specified by:
buildData in interface IMessageBuilder
Parameters:
daten - Zu verschlüsselnde Daten
schluessel - Schlüssel zum verschlüsseln
nonce - Noncewert zur Erkennung von Wiedereinspielungsangriffen
Returns:
byte[]
Throws:
PacketException

buildApLogin

public Mess_mem_Nonce buildApLogin(byte[] Serverticket,
                                   java.lang.String benutzername,
                                   byte[] SchluesselClient_Server)
                            throws PacketException
Specified by:
buildApLogin in interface IMessageBuilder
Parameters:
Serverticket - Ticket für den Zielserver
benutzername - Name des Benutzers
SchluesselClient_Server - Sitzungsschlüssel zwischen Client und Server
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildApLogin

public Mess_mem_Nonce buildApLogin(byte[] serverticket,
                                   java.lang.String benutzername,
                                   byte[] SchluesselClient_Server,
                                   byte[] daten)
                            throws PacketException
Vom Client zum Server

Specified by:
buildApLogin in interface IMessageBuilder
Parameters:
serverticket - Ticket an den Server
benutzername - Name des Benutzers
SchluesselClient_Server - Sitzungsschlüssel zwischen Client und Zielserver
daten - ehemals Command
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildError

public byte[] buildError(int messageType,
                         int errorcode)
                  throws PacketException
Message wenn Fehler aufgetreten ist.
Errorcodes siehe M_ERROR.java.

Specified by:
buildError in interface IMessageBuilder
Parameters:
messageType - Typ der Nachricht bei der der Fehler auftrat
errorcode - Art des Fehlers
Returns:
byte[]
Throws:
PacketException

readMessage

public Message readMessage(byte[] message,
                           byte[] schluessel)
                    throws PasswortFalschException,
                           PacketException,
                           ClientnameFalschException,
                           UngültigerMessageTypException
Specified by:
readMessage in interface IMessageBuilder
Parameters:
message - zu entschlüsselnde Nachricht
schluessel - Schlüssel zum entschlüsseln
Returns:
Message
Throws:
PasswortFalschException
PacketException
ClientnameFalschException
UngültigerMessageTypException