public class ClientIdentityFileWatcher extends ModifiableFileWatcher implements ClientIdentityProvider, ClientIdentityLoaderHolder, FilePasswordProviderHolder
ClientIdentityProvider that watches a given key file re-loading its contents if it is ever modified,
deleted or (re-)created| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.atomic.AtomicReference<java.lang.Iterable<java.security.KeyPair>> |
identitiesHolder |
private ClientIdentityLoaderHolder |
loaderHolder |
private FilePasswordProviderHolder |
providerHolder |
private boolean |
strict |
options, STRICTLY_PROHIBITED_FILE_PERMISSIONlog| Constructor and Description |
|---|
ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoader loader,
FilePasswordProvider provider) |
ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoader loader,
FilePasswordProvider provider,
boolean strict) |
ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoaderHolder loader,
FilePasswordProviderHolder provider) |
ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoaderHolder loader,
FilePasswordProviderHolder provider,
boolean strict) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Iterable<java.security.KeyPair> |
getClientIdentities(SessionContext session)
Provides a
KeyPair representing the client identity |
ClientIdentityLoader |
getClientIdentityLoader() |
FilePasswordProvider |
getFilePasswordProvider() |
boolean |
isStrict() |
protected java.lang.Iterable<java.security.KeyPair> |
reloadClientIdentities(SessionContext session,
java.nio.file.Path path) |
checkReloadRequired, exists, getPath, lastModified, resetReloadAttributes, size, toPathResource, toPathResource, toString, updateReloadAttributes, validateStrictConfigFilePermissionsgetSimplifiedLoggerclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlazyKeysIterator, lazyKeysLoader, ofloaderHolderOfproviderHolderOfprivate final java.util.concurrent.atomic.AtomicReference<java.lang.Iterable<java.security.KeyPair>> identitiesHolder
private final ClientIdentityLoaderHolder loaderHolder
private final FilePasswordProviderHolder providerHolder
private final boolean strict
public ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoader loader,
FilePasswordProvider provider)
public ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoader loader,
FilePasswordProvider provider,
boolean strict)
public ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoaderHolder loader,
FilePasswordProviderHolder provider)
public ClientIdentityFileWatcher(java.nio.file.Path path,
ClientIdentityLoaderHolder loader,
FilePasswordProviderHolder provider,
boolean strict)
public boolean isStrict()
public ClientIdentityLoader getClientIdentityLoader()
getClientIdentityLoader in interface ClientIdentityLoaderHolderClientIdentityLoader to use in order to load client key pair identities - never nullpublic FilePasswordProvider getFilePasswordProvider()
getFilePasswordProvider in interface FilePasswordProviderHolderFilePasswordProvider to use if need to load encrypted identities keys - never nullFilePasswordProvider.EMPTYpublic java.lang.Iterable<java.security.KeyPair> getClientIdentities(SessionContext session) throws java.io.IOException, java.security.GeneralSecurityException
ClientIdentityProviderKeyPair representing the client identitygetClientIdentities in interface ClientIdentityProvidersession - The SessionContext for invoking this load command - may be null
if not invoked within a session context (e.g., offline tool).null/empty if no currently available
identity from this provider. Note: the provider may return a
different value every time this method is called - e.g., if it is
(re-)loading contents from a file.java.io.IOException - If failed to load the identityjava.security.GeneralSecurityException - If failed to parse the identityprotected java.lang.Iterable<java.security.KeyPair> reloadClientIdentities(SessionContext session, java.nio.file.Path path) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOExceptionjava.security.GeneralSecurityException