Class FileWatcherCertificateProviderProvider
- java.lang.Object
-
- io.grpc.xds.internal.security.certprovider.FileWatcherCertificateProviderProvider
-
- All Implemented Interfaces:
CertificateProviderProvider
final class FileWatcherCertificateProviderProvider extends java.lang.Object implements CertificateProviderProvider
Provider ofFileWatcherCertificateProvider
s.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
FileWatcherCertificateProviderProvider.Config
POJO class for storing various config values.(package private) static class
FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
CERT_FILE_KEY
(package private) static java.lang.String
FILE_WATCHER_PROVIDER_NAME
(package private) FileWatcherCertificateProvider.Factory
fileWatcherCertificateProviderFactory
private static java.lang.String
KEY_FILE_KEY
(package private) static long
REFRESH_INTERVAL_DEFAULT
private static java.lang.String
REFRESH_INTERVAL_KEY
private static java.lang.String
ROOT_FILE_KEY
private FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory
scheduledExecutorServiceFactory
private io.grpc.internal.TimeProvider
timeProvider
-
Constructor Summary
Constructors Constructor Description FileWatcherCertificateProviderProvider()
FileWatcherCertificateProviderProvider(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
checkForNullAndGet(java.util.Map<java.lang.String,?> map, java.lang.String key)
CertificateProvider
createCertificateProvider(java.lang.Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates)
Creates aCertificateProvider
plugin.java.lang.String
getName()
Returns the unique name of theCertificateProvider
plugin.private static FileWatcherCertificateProviderProvider.Config
validateAndTranslateConfig(java.lang.Object config)
-
-
-
Field Detail
-
CERT_FILE_KEY
private static final java.lang.String CERT_FILE_KEY
- See Also:
- Constant Field Values
-
KEY_FILE_KEY
private static final java.lang.String KEY_FILE_KEY
- See Also:
- Constant Field Values
-
ROOT_FILE_KEY
private static final java.lang.String ROOT_FILE_KEY
- See Also:
- Constant Field Values
-
REFRESH_INTERVAL_KEY
private static final java.lang.String REFRESH_INTERVAL_KEY
- See Also:
- Constant Field Values
-
REFRESH_INTERVAL_DEFAULT
static final long REFRESH_INTERVAL_DEFAULT
- See Also:
- Constant Field Values
-
FILE_WATCHER_PROVIDER_NAME
static final java.lang.String FILE_WATCHER_PROVIDER_NAME
- See Also:
- Constant Field Values
-
fileWatcherCertificateProviderFactory
final FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory
-
scheduledExecutorServiceFactory
private final FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory
-
timeProvider
private final io.grpc.internal.TimeProvider timeProvider
-
-
Constructor Detail
-
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider()
-
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:CertificateProviderProvider
Returns the unique name of theCertificateProvider
plugin.- Specified by:
getName
in interfaceCertificateProviderProvider
-
createCertificateProvider
public CertificateProvider createCertificateProvider(java.lang.Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates)
Description copied from interface:CertificateProviderProvider
Creates aCertificateProvider
plugin.- Specified by:
createCertificateProvider
in interfaceCertificateProviderProvider
- Parameters:
config
- configuration needed by the Provider to create the CertificateProvider. A form of JSON that the Provider understands e.g. a string or a key-value Map.watcher
- ACertificateProvider.Watcher
to receive updates from the CertificateProvidernotifyCertUpdates
- if true, the provider is required to call the watcher’s updateCertificate method. Implies the Provider is capable of minting certificates. Used by server-side and mTLS client-side. Note the Provider is always required to call updateTrustedRoots to provide trusted-root updates.
-
checkForNullAndGet
private static java.lang.String checkForNullAndGet(java.util.Map<java.lang.String,?> map, java.lang.String key)
-
validateAndTranslateConfig
private static FileWatcherCertificateProviderProvider.Config validateAndTranslateConfig(java.lang.Object config)
-
-