kerberos.packets
Class PacketReader

java.lang.Object
  extended bykerberos.packets.PacketReader
All Implemented Interfaces:
IPacketReader

public class PacketReader
extends java.lang.Object
implements IPacketReader

Der PacketBuilder deserialisiert die Daten in einem ANS1 ähnlichen Format. Daher wird, sofern ein Datentyp eine variable Länge haben kann, diese vor den jeweiligen Nutzdaten ausgelesen um die jeweiligen Nutzdaten komplett zu lesen.

Author:
Christian Morgenstern

Constructor Summary
PacketReader(byte[] data)
          Erzeugung eines Readers auf ein Paket in Binärform
 
Method Summary
static void debugOff()
          PackageBuilder und PackageReader geben keine debug-Ausgaben mehr aus.
static void debugOn()
           
 int getMessageType()
          Liest den Message-Typ des Paketes.
 byte[] readData(byte[] schlüssel)
          Liest verschlüsselte Binärdaten
 byte[] readDataNonCrypt()
          Liest unverschlüsselte Binärdaten
 long readLong(byte[] schlüssel)
          Liest verschlüsselte Zahl
 long readLongNonCrypt()
          Liest unverschlüsselte Zahl
 long readNonce(byte[] schlüssel)
          Liest einen verschlüsselten Nonce-Wert
 long readNonceNonCrypt()
          Liest einen unverschlüsselten Nonce-Wert
 java.lang.String readString(byte[] schlüssel)
          Liest einen verschlüsselten String
 java.lang.String readStringNonCrypt()
          Liest einen unverschlüsselten String
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PacketReader

public PacketReader(byte[] data)
             throws PacketException
Erzeugung eines Readers auf ein Paket in Binärform

Parameters:
data - Paket in Binärform wie es von PacketBuilder->getPacket() erzeugt wurde.
Method Detail

debugOff

public static void debugOff()
PackageBuilder und PackageReader geben keine debug-Ausgaben mehr aus.


debugOn

public static void debugOn()

getMessageType

public int getMessageType()
Description copied from interface: IPacketReader
Liest den Message-Typ des Paketes.

Specified by:
getMessageType in interface IPacketReader
Returns:
Message-Typ dieses Paketes. Die Typen sind in messages/Message.java spezifiziert

readData

public byte[] readData(byte[] schlüssel)
                throws PacketException,
                       PasswortFalschException
Description copied from interface: IPacketReader
Liest verschlüsselte Binärdaten

Specified by:
readData in interface IPacketReader
Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gelesene Binärdaten (unverschlüsselt)
Throws:
PacketException
PasswortFalschException

readLong

public long readLong(byte[] schlüssel)
              throws PacketException,
                     PasswortFalschException
Description copied from interface: IPacketReader
Liest verschlüsselte Zahl

Specified by:
readLong in interface IPacketReader
Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gelesene Zahl (unverschlüsselt)
Throws:
PacketException
PasswortFalschException

readNonce

public long readNonce(byte[] schlüssel)
               throws PacketException,
                      PasswortFalschException
Description copied from interface: IPacketReader
Liest einen verschlüsselten Nonce-Wert

Specified by:
readNonce in interface IPacketReader
Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gelesener Nonce-Wert (unverschlüsselt)
Throws:
PacketException
PasswortFalschException

readString

public java.lang.String readString(byte[] schlüssel)
                            throws PacketException,
                                   PasswortFalschException
Description copied from interface: IPacketReader
Liest einen verschlüsselten String

Specified by:
readString in interface IPacketReader
Parameters:
schlüssel - Schlüssel im Binärformat
Returns:
Gelesener String (unverschlüsselt)
Throws:
PacketException
PasswortFalschException

readDataNonCrypt

public byte[] readDataNonCrypt()
                        throws PacketException
Description copied from interface: IPacketReader
Liest unverschlüsselte Binärdaten

Specified by:
readDataNonCrypt in interface IPacketReader
Returns:
Gelesene Binärdaten
Throws:
PacketException

readLongNonCrypt

public long readLongNonCrypt()
                      throws PacketException
Description copied from interface: IPacketReader
Liest unverschlüsselte Zahl

Specified by:
readLongNonCrypt in interface IPacketReader
Returns:
Gelesene Zahl
Throws:
PacketException

readNonceNonCrypt

public long readNonceNonCrypt()
                       throws PacketException
Description copied from interface: IPacketReader
Liest einen unverschlüsselten Nonce-Wert

Specified by:
readNonceNonCrypt in interface IPacketReader
Returns:
Gelesener Nonce-Wert
Throws:
PacketException

readStringNonCrypt

public java.lang.String readStringNonCrypt()
                                    throws PacketException
Description copied from interface: IPacketReader
Liest einen unverschlüsselten String

Specified by:
readStringNonCrypt in interface IPacketReader
Returns:
Gelesener String
Throws:
PacketException