Class SrpClientAuthentication


  • public class SrpClientAuthentication
    extends java.lang.Object
    Wrapper-Klasse, die die Nimbus-SRP-Implementierung clientseitig kapselt
    • Method Detail

      • createVerifier

        public static SrpVerifierData createVerifier​(SrpCryptoParameter cryptoParams,
                                                     java.lang.String user,
                                                     ClientCredentials clientCredentials)
        Erstellt einen SRP-Überprüfungscode mit einem zufälligen Salt. Diese Methode eignet sich um clientseitig ein SRP-Überprüfungscode zu erstellen und um diesen dann zusammen mit dem Salt an den Server zu senden, ohne dass dieser das Passwort jemals sehen kann.
        Parameters:
        cryptoParams - Cryptoparameter
        user - Benutzer
        clientCredentials - Passwort oder Login-Token
        Returns:
        Überprüfungscode
      • createVerifier

        public static SrpVerifierData createVerifier​(SrpCryptoParameter cryptoParams,
                                                     java.lang.String user,
                                                     ClientCredentials clientCredentials,
                                                     byte[] saltBytes)
        Erstellt einen SRP-Überprüfungscode mit einem festen Salt. Diese Methode macht dort Sinn, wo das Salt reproduzierbar identisch sein muss, z.B. wenn die Konfiguration einen Überprüfungscode für nicht vorhandene Benutzer "fälscht" (damit man nicht prüfen kann ob ein Benutzer exisitert oder nicht). Wäre das Salt zufällig könnte man durch mehrmalige Einlog-Versuche feststellen, dass sich das Salt ändert, was auf einen "gefälschten" Benutzer hindeuten würde.
        Parameters:
        cryptoParams - Cryptoparameter
        user - Benutzer
        clientCredentials - Passwort oder Login-Token
        saltBytes - Salt
        Returns:
        Überprüfungscode
      • createRandomToken

        public static ClientCredentials createRandomToken​(SrpCryptoParameter cryptoParams)
        Erstellt ein zufälligen Login-Token, dem also kein (bekanntes) Klartext-Passwort zugrunde liegt.
        Parameters:
        cryptoParams - Kryptographische Parameter
        Returns:
        Ein zufälliger Login-Token für SRP6
      • validateVerifier

        public static boolean validateVerifier​(SrpVerifierData verifier,
                                               java.lang.String user,
                                               ClientCredentials clientCredentials)
        Überprüft, ob ein Verifier zu einem Benutzernamen und Passwort passt. Dies sollte nur clientseitig bzw. für Testzwecke benutzt werden, da der Server das Passwort gar nicht kennen darf.
        Parameters:
        verifier - Bestehender Verifier
        user - Benutzername
        clientCredentials - Passwort oder Login-Token
        Returns:
        true: Verifier passt, false: sonst