|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.alfresco.encryption.AlfrescoKeyStoreImpl
public class AlfrescoKeyStoreImpl
This wraps a Java Keystore and caches the encryption keys. It manages the loading and caching of the encryption keys and their registration with and validation against the encryption key registry.
Nested Class Summary | |
---|---|
static class |
AlfrescoKeyStoreImpl.KeyInfoManager
|
static class |
AlfrescoKeyStoreImpl.KeyInformation
|
Field Summary | |
---|---|
protected KeyMap |
backupKeys
|
protected KeyStoreParameters |
backupKeyStoreParameters
|
protected EncryptionKeysRegistry |
encryptionKeysRegistry
|
protected KeyResourceLoader |
keyResourceLoader
|
protected KeyMap |
keys
|
protected KeyStoreParameters |
keyStoreParameters
|
protected java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock |
readLock
|
protected boolean |
validateKeyChanges
|
protected java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock |
writeLock
|
Fields inherited from interface org.alfresco.encryption.AlfrescoKeyStore |
---|
KEY_KEYSTORE_PASSWORD |
Constructor Summary | |
---|---|
AlfrescoKeyStoreImpl()
|
|
AlfrescoKeyStoreImpl(KeyStoreParameters keyStoreParameters,
KeyResourceLoader keyResourceLoader)
|
Method Summary | |
---|---|
void |
backup()
Backup the keystore to the backup location. |
boolean |
backupExists()
|
protected KeyMap |
cacheKeys(java.security.KeyStore ks,
AlfrescoKeyStoreImpl.KeyInfoManager keyInfoManager)
|
void |
create()
Create the key store if it doesn't exist. |
protected void |
createKey(java.lang.String keyAlias)
|
javax.net.ssl.KeyManager[] |
createKeyManagers()
Create an array of key managers from keys in the key store. |
protected void |
createKeyStore(KeyStoreParameters keyStoreParameters,
KeyMap keys)
|
javax.net.ssl.TrustManager[] |
createTrustManagers()
Create an array of trust managers from certificates in the key store. |
boolean |
exists()
Does the underlying key store exist? |
java.security.Key |
getBackupKey(java.lang.String keyAlias)
Return the backup key with the given key alias. |
KeyStoreParameters |
getBackupKeyStoreParameters()
The backup key store parameters. |
java.security.Key |
getKey(java.lang.String keyAlias)
Return the key with the given key alias. |
java.util.Set |
getKeyAliases()
Return all key aliases in the key store. |
protected AlfrescoKeyStoreImpl.KeyInfoManager |
getKeyInfoManager(java.lang.String metadataFileLocation)
|
protected java.lang.String |
getKeyMetaDataFileLocation()
|
KeyResourceLoader |
getKeyResourceLoader()
|
KeyStoreParameters |
getKeyStoreParameters()
The key store parameters. |
protected java.io.InputStream |
getKeyStoreStream(java.lang.String location)
|
long |
getKeyTimestamp(java.lang.String keyAlias)
Return the timestamp (in ms) of when the key was last loaded from the keystore on disk. |
java.lang.String |
getName()
The name of the keystore. |
protected java.security.Key |
getSecretKey(AlfrescoKeyStoreImpl.KeyInformation keyInformation)
|
void |
init()
|
protected java.security.KeyStore |
initialiseKeyStore(java.lang.String type,
java.lang.String provider)
|
protected boolean |
keyStoreExists(java.lang.String location)
|
protected java.security.KeyStore |
loadKeyStore(KeyStoreParameters keyStoreParameters,
AlfrescoKeyStoreImpl.KeyInfoManager keyInfoManager)
|
void |
reload()
Reload the keys from the key store. |
void |
setBackupKeyStoreParameters(KeyStoreParameters backupKeyStoreParameters)
|
void |
setEncryptionKeysRegistry(EncryptionKeysRegistry encryptionKeysRegistry)
|
void |
setKeyResourceLoader(KeyResourceLoader keyResourceLoader)
|
void |
setKeyStoreParameters(KeyStoreParameters keyStoreParameters)
|
void |
setValidateKeyChanges(boolean validateKeyChanges)
|
void |
validateKeys()
Check that the keys in the key store are valid i.e. |
protected void |
validateKeys(KeyMap keys,
KeyMap backupKeys)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected KeyStoreParameters keyStoreParameters
protected KeyStoreParameters backupKeyStoreParameters
protected KeyResourceLoader keyResourceLoader
protected EncryptionKeysRegistry encryptionKeysRegistry
protected KeyMap keys
protected KeyMap backupKeys
protected final java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock
protected final java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock
protected boolean validateKeyChanges
Constructor Detail |
---|
public AlfrescoKeyStoreImpl()
public AlfrescoKeyStoreImpl(KeyStoreParameters keyStoreParameters, KeyResourceLoader keyResourceLoader)
Method Detail |
---|
public void init()
public void setEncryptionKeysRegistry(EncryptionKeysRegistry encryptionKeysRegistry)
public void setValidateKeyChanges(boolean validateKeyChanges)
public void setKeyStoreParameters(KeyStoreParameters keyStoreParameters)
public void setBackupKeyStoreParameters(KeyStoreParameters backupKeyStoreParameters)
public void setKeyResourceLoader(KeyResourceLoader keyResourceLoader)
public KeyStoreParameters getKeyStoreParameters()
AlfrescoKeyStore
getKeyStoreParameters
in interface AlfrescoKeyStore
public KeyStoreParameters getBackupKeyStoreParameters()
AlfrescoKeyStore
getBackupKeyStoreParameters
in interface AlfrescoKeyStore
public KeyResourceLoader getKeyResourceLoader()
public java.lang.String getName()
getName
in interface AlfrescoKeyStore
public void validateKeys() throws InvalidKeystoreException, MissingKeyException
validateKeys
in interface AlfrescoKeyStore
InvalidKeystoreException
MissingKeyException
public boolean exists()
exists
in interface AlfrescoKeyStore
public void reload() throws InvalidKeystoreException, MissingKeyException
reload
in interface AlfrescoKeyStore
InvalidKeystoreException
MissingKeyException
public java.util.Set getKeyAliases()
getKeyAliases
in interface AlfrescoKeyStore
public void backup()
backup
in interface AlfrescoKeyStore
public void create()
create
in interface AlfrescoKeyStore
public java.security.Key getKey(java.lang.String keyAlias)
getKey
in interface AlfrescoKeyStore
public long getKeyTimestamp(java.lang.String keyAlias)
getKeyTimestamp
in interface AlfrescoKeyStore
public java.security.Key getBackupKey(java.lang.String keyAlias)
getBackupKey
in interface AlfrescoKeyStore
public javax.net.ssl.KeyManager[] createKeyManagers()
createKeyManagers
in interface AlfrescoKeyStore
public javax.net.ssl.TrustManager[] createTrustManagers()
createTrustManagers
in interface AlfrescoKeyStore
protected java.lang.String getKeyMetaDataFileLocation()
protected java.io.InputStream getKeyStoreStream(java.lang.String location) throws java.io.FileNotFoundException
java.io.FileNotFoundException
protected AlfrescoKeyStoreImpl.KeyInfoManager getKeyInfoManager(java.lang.String metadataFileLocation) throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
protected KeyMap cacheKeys(java.security.KeyStore ks, AlfrescoKeyStoreImpl.KeyInfoManager keyInfoManager) throws java.security.UnrecoverableKeyException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException
java.security.UnrecoverableKeyException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
protected java.security.KeyStore initialiseKeyStore(java.lang.String type, java.lang.String provider)
protected java.security.KeyStore loadKeyStore(KeyStoreParameters keyStoreParameters, AlfrescoKeyStoreImpl.KeyInfoManager keyInfoManager)
protected void createKey(java.lang.String keyAlias)
protected void createKeyStore(KeyStoreParameters keyStoreParameters, KeyMap keys)
protected java.security.Key getSecretKey(AlfrescoKeyStoreImpl.KeyInformation keyInformation) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.spec.InvalidKeySpecException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.spec.InvalidKeySpecException
public boolean backupExists()
protected boolean keyStoreExists(java.lang.String location)
protected void validateKeys(KeyMap keys, KeyMap backupKeys) throws InvalidKeystoreException, MissingKeyException
InvalidKeystoreException
MissingKeyException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |