kerberos.messages
Interface IMessageBuilder

All Known Implementing Classes:
MessageBuilder

public interface IMessageBuilder

Author:
Stephan

Method Summary
 Mess_mem_Nonce buildApLogin(byte[] serverticket, java.lang.String benutzername, byte[] schluessel_CS)
           
 Mess_mem_Nonce buildApLogin(byte[] serverticket, java.lang.String benutzername, byte[] schluessel_CS, 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üssel_TGS, java.lang.String kdc, long startzeit, long endzeit, byte[] schlüssel_C, byte[] schlüssel_C_TGS)
           
 Mess_mem_Nonce buildTGSLogin(byte[] ticketTGS, java.lang.String benutzername, byte[] schlüssel_C_TGS, java.lang.String zieldienstname)
           
 byte[] buildTGSLoginOK(byte[] schluessel_CS, long nonce, java.lang.String benutzername, java.lang.String servername, long startzeit, long endzeit, byte[] schluessel_S, byte[] schluessel_C_TGS)
           
 Message readMessage(byte[] message, byte[] schluessel)
           
 

Method Detail

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.

Parameters:
benutzername - Name des Benutzers
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildKdcAuthLoginOK

public byte[] buildKdcAuthLoginOK(long nonce,
                                  java.lang.String benutzername,
                                  byte[] schlüssel_TGS,
                                  java.lang.String kdc,
                                  long startzeit,
                                  long endzeit,
                                  byte[] schlüssel_C,
                                  byte[] schlüssel_C_TGS)
                           throws PacketException
Parameters:
nonce - Noncewert zur Erkennung von Wiedereinspielungsangriffen
benutzername - Name des Benutzers
schlüssel_TGS - 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üssel_C - Schlüssel des Clients
schlüssel_C_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üssel_C_TGS,
                                    java.lang.String zieldienstname)
                             throws PacketException
Parameters:
ticketTGS - Ticket für den TGS
benutzername - Name des Benutzers
schlüssel_C_TGS - Sitzungsschlüssel zwischen dem Client und dem TGS
zieldienstname - ehemals servername gewesen
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildTGSLoginOK

public byte[] buildTGSLoginOK(byte[] schluessel_CS,
                              long nonce,
                              java.lang.String benutzername,
                              java.lang.String servername,
                              long startzeit,
                              long endzeit,
                              byte[] schluessel_S,
                              byte[] schluessel_C_TGS)
                       throws PacketException
Parameters:
schluessel_CS -
nonce - Noncewert zur Erkennung von Wiedereinspielungsangriffen
benutzername - Name des Benutzers
servername -
startzeit -
endzeit -
schluessel_S -
schluessel_C_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

Parameters:
daten -
schluessel -
Returns:
Mess_mem_Nonce
Throws:
PacketException

buildData

public byte[] buildData(byte[] daten,
                        byte[] schluessel,
                        long nonce)
                 throws PacketException
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[] schluessel_CS)
                            throws PacketException
Parameters:
serverticket - Ticket für den Zielserver
benutzername - Name des Benutzers
schluessel_CS - 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[] schluessel_CS,
                                   byte[] daten)
                            throws PacketException
Vom Client zum Server

Parameters:
serverticket - Ticket an den Server
benutzername - Name des Benutzers
schluessel_CS - 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.

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
Parameters:
message - zu entschluesselnde Nachricht
schluessel - Schlüssel zum entschlüsseln
Returns:
Message
Throws:
PasswortFalschException
PacketException
ClientnameFalschException
UngültigerMessageTypException