Class SrpAnswer
java.lang.Object
de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
de.bsvrz.dav.daf.communication.lowLevel.telegrams.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
-
Field Summary
Fields inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
APPLICATION_DATA_TELEGRAM_TYPE, APPLICATION_REQUEST_TYPE, AUTHENTIFICATION_ANSWER_TYPE, AUTHENTIFICATION_REQUEST_TYPE, AUTHENTIFICATION_TEXT_ANSWER_TYPE, AUTHENTIFICATION_TEXT_REQUEST_TYPE, CLOSING_TYPE, COM_PARAMETER_ANSWER_TYPE, COM_PARAMETER_REQUEST_TYPE, DISABLE_ENCRYPTION_ANSWER_TYPE, DISABLE_ENCRYPTION_REQUEST_TYPE, ENCRYPTED_TYPE, KEEP_ALIVE_TYPE, length, priority, PROTOCOL_VERSION_ANSWER_TYPE, PROTOCOL_VERSION_REQUEST_TYPE, RECEIVE_SUBSCRIPTION_TYPE, RECEIVE_UNSUBSCRIPTION_TYPE, REQUEST_SENDER_DATA_TYPE, SEND_SUBSCRIPTION_TYPE, SEND_UNSUBSCRIPTION_TYPE, SRP_ANSWER_TYPE, SRP_REQUEST_TYPE, SRP_VALDIATE_ANSWER_TYPE, SRP_VALDIATE_REQUEST_TYPE, TELEGRAM_TIME_ANSWER_TYPE, TELEGRAM_TIME_REQUEST_TYPE, TERMINATE_ORDER_TYPE, TRANSMITTER_AUTHENTIFICATION_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_REQUEST_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_ANSWER_TYPE, TRANSMITTER_AUTHENTIFICATION_TEXT_REQUEST_TYPE, TRANSMITTER_BEST_WAY_UPDATE_TYPE, TRANSMITTER_CLOSING_TYPE, TRANSMITTER_COM_PARAMETER_ANSWER_TYPE, TRANSMITTER_COM_PARAMETER_REQUEST_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_RECEIPT_TYPE, TRANSMITTER_DATA_SUBSCRIPTION_TYPE, TRANSMITTER_DATA_TELEGRAM_TYPE, TRANSMITTER_DATA_TELEGRAM_V2_TYPE, TRANSMITTER_DATA_UNSUBSCRIPTION_TYPE, TRANSMITTER_KEEP_ALIVE_TYPE, TRANSMITTER_LISTS_DELIVERY_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_SUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UNSUBSCRIPTION_TYPE, TRANSMITTER_LISTS_UPDATE_2_TYPE, TRANSMITTER_LISTS_UPDATE_TYPE, TRANSMITTER_PROTOCOL_VERSION_ANSWER_TYPE, TRANSMITTER_PROTOCOL_VERSION_REQUEST_TYPE, TRANSMITTER_REQUEST_TYPE, TRANSMITTER_TELEGRAM_TIME_ANSWER_TYPE, TRANSMITTER_TELEGRAM_TIME_REQUEST_TYPE, TRANSMITTER_TERMINATE_ORDER_TYPE, type
-
Constructor Summary
Constructors Constructor Description SrpAnswer()
Erstellt eine neue nicht-initialisierte Instanz (zur Initialisierung überread(DataInputStream)
).SrpAnswer(java.lang.String errorMessage)
Erstellt eine negative SRP-AntwortSrpAnswer(java.math.BigInteger b, java.math.BigInteger s, SrpCryptoParameter cryptoParameter)
Erstellt eine neue Instanz mit vordefinierten Werten -
Method Summary
Modifier and Type Method Description java.math.BigInteger
getB()
Gibt den öffentlichen Serverwert B zurückSrpCryptoParameter
getCryptoParams()
Gibt die Crypto-Parameter zurück, die der Client (u.a.) zur Erzeugung des Verifiers benutzen solljava.lang.String
getErrorMessage()
java.math.BigInteger
getS()
Gibt das dem Client zugeordnete Salt s zurückboolean
isValid()
Gibt zurück, ob SRP benutzt werden kann.java.lang.String
parseToString()
Gibt eine String-Repräsentation dieses Datensatzes zurück.void
read(java.io.DataInputStream in)
Liest ein Telegramm vom übergegebenen DataInputStream.void
write(java.io.DataOutputStream out)
Schreibt ein Telegramm in den übergegebenen DataOutputStream.Methods inherited from class de.bsvrz.dav.daf.communication.lowLevel.telegrams.DataTelegram
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
SrpAnswer
public SrpAnswer()Erstellt eine neue nicht-initialisierte Instanz (zur Initialisierung überread(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 Bs
- Der Salt-Wert am Benutzernamen des ClientscryptoParameter
- Crypto-Parameter, die der Server dem Client vorgibt
-
SrpAnswer
public SrpAnswer(java.lang.String errorMessage)Erstellt eine negative SRP-Antwort- Parameters:
errorMessage
- Fehlermeldung
-
-
Method Details
-
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
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.IOExceptionDescription copied from class:DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.- Specified by:
read
in classDataTelegram
- 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.IOExceptionDescription copied from class:DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.- Specified by:
write
in classDataTelegram
- 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 classDataTelegram
- Returns:
- Eine String-Repräsentation dieses Datensatzes.
-