public class ClientIdentityFileWatcher extends ModifiableFileWatcher implements ClientIdentityProvider
ClientIdentityProvider
that watches a given key file re-loading
its contents if it is ever modified, deleted or (re-)createdModifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicReference<java.security.KeyPair> |
identityHolder |
private java.util.function.Supplier<ClientIdentityLoader> |
loaderHolder |
private java.util.function.Supplier<FilePasswordProvider> |
providerHolder |
private boolean |
strict |
options, STRICTLY_PROHIBITED_FILE_PERMISSION
log
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,
java.util.function.Supplier<ClientIdentityLoader> loader,
java.util.function.Supplier<FilePasswordProvider> provider) |
ClientIdentityFileWatcher(java.nio.file.Path path,
java.util.function.Supplier<ClientIdentityLoader> loader,
java.util.function.Supplier<FilePasswordProvider> provider,
boolean strict) |
Modifier and Type | Method and Description |
---|---|
java.security.KeyPair |
getClientIdentity()
Provides a
KeyPair representing the client identity |
ClientIdentityLoader |
getClientIdentityLoader() |
FilePasswordProvider |
getFilePasswordProvider() |
boolean |
isStrict() |
protected java.security.KeyPair |
reloadClientIdentity(java.nio.file.Path path) |
checkReloadRequired, exists, getPath, lastModified, resetReloadAttributes, size, toString, updateReloadAttributes, validateStrictConfigFilePermissions
getSimplifiedLogger
private final java.util.concurrent.atomic.AtomicReference<java.security.KeyPair> identityHolder
private final java.util.function.Supplier<ClientIdentityLoader> loaderHolder
private final java.util.function.Supplier<FilePasswordProvider> 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, java.util.function.Supplier<ClientIdentityLoader> loader, java.util.function.Supplier<FilePasswordProvider> provider)
public ClientIdentityFileWatcher(java.nio.file.Path path, java.util.function.Supplier<ClientIdentityLoader> loader, java.util.function.Supplier<FilePasswordProvider> provider, boolean strict)
public final boolean isStrict()
public final ClientIdentityLoader getClientIdentityLoader()
public final FilePasswordProvider getFilePasswordProvider()
public java.security.KeyPair getClientIdentity() throws java.io.IOException, java.security.GeneralSecurityException
ClientIdentityProvider
KeyPair
representing the client identitygetClientIdentity
in interface ClientIdentityProvider
null
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.security.KeyPair reloadClientIdentity(java.nio.file.Path path) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException