Class CertProviderSslContextProvider
java.lang.Object
io.grpc.xds.internal.security.SslContextProvider
io.grpc.xds.internal.security.DynamicSslContextProvider
io.grpc.xds.internal.security.certprovider.CertProviderSslContextProvider
- All Implemented Interfaces:
CertificateProvider.Watcher, Closeable, Closeable, AutoCloseable
- Direct Known Subclasses:
CertProviderClientSslContextProvider, CertProviderServerSslContextProvider
abstract class CertProviderSslContextProvider
extends DynamicSslContextProvider
implements CertificateProvider.Watcher
Base class for
CertProviderClientSslContextProvider.-
Nested Class Summary
Nested classes/interfaces inherited from class SslContextProvider
SslContextProvider.Callback, SslContextProvider.SslContextGetter -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CertificateProviderStore.Handleprivate final CommonTlsContext.CertificateProviderInstanceprivate final CertificateProviderStore.Handleprivate final CommonTlsContext.CertificateProviderInstanceprotected List<X509Certificate> protected PrivateKeyprotected List<X509Certificate> Fields inherited from class DynamicSslContextProvider
pendingCallbacks, sslContext, staticCertificateValidationContextFields inherited from class SslContextProvider
tlsContext -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCertProviderSslContextProvider(Node node, Map<String, Bootstrapper.CertificateProviderInfo> certProviders, CommonTlsContext.CertificateProviderInstance certInstance, CommonTlsContext.CertificateProviderInstance rootCertInstance, CertificateValidationContext staticCertValidationContext, EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateProviderStore certificateProviderStore) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidfinal voidclose()Closes this provider and releases any resources.protected final CertificateValidationContextprivate static Bootstrapper.CertificateProviderInfogetCertProviderConfig(Map<String, Bootstrapper.CertificateProviderInfo> certProviders, String pluginInstanceName) protected static CommonTlsContext.CertificateProviderInstancegetCertProviderInstance(CommonTlsContext commonTlsContext) protected static CommonTlsContext.CertificateProviderInstancegetRootCertProviderInstance(CommonTlsContext commonTlsContext) protected static CertificateValidationContextgetStaticValidationContext(CommonTlsContext commonTlsContext) protected final booleanprotected final booleanisMtls()protected final booleanfinal voidupdateCertificate(PrivateKey key, List<X509Certificate> certChain) private voidfinal voidupdateTrustedRoots(List<X509Certificate> trustedRoots) Methods inherited from class DynamicSslContextProvider
addCallback, callPerformCallback, getSslContext, getSslContextBuilder, onError, updateSslContextMethods inherited from class SslContextProvider
getCommonTlsContext, getDownstreamTlsContext, getUpstreamTlsContext, performCallback, setClientAuthValuesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CertificateProvider.Watcher
onError
-
Field Details
-
certHandle
-
rootCertHandle
-
certInstance
-
rootCertInstance
-
savedKey
-
savedCertChain
-
savedTrustedRoots
-
-
Constructor Details
-
CertProviderSslContextProvider
protected CertProviderSslContextProvider(Node node, @Nullable Map<String, Bootstrapper.CertificateProviderInfo> certProviders, CommonTlsContext.CertificateProviderInstance certInstance, CommonTlsContext.CertificateProviderInstance rootCertInstance, CertificateValidationContext staticCertValidationContext, EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateProviderStore certificateProviderStore)
-
-
Method Details
-
getCertProviderConfig
private static Bootstrapper.CertificateProviderInfo getCertProviderConfig(@Nullable Map<String, Bootstrapper.CertificateProviderInfo> certProviders, String pluginInstanceName) -
getCertProviderInstance
@Nullable protected static CommonTlsContext.CertificateProviderInstance getCertProviderInstance(CommonTlsContext commonTlsContext) -
getStaticValidationContext
@Nullable protected static CertificateValidationContext getStaticValidationContext(CommonTlsContext commonTlsContext) -
getRootCertProviderInstance
@Nullable protected static CommonTlsContext.CertificateProviderInstance getRootCertProviderInstance(CommonTlsContext commonTlsContext) -
updateCertificate
- Specified by:
updateCertificatein interfaceCertificateProvider.Watcher
-
updateTrustedRoots
- Specified by:
updateTrustedRootsin interfaceCertificateProvider.Watcher
-
updateSslContextWhenReady
private void updateSslContextWhenReady() -
clearKeysAndCerts
private void clearKeysAndCerts() -
isMtls
protected final boolean isMtls() -
isClientSideTls
protected final boolean isClientSideTls() -
isServerSideTls
protected final boolean isServerSideTls() -
generateCertificateValidationContext
- Specified by:
generateCertificateValidationContextin classDynamicSslContextProvider
-
close
public final void close()Description copied from class:SslContextProviderCloses this provider and releases any resources.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classSslContextProvider
-