Class SecretAuthentication
- java.lang.Object
-
- org.eclipse.aether.util.repository.SecretAuthentication
-
- All Implemented Interfaces:
Authentication
final class SecretAuthentication extends java.lang.Object implements Authentication
Authentication block that manages a single authentication key and its secret string value (password, passphrase). UnlikeStringAuthentication, the string value is kept in an encrypted buffer and only decrypted when needed to reduce the potential of leaking the secret in a heap dump.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Stringkeyprivate static java.lang.Object[]KEYSprivate intsecretHashprivate char[]value
-
Constructor Summary
Constructors Modifier Constructor Description privateSecretAuthentication(char[] value, java.lang.String key)(package private)SecretAuthentication(java.lang.String key, char[] value)(package private)SecretAuthentication(java.lang.String key, java.lang.String value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidclear(char[] chars)private static char[]copy(char[] chars)voiddigest(AuthenticationDigest digest)Updates the given digest with data from this authentication callback.booleanequals(java.lang.Object obj)voidfill(AuthenticationContext context, java.lang.String key, java.util.Map<java.lang.String,java.lang.String> data)Fills the given authentication context with the data from this authentication callback.inthashCode()java.lang.StringtoString()private char[]xor(char[] chars)
-
-
-
Method Detail
-
copy
private static char[] copy(char[] chars)
-
xor
private char[] xor(char[] chars)
-
clear
private static void clear(char[] chars)
-
fill
public void fill(AuthenticationContext context, java.lang.String key, java.util.Map<java.lang.String,java.lang.String> data)
Description copied from interface:AuthenticationFills the given authentication context with the data from this authentication callback. To do so, implementors have to callAuthenticationContext.put(String, Object).
Thekeyparameter supplied to this method acts merely as a hint for interactive callbacks that want to prompt the user for only that authentication data which is required. Implementations are free to ignore this parameter and put all the data they have into the authentication context at once.- Specified by:
fillin interfaceAuthentication- Parameters:
context- The authentication context to populate, must not benull.key- The key denoting a specific piece of authentication data that is being requested for a network operation, may benull.data- Any (read-only) extra data in form of key value pairs that might be useful when getting the authentication data, may benull.
-
digest
public void digest(AuthenticationDigest digest)
Description copied from interface:AuthenticationUpdates the given digest with data from this authentication callback. To do so, implementors have to call theupdate()methods inAuthenticationDigest.- Specified by:
digestin interfaceAuthentication- Parameters:
digest- The digest to update, must not benull.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-