Package com.biglybt.core.security.impl
Class CryptoManagerImpl
- java.lang.Object
-
- com.biglybt.core.security.impl.CryptoManagerImpl
-
- All Implemented Interfaces:
CryptoManager
public class CryptoManagerImpl extends java.lang.Object implements CryptoManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
CryptoManagerImpl.passwordDetails
static interface
CryptoManagerImpl.passwordTester
private static class
CryptoManagerImpl.SRPParametersImpl
-
Nested classes/interfaces inherited from interface com.biglybt.core.security.CryptoManager
CryptoManager.SRPParameters
-
-
Field Summary
Fields Modifier and Type Field Description private CryptoHandler
ecc_handler
private java.util.Map<java.lang.Integer,CryptoHandler>
ecc_handlers
private CopyOnWriteList
keychange_listeners
private CopyOnWriteList
password_handlers
private static java.lang.String
PBE_ALG
private static int
PBE_ITERATIONS
private byte[]
secure_id
private java.util.Map
session_passwords
private static CryptoManagerImpl
singleton
-
Fields inherited from interface com.biglybt.core.security.CryptoManager
CRYPTO_CONFIG_PREFIX, HANDLER_ECC, HANDLERS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CryptoManagerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addKeyListener(CryptoManagerKeyListener listener)
void
addPasswordHandler(CryptoManagerPasswordHandler handler)
protected void
addPasswordTimer(java.lang.String timeout_key, java.lang.String pw_key, long timeout)
protected void
clearPassword(int handler, int password_handler_type)
void
clearPasswords()
void
clearPasswords(int password_handler_type)
protected byte[]
decryptWithPBE(byte[] data, char[] password)
byte[]
deobfuscate(byte[] data)
protected byte[]
encryptWithPBE(byte[] data, char[] password)
CryptoHandler
getECCHandler()
CryptoHandler
getECCHandler(int instance)
private byte[]
getOBSID()
protected CryptoManagerImpl.passwordDetails
getPassword(int handler, int action, java.lang.String reason, CryptoManagerImpl.passwordTester tester, int pw_type)
protected byte[]
getPasswordSalt()
byte[]
getSecureID()
static CryptoManager
getSingleton()
CryptoManager.SRPParameters
getSRPParameters()
protected void
keyChanged(CryptoHandler handler)
protected void
lockChanged(CryptoHandler handler)
static void
main(java.lang.String[] args)
byte[]
obfuscate(byte[] data)
void
removeKeyListener(CryptoManagerKeyListener listener)
void
removePasswordHandler(CryptoManagerPasswordHandler handler)
protected CryptoManagerImpl.passwordDetails
setPassword(int handler, int pw_type, char[] pw_chars, long timeout)
protected void
setSecureID(byte[] id)
void
setSRPParameters(byte[] salt, java.math.BigInteger verifier)
-
-
-
Field Detail
-
PBE_ITERATIONS
private static final int PBE_ITERATIONS
- See Also:
- Constant Field Values
-
PBE_ALG
private static final java.lang.String PBE_ALG
- See Also:
- Constant Field Values
-
singleton
private static CryptoManagerImpl singleton
-
secure_id
private byte[] secure_id
-
password_handlers
private final CopyOnWriteList password_handlers
-
keychange_listeners
private final CopyOnWriteList keychange_listeners
-
session_passwords
private final java.util.Map session_passwords
-
ecc_handler
private final CryptoHandler ecc_handler
-
ecc_handlers
private final java.util.Map<java.lang.Integer,CryptoHandler> ecc_handlers
-
-
Method Detail
-
getSingleton
public static CryptoManager getSingleton()
-
addPasswordTimer
protected void addPasswordTimer(java.lang.String timeout_key, java.lang.String pw_key, long timeout)
-
getSecureID
public byte[] getSecureID()
- Specified by:
getSecureID
in interfaceCryptoManager
-
getOBSID
private byte[] getOBSID()
-
obfuscate
public byte[] obfuscate(byte[] data)
- Specified by:
obfuscate
in interfaceCryptoManager
-
deobfuscate
public byte[] deobfuscate(byte[] data)
- Specified by:
deobfuscate
in interfaceCryptoManager
-
getECCHandler
public CryptoHandler getECCHandler()
- Specified by:
getECCHandler
in interfaceCryptoManager
-
getECCHandler
public CryptoHandler getECCHandler(int instance)
- Specified by:
getECCHandler
in interfaceCryptoManager
- Parameters:
instance
- 1 = global handler, 2 = anonynmous friends- Returns:
-
encryptWithPBE
protected byte[] encryptWithPBE(byte[] data, char[] password) throws CryptoManagerException
- Throws:
CryptoManagerException
-
decryptWithPBE
protected byte[] decryptWithPBE(byte[] data, char[] password) throws CryptoManagerException
- Throws:
CryptoManagerException
-
clearPasswords
public void clearPasswords()
- Specified by:
clearPasswords
in interfaceCryptoManager
-
clearPasswords
public void clearPasswords(int password_handler_type)
- Specified by:
clearPasswords
in interfaceCryptoManager
-
clearPassword
protected void clearPassword(int handler, int password_handler_type)
-
setPassword
protected CryptoManagerImpl.passwordDetails setPassword(int handler, int pw_type, char[] pw_chars, long timeout) throws CryptoManagerException
- Throws:
CryptoManagerException
-
getPassword
protected CryptoManagerImpl.passwordDetails getPassword(int handler, int action, java.lang.String reason, CryptoManagerImpl.passwordTester tester, int pw_type) throws CryptoManagerException
- Throws:
CryptoManagerException
-
getPasswordSalt
protected byte[] getPasswordSalt()
-
setSecureID
protected void setSecureID(byte[] id)
-
keyChanged
protected void keyChanged(CryptoHandler handler)
-
lockChanged
protected void lockChanged(CryptoHandler handler)
-
addPasswordHandler
public void addPasswordHandler(CryptoManagerPasswordHandler handler)
- Specified by:
addPasswordHandler
in interfaceCryptoManager
-
removePasswordHandler
public void removePasswordHandler(CryptoManagerPasswordHandler handler)
- Specified by:
removePasswordHandler
in interfaceCryptoManager
-
addKeyListener
public void addKeyListener(CryptoManagerKeyListener listener)
- Specified by:
addKeyListener
in interfaceCryptoManager
-
removeKeyListener
public void removeKeyListener(CryptoManagerKeyListener listener)
- Specified by:
removeKeyListener
in interfaceCryptoManager
-
setSRPParameters
public void setSRPParameters(byte[] salt, java.math.BigInteger verifier)
- Specified by:
setSRPParameters
in interfaceCryptoManager
-
getSRPParameters
public CryptoManager.SRPParameters getSRPParameters()
- Specified by:
getSRPParameters
in interfaceCryptoManager
-
main
public static void main(java.lang.String[] args)
-
-