Package io.grpc.xds.internal.security
Class DynamicSslContextProvider
java.lang.Object
io.grpc.xds.internal.security.SslContextProvider
io.grpc.xds.internal.security.DynamicSslContextProvider
- All Implemented Interfaces:
Closeable
,Closeable
,AutoCloseable
- Direct Known Subclasses:
CertProviderSslContextProvider
Base class for dynamic
SslContextProvider
s.-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.xds.internal.security.SslContextProvider
SslContextProvider.Callback, SslContextProvider.SslContextGetter
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List
<SslContextProvider.Callback> protected io.netty.handler.ssl.SslContext
protected final CertificateValidationContext
Fields inherited from class io.grpc.xds.internal.security.SslContextProvider
tlsContext
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DynamicSslContextProvider
(EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateValidationContext staticCertValidationContext) -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addCallback
(SslContextProvider.Callback callback) Registers a callback on the given executor.protected final void
callPerformCallback
(SslContextProvider.Callback callback, io.netty.handler.ssl.SslContext sslContextCopy) private List
<SslContextProvider.Callback> protected abstract CertificateValidationContext
io.netty.handler.ssl.SslContext
protected abstract io.netty.handler.ssl.SslContextBuilder
getSslContextBuilder
(CertificateValidationContext certificateValidationContext) Gets a server or client side SslContextBuilder.private final void
makePendingCallbacks
(io.netty.handler.ssl.SslContext sslContextCopy, List<SslContextProvider.Callback> pendingCallbacksCopy) final void
onError
(io.grpc.Status error) Propagates error to all the callback receivers.protected final void
Methods inherited from class io.grpc.xds.internal.security.SslContextProvider
close, getCommonTlsContext, getDownstreamTlsContext, getUpstreamTlsContext, performCallback, setClientAuthValues
-
Field Details
-
pendingCallbacks
-
staticCertificateValidationContext
-
sslContext
-
-
Constructor Details
-
DynamicSslContextProvider
protected DynamicSslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateValidationContext staticCertValidationContext)
-
-
Method Details
-
getSslContext
-
generateCertificateValidationContext
-
getSslContextBuilder
protected abstract io.netty.handler.ssl.SslContextBuilder getSslContextBuilder(CertificateValidationContext certificateValidationContext) throws CertificateException, IOException, CertStoreException Gets a server or client side SslContextBuilder. -
updateSslContext
protected final void updateSslContext() -
callPerformCallback
protected final void callPerformCallback(SslContextProvider.Callback callback, io.netty.handler.ssl.SslContext sslContextCopy) -
addCallback
Description copied from class:SslContextProvider
Registers a callback on the given executor. The callback will run when SslContext becomes available or immediately if the result is already available.- Specified by:
addCallback
in classSslContextProvider
-
makePendingCallbacks
private final void makePendingCallbacks(io.netty.handler.ssl.SslContext sslContextCopy, List<SslContextProvider.Callback> pendingCallbacksCopy) -
onError
public final void onError(io.grpc.Status error) Propagates error to all the callback receivers. -
clonePendingCallbacksAndClear
-