Class SrpCryptoParameter
java.lang.Object
de.bsvrz.dav.daf.communication.srpAuthentication.SrpCryptoParameter
public class SrpCryptoParameter
extends java.lang.Object
Parameter für die Authentifizierung mit SRP und die nachfolgende Verschlüsselung
-
Constructor Summary
Constructors Constructor Description SrpCryptoParameter(int gcmAuthenticationTagBits, int aesKeyLengthBits, java.lang.String hashFunction, java.lang.String keyDerivationFunction, int keyDerivationIterations, int keyDerivationHashBits, int srpPrimeBits, int srpSaltBytes)
Erstellt eine Instanz mit benutzerdefinierten ParameternSrpCryptoParameter(java.lang.String cryptoParamsString)
Liest die Werte aus einem String ein, kompatibel mittoString()
-
Method Summary
Modifier and Type Method Description int
getAesKeyLengthBits()
static SrpCryptoParameter
getDefaultInstance()
Gibt die als Standard (ggf. über die Systemproperty) festgelegten kryptografischen Parameter zurück.int
getGcmAuthenticationTagBits()
java.lang.String
getHashFunction()
java.lang.String
getKeyDerivationFunction()
int
getKeyDerivationHashBits()
int
getKeyDerivationIterations()
int
getSrpPrimeBits()
int
getSrpSaltBytes()
java.lang.String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
SrpCryptoParameter
public SrpCryptoParameter(int gcmAuthenticationTagBits, int aesKeyLengthBits, java.lang.String hashFunction, java.lang.String keyDerivationFunction, int keyDerivationIterations, int keyDerivationHashBits, int srpPrimeBits, int srpSaltBytes)Erstellt eine Instanz mit benutzerdefinierten Parametern- Parameters:
gcmAuthenticationTagBits
- Anzahl Bits zur Sicherstellung der Nachrichtenintegrität mit AES-GCM. Empfohlener Minimum-Wert: 96, kleinere Werte verringern den Overhead, vereinfachen es aber möglicherweise, Nachrichten zu fälschenaesKeyLengthBits
- Anzahl Bits der Schlüssellänge der AES-Verschlüsselung. Mögliche Werte: 128, 192, 256. (Größere Werte als 128 benötigen möglicherweise die "Unlimited Strength Java Cryptography Extension Policy Files").hashFunction
- Hashfunktion H in SRP zur Berechnung von u und dem Sitzungsschlüssel (unter anderem), beispielsweise "SHA-256".keyDerivationFunction
- Auswahl der Schlüsselableitungsfunktion zur Berechnung von x, beispielsweise "PBKDF2WithHmacSHA256".keyDerivationIterations
- Anzahl der Iterationen der Schlüsselableitungsfunktion zur Berechnung von x. Empfohlener Minimum-Wert: 10_000keyDerivationHashBits
- Anzahl Bits für das Resultat der Schlüsselableitungsfunktion. Empfohlener Minimum-Wert: 128srpPrimeBits
- Anzahl Bits der SRP-Primzahl N. Empfohlener Minimum-Wert: 1024srpSaltBytes
- Anzahl Bytes für das SRP-Salt. Empfohlener Minimum-Wert: 16- Throws:
java.lang.NullPointerException
- wenn einer der Strings null ist.java.lang.IllegalArgumentException
- bei negativen oder anderweitig implausiblen Bit-/Byte-Werten. Dieser Konstruktor prüft nur auf offensichtlich fehlerhafte Werte und nimmt keine inhaltliche Prüfung auf sinnvolle Cryptoparameter vor.
-
SrpCryptoParameter
public SrpCryptoParameter(java.lang.String cryptoParamsString) throws java.lang.IllegalArgumentExceptionLiest die Werte aus einem String ein, kompatibel mittoString()
- Parameters:
cryptoParamsString
- String-Darstellung- Throws:
java.lang.IllegalArgumentException
- Bei einem String, der nicht dem erwarteten Format entspricht
-
-
Method Details
-
getDefaultInstance
Gibt die als Standard (ggf. über die Systemproperty) festgelegten kryptografischen Parameter zurück.- Returns:
- Standard-Parameter für Authentifizierung und Verschlüsselung
-
getGcmAuthenticationTagBits
public int getGcmAuthenticationTagBits()- Returns:
- Anzahl Bits zur Sicherstellung der Nachrichtenintegrität mit AES-GCM.
-
getAesKeyLengthBits
public int getAesKeyLengthBits()- Returns:
- Anzahl Bits der Schlüssellänge der AES-Verschlüsselung.
-
getHashFunction
public java.lang.String getHashFunction()- Returns:
- Hashfunktion H in SRP
-
getKeyDerivationFunction
public java.lang.String getKeyDerivationFunction()- Returns:
- Schlüsselableitungsfunktion zur Berechnung von x, beispielsweise "PBKDF2WithHmacSHA256"
-
getKeyDerivationIterations
public int getKeyDerivationIterations()- Returns:
- Anzahl der Iterationen der Schlüsselableitungsfunktion
-
getKeyDerivationHashBits
public int getKeyDerivationHashBits()- Returns:
- Anzahl Bits für das Resultat der Schlüsselableitungsfunktion.
-
getSrpPrimeBits
public int getSrpPrimeBits()- Returns:
- Anzahl Bits der SRP-Primzahl N.
-
getSrpSaltBytes
public int getSrpSaltBytes()- Returns:
- Anzahl Bytes für das SRP-Salt.
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-