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 dynamicSslContextProvider
s.
-
-
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>
pendingCallbacks
protected io.netty.handler.ssl.SslContext
sslContext
protected CertificateValidationContext
staticCertificateValidationContext
-
Fields inherited from class io.grpc.xds.internal.security.SslContextProvider
tlsContext
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DynamicSslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext, CertificateValidationContext staticCertValidationContext)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addCallback(SslContextProvider.Callback callback)
Registers a callback on the given executor.protected void
callPerformCallback(SslContextProvider.Callback callback, io.netty.handler.ssl.SslContext sslContextCopy)
private java.util.List<SslContextProvider.Callback>
clonePendingCallbacksAndClear()
protected abstract CertificateValidationContext
generateCertificateValidationContext()
io.netty.handler.ssl.SslContext
getSslContext()
protected abstract io.netty.handler.ssl.SslContextBuilder
getSslContextBuilder(CertificateValidationContext certificateValidationContext)
Gets a server or client side SslContextBuilder.private void
makePendingCallbacks(io.netty.handler.ssl.SslContext sslContextCopy, java.util.List<SslContextProvider.Callback> pendingCallbacksCopy)
void
onError(io.grpc.Status error)
Propagates error to all the callback receivers.protected void
updateSslContext()
-
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.CertificateException
java.io.IOException
java.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: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, 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()
-
-