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,java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
CertProviderSslContextProvider
@Internal public abstract class DynamicSslContextProvider extends SslContextProvider
Base class for dynamicSslContextProviders.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.grpc.xds.internal.security.SslContextProvider
SslContextProvider.Callback, SslContextProvider.SslContextGetter
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<SslContextProvider.Callback>pendingCallbacksprotected io.netty.handler.ssl.SslContextsslContextprotected CertificateValidationContextstaticCertificateValidationContext-
Fields inherited from class io.grpc.xds.internal.security.SslContextProvider
tlsContext
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDynamicSslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateValidationContext staticCertValidationContext)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddCallback(SslContextProvider.Callback callback)Registers a callback on the given executor.protected voidcallPerformCallback(SslContextProvider.Callback callback, io.netty.handler.ssl.SslContext sslContextCopy)private java.util.List<SslContextProvider.Callback>clonePendingCallbacksAndClear()protected abstract CertificateValidationContextgenerateCertificateValidationContext()io.netty.handler.ssl.SslContextgetSslContext()protected abstract io.netty.handler.ssl.SslContextBuildergetSslContextBuilder(CertificateValidationContext certificateValidationContext)Gets a server or client side SslContextBuilder.private voidmakePendingCallbacks(io.netty.handler.ssl.SslContext sslContextCopy, java.util.List<SslContextProvider.Callback> pendingCallbacksCopy)voidonError(io.grpc.Status error)Propagates error to all the callback receivers.protected voidupdateSslContext()-
Methods inherited from class io.grpc.xds.internal.security.SslContextProvider
close, getCommonTlsContext, getDownstreamTlsContext, getUpstreamTlsContext, performCallback, setClientAuthValues
-
-
-
-
Field Detail
-
pendingCallbacks
protected final java.util.List<SslContextProvider.Callback> pendingCallbacks
-
staticCertificateValidationContext
@Nullable protected final CertificateValidationContext staticCertificateValidationContext
-
sslContext
@Nullable protected io.netty.handler.ssl.SslContext sslContext
-
-
Constructor Detail
-
DynamicSslContextProvider
protected DynamicSslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateValidationContext staticCertValidationContext)
-
-
Method Detail
-
getSslContext
@Nullable public io.netty.handler.ssl.SslContext getSslContext()
-
generateCertificateValidationContext
protected abstract CertificateValidationContext generateCertificateValidationContext()
-
getSslContextBuilder
protected abstract io.netty.handler.ssl.SslContextBuilder getSslContextBuilder(CertificateValidationContext certificateValidationContext) throws java.security.cert.CertificateException, java.io.IOException, java.security.cert.CertStoreException
Gets a server or client side SslContextBuilder.- Throws:
java.security.cert.CertificateExceptionjava.io.IOExceptionjava.security.cert.CertStoreException
-
updateSslContext
protected final void updateSslContext()
-
callPerformCallback
protected final void callPerformCallback(SslContextProvider.Callback callback, io.netty.handler.ssl.SslContext sslContextCopy)
-
addCallback
public final void addCallback(SslContextProvider.Callback callback)
Description copied from class:SslContextProviderRegisters a callback on the given executor. The callback will run when SslContext becomes available or immediately if the result is already available.- Specified by:
addCallbackin classSslContextProvider
-
makePendingCallbacks
private final void makePendingCallbacks(io.netty.handler.ssl.SslContext sslContextCopy, java.util.List<SslContextProvider.Callback> pendingCallbacksCopy)
-
onError
public final void onError(io.grpc.Status error)
Propagates error to all the callback receivers.
-
clonePendingCallbacksAndClear
private java.util.List<SslContextProvider.Callback> clonePendingCallbacksAndClear()
-
-