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