kerberos.packets
Class PacketBuilder

java.lang.Object
  extended bykerberos.packets.PacketBuilder
All Implemented Interfaces:
IPacketBuilder

public class PacketBuilder
extends java.lang.Object
implements IPacketBuilder

Der PacketBuilder serialisiert die Daten in einem ANS1 ähnlichen Format. Daher wird, sofern ein Datentyp eine variable Länge haben kann, diese vor den jeweiligen Nutzdaten gespeichert

Author:
Christian Morgenstern

Constructor Summary
PacketBuilder()
          Default Konstruktor.
PacketBuilder(int MessageType)
          Erzeugung eines Pakets mit festgelegtem Messagetyp.
 
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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PacketBuilder

public PacketBuilder()
              throws PacketException
Default Konstruktor. Erzeugt ein leeres Paket mit dem Typ NO_MESSAGE. Dies ist zum Beispiel sinnvoll für Aneinanderreihungen von Daten die insgesamt verschlüsselt und dann in ein anderes Paket eingebettet werden.


PacketBuilder

public PacketBuilder(int MessageType)
              throws PacketException
Erzeugung eines Pakets mit festgelegtem Messagetyp.

Parameters:
MessageType - Nachrichtentyp-Konstante Der Typ wird intern nicht auf Gültigkeit überprüft oder verwendet.
Method Detail

add

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

Specified by:
add in interface IPacketBuilder
Parameters:
zahl - Verschlüsselt hinzuzufügende Zahl
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

add

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

Specified by:
add in interface IPacketBuilder
Parameters:
string - Verschlüsselt hinzuzufügender String
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

addNonce

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

Specified by:
addNonce in interface IPacketBuilder
Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gibt den erzeugten Noncewert unverschlüsselt zurück
Throws:
PacketException

add

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

Specified by:
add in interface IPacketBuilder
Parameters:
schlüssel - Schlüssel im Binärformat
Throws:
PacketException

addNonceNotCrypt

public long addNonceNotCrypt()
                      throws PacketException
Description copied from interface: IPacketBuilder
Erzeugt einen Nonce-Wert und speichert ihn unverschlüsselt

Specified by:
addNonceNotCrypt in interface IPacketBuilder
Returns:
erzeugten Nonce-Wert (unverschlüsselt)
Throws:
PacketException

addNotCrypt

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

Specified by:
addNotCrypt in interface IPacketBuilder
Parameters:
zeichen - Unverschlüsselt hinzuzufügende Binärdaten
Throws:
PacketException

addNotCrypt

public void addNotCrypt(long zahl)
                 throws PacketException
Description copied from interface: IPacketBuilder
Nimmt die Zahl unverschlüsselt auf.

Specified by:
addNotCrypt in interface IPacketBuilder
Parameters:
zahl - Unverschlüsselt hinzuzufügende Zahl
Throws:
PacketException

addNotCrypt

public void addNotCrypt(java.lang.String string)
                 throws PacketException
Description copied from interface: IPacketBuilder
Fügt einen String hinzu, der nicht verschlüsselt wird.

Specified by:
addNotCrypt in interface IPacketBuilder
Parameters:
string - Unverschlüsselt hinzuzufügender String
Throws:
PacketException

getPaket

public byte[] getPaket()
Description copied from interface: IPacketBuilder
Übergibt alle bisher gesammelten Daten. Mehrfachaufruf möglich.

Specified by:
getPaket in interface IPacketBuilder
Returns:
Byte-Array mit den gesammelten hinzugefügten Daten.