|
|||||||||
| 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 AlfrescoKeyStorepublic KeyStoreParameters getBackupKeyStoreParameters()
AlfrescoKeyStore
getBackupKeyStoreParameters in interface AlfrescoKeyStorepublic KeyResourceLoader getKeyResourceLoader()
public java.lang.String getName()
getName in interface AlfrescoKeyStore
public void validateKeys()
throws InvalidKeystoreException,
MissingKeyException
validateKeys in interface AlfrescoKeyStoreInvalidKeystoreException
MissingKeyExceptionpublic boolean exists()
exists in interface AlfrescoKeyStore
public void reload()
throws InvalidKeystoreException,
MissingKeyException
reload in interface AlfrescoKeyStoreInvalidKeystoreException
MissingKeyExceptionpublic java.util.Set getKeyAliases()
getKeyAliases in interface AlfrescoKeyStorepublic void backup()
backup in interface AlfrescoKeyStorepublic void create()
create in interface AlfrescoKeyStorepublic java.security.Key getKey(java.lang.String keyAlias)
getKey in interface AlfrescoKeyStorepublic long getKeyTimestamp(java.lang.String keyAlias)
getKeyTimestamp in interface AlfrescoKeyStorepublic java.security.Key getBackupKey(java.lang.String keyAlias)
getBackupKey in interface AlfrescoKeyStorepublic javax.net.ssl.KeyManager[] createKeyManagers()
createKeyManagers in interface AlfrescoKeyStorepublic javax.net.ssl.TrustManager[] createTrustManagers()
createTrustManagers in interface AlfrescoKeyStoreprotected 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.InvalidKeySpecExceptionpublic 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 | ||||||||