Class ClientCredentials


  • public abstract class ClientCredentials
    extends java.lang.Object
    Clientseitige Zugangsdaten zum Login beim Datenverteiler oder ähnlich.

    Die Zugangsdaten bestehen entweder aus Benutzername und Passwort oder aus einem Login-Token, welcher ein binärer Code ist, bit dem sich der Client beim Server ausweisen kann ohne das Passwort im Klartext zu kennen. So ein Token kann beispielsweise das bei SRP6 verwendete x sein, mit dem der Client sich beim Server ausweisen kann, ohne dass das Klartextpasswort gespeichert oder eingegeben werden muss.

    • Method Detail

      • ofPassword

        public static ClientCredentials ofPassword​(char[] password)
        Erstellt eine Instanz, die ein Passwort speichert
        Parameters:
        password - Passwort
        Returns:
        Instanz oder null falls das angegebene Passwort null ist oder eine Länge von 0 hat.
      • ofToken

        public static ClientCredentials ofToken​(byte[] tokenData,
                                                java.lang.String tokenType)
        Erstellt eine Instanz, die ein Login-Token darstellt. Ein Token ist ein (binärer) Code mit dem sich der Client statt einem Passwort authentifizieren kann
        Parameters:
        tokenData - Binäre Daten (!= null)
        tokenType - Art des Tokens (z.B. SRP6 für ein SRP-"x", != null)
        Returns:
        Login-Token
      • ofString

        public static ClientCredentials ofString​(java.lang.String s)
        Erstellt eine Instanz aus einem serialisierten String (kompatibel mit toString()
        Parameters:
        s - Passwort als String oder als String serialisierter Token (wie in Authentifizierungsdatei), z. B. "geheim" oder "SRP6~~~~ abcde"
        Returns:
        Instanz oder null falls das Passwort null ist oder eine Länge von 0 hat.
      • getPassword

        public abstract char[] getPassword()
        Gibt das Passwort zurück
        Returns:
        das Passwort
        Throws:
        java.lang.UnsupportedOperationException - falls es sich um einen Token-Login handelt (hasPassword() gibt false zurück)
      • getTokenData

        public abstract byte[] getTokenData()
        Gibt den binären Schlüssel zurück
        Returns:
        den Schlüssel
        Throws:
        java.lang.UnsupportedOperationException - falls es sich um einen Passwort-Login handelt (hasPassword() gibt true zurück)
      • getTokenType

        public abstract java.lang.String getTokenType()
        Gibt den Typ des binären Schlüssels zurück, beispielsweise "SRP6"
        Returns:
        den Schlüssel
        Throws:
        java.lang.UnsupportedOperationException - falls es sich um einen Passwort-Login handelt (hasPassword() gibt true zurück)
      • hasPassword

        public abstract boolean hasPassword()
        Gibt true zurück, wenn es sich um einen Passwort-Login handelt
        Returns:
        true, wenn es sich um einen Passwort-Login handelt, sonst (bei einem Token-Login) false
      • toString

        public abstract java.lang.String toString()
        Overrides:
        toString in class java.lang.Object