Class FileWatcherCertificateProviderProvider
java.lang.Object
io.grpc.xds.internal.security.certprovider.FileWatcherCertificateProviderProvider
- All Implemented Interfaces:
CertificateProviderProvider
final class FileWatcherCertificateProviderProvider
extends Object
implements CertificateProviderProvider
Provider of
FileWatcherCertificateProvider
s.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
POJO class for storing various config values.(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
(package private) static final String
(package private) final FileWatcherCertificateProvider.Factory
private static final String
(package private) static final long
private static final String
private static final String
private final io.grpc.internal.TimeProvider
-
Constructor Summary
ConstructorsConstructorDescriptionFileWatcherCertificateProviderProvider
(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider) -
Method Summary
Modifier and TypeMethodDescriptionprivate static String
checkForNullAndGet
(Map<String, ?> map, String key) createCertificateProvider
(Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates) Creates aCertificateProvider
plugin.getName()
Returns the unique name of theCertificateProvider
plugin.private static FileWatcherCertificateProviderProvider.Config
validateAndTranslateConfig
(Object config)
-
Field Details
-
CERT_FILE_KEY
- See Also:
-
KEY_FILE_KEY
- See Also:
-
ROOT_FILE_KEY
- See Also:
-
REFRESH_INTERVAL_KEY
- See Also:
-
REFRESH_INTERVAL_DEFAULT
static final long REFRESH_INTERVAL_DEFAULT- See Also:
-
FILE_WATCHER_PROVIDER_NAME
- See Also:
-
fileWatcherCertificateProviderFactory
-
scheduledExecutorServiceFactory
private final FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory -
timeProvider
private final io.grpc.internal.TimeProvider timeProvider
-
-
Constructor Details
-
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider() -
FileWatcherCertificateProviderProvider
FileWatcherCertificateProviderProvider(FileWatcherCertificateProvider.Factory fileWatcherCertificateProviderFactory, FileWatcherCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, io.grpc.internal.TimeProvider timeProvider)
-
-
Method Details
-
getName
Description copied from interface:CertificateProviderProvider
Returns the unique name of theCertificateProvider
plugin.- Specified by:
getName
in interfaceCertificateProviderProvider
-
createCertificateProvider
public CertificateProvider createCertificateProvider(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
-
validateAndTranslateConfig
private static FileWatcherCertificateProviderProvider.Config validateAndTranslateConfig(Object config)
-