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
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_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 and Description |
---|
SrpAnswer()
Erstellt eine neue nicht-initialisierte Instanz (zur Initialisierung über
read(DataInputStream) ). |
SrpAnswer(java.math.BigInteger b,
java.math.BigInteger s,
SrpCryptoParameter cryptoParameter)
Erstellt eine neue Instanz mit vordefinierten Werten
|
SrpAnswer(java.lang.String errorMessage)
Erstellt eine negative SRP-Antwort
|
Modifier and Type | Method and Description |
---|---|
java.math.BigInteger |
getB()
Gibt den öffentlichen Serverwert B zurück
|
SrpCryptoParameter |
getCryptoParams()
Gibt die Crypto-Parameter zurück, die der Client (u.a.) zur Erzeugung des Verifiers benutzen soll
|
java.lang.String |
getErrorMessage() |
java.math.BigInteger |
getS()
Gibt das dem Client zugeordnete Salt s zurück
|
boolean |
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.
|
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
public SrpAnswer()
Erstellt eine neue nicht-initialisierte Instanz (zur Initialisierung über read(DataInputStream)
).
public SrpAnswer(java.math.BigInteger b, java.math.BigInteger s, SrpCryptoParameter cryptoParameter)
Erstellt eine neue Instanz mit vordefinierten Werten
b
- Der öffentliche Server-Wert Bs
- Der Salt-Wert am Benutzernamen des ClientscryptoParameter
- Crypto-Parameter, die der Server dem Client vorgibtpublic SrpAnswer(java.lang.String errorMessage)
Erstellt eine negative SRP-Antwort
errorMessage
- Fehlermeldungpublic java.math.BigInteger getB()
Gibt den öffentlichen Serverwert B zurück
public java.math.BigInteger getS()
Gibt das dem Client zugeordnete Salt s zurück
public SrpCryptoParameter getCryptoParams()
Gibt die Crypto-Parameter zurück, die der Client (u.a.) zur Erzeugung des Verifiers benutzen soll
public boolean isValid()
Gibt zurück, ob SRP benutzt werden kann.
public void read(java.io.DataInputStream in) throws java.io.IOException
DataTelegram
Liest ein Telegramm vom übergegebenen DataInputStream.
read
in class DataTelegram
in
- Der DataInputStream.java.io.IOException
- Falls der Datensatz nicht aus dem Stream gelesen werden kann.public void write(java.io.DataOutputStream out) throws java.io.IOException
DataTelegram
Schreibt ein Telegramm in den übergegebenen DataOutputStream.
write
in class DataTelegram
out
- Der DataOutputStream.java.io.IOException
- Falls der Datensatz nicht in den Stream geschrieben werden kann.public java.lang.String getErrorMessage()
public java.lang.String parseToString()
DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.
parseToString
in class DataTelegram