kerberos.packets
Interface IPacketBuilder

All Known Implementing Classes:
PacketBuilder

public interface IPacketBuilder

Die Hauptaufgaben des PacketBuilders ist die Serialisierung der Nutzdaten sowie deren Verschlüsselung sofern erforderlich (also extern angegeben). Dieser PaketBuilder erzeugt genau ein Paket. Mit getPaket() lässt es sich auslesen Diese Klasse kennt keine eigenen Schlüssel, weiß nur, wie man mit einem übergebenen Schlüssel verschlüsselt. Der Konstruktor bietet die Möglichkeit, einen Message-Typ zu übergeben. Leerer Konstruktor verwendet automatisch den Typ M_NO_MESSAGE. Die MessageTypen sind in Messages/Message.java definiert. Der MessageTyp ist immer das erste Byte eines Pakets. Dies ist im Kerberos RFC nicht spezifiziert, wird hier aber zur Vereinfachung der Kommunikation verwendet. Die PacketException sollte im Normalfall nie auftreten. Daher wäre eine PacketException ein Indiz für einen Programmier- oder kritischen Systemfehler

Author:
Christian Morgenstern
See Also:
IPaketReader, messages.Message

Method Summary
 void add(byte[] zeichen, byte[] schlüssel)
          Fügt ein byte-Array hinzu, das mit dem übergebenen Schlüssel verschlüsselt wird.
 void add(long zahl, byte[] schlüssel)
          Verschlüsselt die Zahl und nimmt sie in das Paket auf
 void add(java.lang.String string, byte[] schlüssel)
          Fügt einen String hinzu, der mit dem übergebenen Schlüssel verschlüsselt wird.
 long addNonce(byte[] schlüssel)
          Erzeugt einen Nonce-Wert.
 long addNonceNotCrypt()
          Erzeugt einen Nonce-Wert und speichert ihn unverschlüsselt
 void addNotCrypt(byte[] zeichen)
          Fügt ein byte-Array hinzu, das nicht verschlüsselt wird.
 void addNotCrypt(long zahl)
          Nimmt die Zahl unverschlüsselt auf.
 void addNotCrypt(java.lang.String string)
          Fügt einen String hinzu, der nicht verschlüsselt wird.
 byte[] getPaket()
          Übergibt alle bisher gesammelten Daten.
 

Method Detail

addNonce

public long addNonce(byte[] schlüssel)
              throws PacketException
Erzeugt einen Nonce-Wert. Dieser wird dann verschlüsselt und intern gespeichert

Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gibt den erzeugten Noncewert unverschlüsselt zurück
Throws:
PacketException

addNonceNotCrypt

public long addNonceNotCrypt()
                      throws PacketException
Erzeugt einen Nonce-Wert und speichert ihn unverschlüsselt

Returns:
erzeugten Nonce-Wert (unverschlüsselt)
Throws:
PacketException

addNotCrypt

public void addNotCrypt(java.lang.String string)
                 throws PacketException
Fügt einen String hinzu, der nicht verschlüsselt wird.

Parameters:
string - Unverschlüsselt hinzuzufügender String
Throws:
PacketException

addNotCrypt

public void addNotCrypt(byte[] zeichen)
                 throws PacketException
Fügt ein byte-Array hinzu, das nicht verschlüsselt wird.

Parameters:
zeichen - Unverschlüsselt hinzuzufügende Binärdaten
Throws:
PacketException

add

public void add(java.lang.String string,
                byte[] schlüssel)
         throws PacketException
Fügt einen String hinzu, der mit dem übergebenen Schlüssel verschlüsselt wird.

Parameters:
string - Verschlüsselt hinzuzufügender String
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

add

public void add(byte[] zeichen,
                byte[] schlüssel)
         throws PacketException
Fügt ein byte-Array hinzu, das mit dem übergebenen Schlüssel verschlüsselt wird.

Parameters:
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

addNotCrypt

public void addNotCrypt(long zahl)
                 throws PacketException
Nimmt die Zahl unverschlüsselt auf.

Parameters:
zahl - Unverschlüsselt hinzuzufügende Zahl
Throws:
PacketException

add

public void add(long zahl,
                byte[] schlüssel)
         throws PacketException
Verschlüsselt die Zahl und nimmt sie in das Paket auf

Parameters:
zahl - Verschlüsselt hinzuzufügende Zahl
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

getPaket

public byte[] getPaket()
Übergibt alle bisher gesammelten Daten. Mehrfachaufruf möglich.

Returns:
Byte-Array mit den gesammelten hinzugefügten Daten.