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
Modifier and Type | Field and Description |
---|---|
private java.math.BigInteger |
_b
Der öffentliche Server-Wert B
|
private SrpCryptoParameter |
_cryptoParams
Crypto-Parameter, die der Server dem Client vorgibt
|
private java.lang.String |
_cryptoParamsString
String-Darstellung der _cryptoParams oder String für negative Quittung
|
private java.math.BigInteger |
_s
Der Salt-Wert am Benutzernamen des Clients
|
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.
|
private static java.math.BigInteger |
readBigInteger(java.io.DataInputStream in) |
void |
write(java.io.DataOutputStream out)
Schreibt ein Telegramm in den übergegebenen DataOutputStream.
|
private static void |
writeBigInteger(java.io.DataOutputStream out,
java.math.BigInteger bigInteger) |
getLength, getPriority, getSize, getTelegram, getType, toShortDebugParamString, toShortDebugString, toString
private java.math.BigInteger _b
Der öffentliche Server-Wert B
private java.math.BigInteger _s
Der Salt-Wert am Benutzernamen des Clients
private SrpCryptoParameter _cryptoParams
Crypto-Parameter, die der Server dem Client vorgibt
private java.lang.String _cryptoParamsString
String-Darstellung der _cryptoParams oder String für negative Quittung
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.private static void writeBigInteger(java.io.DataOutputStream out, java.math.BigInteger bigInteger) throws java.io.IOException
java.io.IOException
private static java.math.BigInteger readBigInteger(java.io.DataInputStream in) throws java.io.IOException
java.io.IOException
public java.lang.String getErrorMessage()
public java.lang.String parseToString()
DataTelegram
Gibt eine String-Repräsentation dieses Datensatzes zurück.
parseToString
in class DataTelegram