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 ofFileWatcherCertificateProviders.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classFileWatcherCertificateProviderProvider.ConfigPOJO class for storing various config values.(package private) static classFileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringCERT_FILE_KEY(package private) static java.lang.StringFILE_WATCHER_PROVIDER_NAME(package private) FileWatcherCertificateProvider.FactoryfileWatcherCertificateProviderFactoryprivate static java.lang.StringKEY_FILE_KEY(package private) static longREFRESH_INTERVAL_DEFAULTprivate static java.lang.StringREFRESH_INTERVAL_KEYprivate static java.lang.StringROOT_FILE_KEYprivate FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactoryscheduledExecutorServiceFactoryprivate io.grpc.internal.TimeProvidertimeProvider
-
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.StringcheckForNullAndGet(java.util.Map<java.lang.String,?> map, java.lang.String key)CertificateProvidercreateCertificateProvider(java.lang.Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates)Creates aCertificateProviderplugin.java.lang.StringgetName()Returns the unique name of theCertificateProviderplugin.private static FileWatcherCertificateProviderProvider.ConfigvalidateAndTranslateConfig(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:CertificateProviderProviderReturns the unique name of theCertificateProviderplugin.- Specified by:
getNamein interfaceCertificateProviderProvider
-
createCertificateProvider
public CertificateProvider createCertificateProvider(java.lang.Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates)
Description copied from interface:CertificateProviderProviderCreates aCertificateProviderplugin.- Specified by:
createCertificateProviderin 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.Watcherto 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)
-
-