Class SrpAnswer

  • All Implemented Interfaces:
    QueueableTelegram

    public class SrpAnswer
    extends DataTelegram
    Zweites Telegramm der SRP-Authentifizierung, wird vom Server zum Client geschickt. Sendet die SRP-Werte B und s sowie die kryptographischen Parameter an den Client Kann SRP nicht benutzt werden, enthält das Telegramm einen B-Wert von 0 (was gemäß SRP kein gültiger Wert ist) und einen Fehlermeldungstext als String-Wert
    • Constructor Detail

      • SrpAnswer

        public SrpAnswer()
        Erstellt eine neue nicht-initialisierte Instanz (zur Initialisierung über read(DataInputStream)).
      • SrpAnswer

        public SrpAnswer​(java.math.BigInteger b,
                         java.math.BigInteger s,
                         SrpCryptoParameter cryptoParameter)
        Erstellt eine neue Instanz mit vordefinierten Werten
        Parameters:
        b - Der öffentliche Server-Wert B
        s - Der Salt-Wert am Benutzernamen des Clients
        cryptoParameter - Crypto-Parameter, die der Server dem Client vorgibt
      • SrpAnswer

        public SrpAnswer​(java.lang.String errorMessage)
        Erstellt eine negative SRP-Antwort
        Parameters:
        errorMessage - Fehlermeldung
    • Method Detail

      • getB

        public java.math.BigInteger getB()
        Gibt den öffentlichen Serverwert B zurück
        Returns:
        B
      • getS

        public java.math.BigInteger getS()
        Gibt das dem Client zugeordnete Salt s zurück
        Returns:
        s
      • getCryptoParams

        public SrpCryptoParameter getCryptoParams()
        Gibt die Crypto-Parameter zurück, die der Client (u.a.) zur Erzeugung des Verifiers benutzen soll
        Returns:
        SrpCryptoParameter oder null falls SRP nicht benutzt werden kann
      • isValid

        public boolean isValid()
        Gibt zurück, ob SRP benutzt werden kann.
        Returns:
        true falls SRp benutzt werden kann, somst false
      • read

        public void read​(java.io.DataInputStream in)
                  throws java.io.IOException
        Description copied from class: DataTelegram
        Liest ein Telegramm vom übergegebenen DataInputStream.
        Specified by:
        read in class DataTelegram
        Parameters:
        in - Der DataInputStream.
        Throws:
        java.io.IOException - Falls der Datensatz nicht aus dem Stream gelesen werden kann.
      • write

        public void write​(java.io.DataOutputStream out)
                   throws java.io.IOException
        Description copied from class: DataTelegram
        Schreibt ein Telegramm in den übergegebenen DataOutputStream.
        Specified by:
        write in class DataTelegram
        Parameters:
        out - Der DataOutputStream.
        Throws:
        java.io.IOException - Falls der Datensatz nicht in den Stream geschrieben werden kann.
      • getErrorMessage

        public java.lang.String getErrorMessage()
      • parseToString

        public java.lang.String parseToString()
        Description copied from class: DataTelegram
        Gibt eine String-Repräsentation dieses Datensatzes zurück.
        Specified by:
        parseToString in class DataTelegram
        Returns:
        Eine String-Repräsentation dieses Datensatzes.