Package io.grpc.xds.internal.security
Class SslContextProvider
- java.lang.Object
-
- io.grpc.xds.internal.security.SslContextProvider
-
- All Implemented Interfaces:
Closeable
,java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
DynamicSslContextProvider
@Internal public abstract class SslContextProvider extends java.lang.Object implements Closeable
A SslContextProvider is a "container" or provider of SslContext. This is used by gRPC-xds to obtain an SslContext, so is not part of the public API of gRPC. This "container" may represent a stream that is receiving the requested secret(s) or it could represent file-system based secret(s) that are dynamic.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SslContextProvider.Callback
protected static interface
SslContextProvider.SslContextGetter
Allows implementations to compute or get SslContext.
-
Field Summary
Fields Modifier and Type Field Description protected EnvoyServerProtoData.BaseTlsContext
tlsContext
-
Constructor Summary
Constructors Modifier Constructor Description protected
SslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addCallback(SslContextProvider.Callback callback)
Registers a callback on the given executor.abstract void
close()
Closes this provider and releases any resources.protected CommonTlsContext
getCommonTlsContext()
EnvoyServerProtoData.DownstreamTlsContext
getDownstreamTlsContext()
Returns the DownstreamTlsContext in this SslContextProvider if this is server side.EnvoyServerProtoData.UpstreamTlsContext
getUpstreamTlsContext()
Returns the UpstreamTlsContext in this SslContextProvider if this is client side.protected void
performCallback(SslContextProvider.SslContextGetter sslContextGetter, SslContextProvider.Callback callback)
protected void
setClientAuthValues(io.netty.handler.ssl.SslContextBuilder sslContextBuilder, XdsTrustManagerFactory xdsTrustManagerFactory)
-
-
-
Field Detail
-
tlsContext
protected final EnvoyServerProtoData.BaseTlsContext tlsContext
-
-
Constructor Detail
-
SslContextProvider
protected SslContextProvider(EnvoyServerProtoData.BaseTlsContext tlsContext)
-
-
Method Detail
-
getCommonTlsContext
protected CommonTlsContext getCommonTlsContext()
-
setClientAuthValues
protected void setClientAuthValues(io.netty.handler.ssl.SslContextBuilder sslContextBuilder, XdsTrustManagerFactory xdsTrustManagerFactory) throws java.security.cert.CertificateException, java.io.IOException, java.security.cert.CertStoreException
- Throws:
java.security.cert.CertificateException
java.io.IOException
java.security.cert.CertStoreException
-
getDownstreamTlsContext
public EnvoyServerProtoData.DownstreamTlsContext getDownstreamTlsContext()
Returns the DownstreamTlsContext in this SslContextProvider if this is server side.
-
getUpstreamTlsContext
public EnvoyServerProtoData.UpstreamTlsContext getUpstreamTlsContext()
Returns the UpstreamTlsContext in this SslContextProvider if this is client side.
-
close
public abstract void close()
Closes this provider and releases any resources.
-
addCallback
public abstract void addCallback(SslContextProvider.Callback callback)
Registers a callback on the given executor. The callback will run when SslContext becomes available or immediately if the result is already available.
-
performCallback
protected final void performCallback(SslContextProvider.SslContextGetter sslContextGetter, SslContextProvider.Callback callback)
-
-