public static enum TlsChannelCredentials.Feature extends Enum<TlsChannelCredentials.Feature>
Enum Constant and Description |
---|
CUSTOM_MANAGERS
Key managers and trust managers may be specified as
KeyManager and TrustManager objects. |
FAKE
A feature that no consumer should understand.
|
MTLS
Client identity may be provided and server verification can be tuned.
|
Modifier and Type | Method and Description |
---|---|
static TlsChannelCredentials.Feature |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static TlsChannelCredentials.Feature[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final TlsChannelCredentials.Feature FAKE
incomprehensible()
is implemented properly.public static final TlsChannelCredentials.Feature MTLS
TlsChannelCredentials.getCertificateChain()
, TlsChannelCredentials.getPrivateKey()
, and TlsChannelCredentials.getPrivateKeyPassword()
as well as TlsChannelCredentials.getRootCertificates()
. The certificate chain and
private key are used to configure a key manager to provide the client's identity. If no
certificate chain and private key are provided the client will have no identity. The root
certificates are used to configure a trust manager for verifying the server's identity. If no
root certificates are provided the trust manager will default to the system's root
certificates.public static final TlsChannelCredentials.Feature CUSTOM_MANAGERS
KeyManager
and TrustManager
objects. This feature requires observing TlsChannelCredentials.getKeyManagers()
and TlsChannelCredentials.getTrustManagers()
. Generally MTLS
should also be supported, as that is the more
common method of configuration. When a manager is non-null
, then it is wholly
responsible for key or trust material and usage; there is no need to check other manager
sources like TlsChannelCredentials.getCertificateChain()
or TlsChannelCredentials.getPrivateKey()
(if KeyManager
is available), or TlsChannelCredentials.getRootCertificates()
(if TrustManager
is
available).
If other manager sources are available (e.g., getPrivateKey() != null
), then they
may be alternative representations of the same configuration and the consumer is free to use
those alternative representations if it prefers. But before doing so it must first
check that it understands that alternative representation by using TlsChannelCredentials.incomprehensible(java.util.Set<io.grpc.TlsChannelCredentials.Feature>)
without the CUSTOM_MANAGERS
feature.
public static TlsChannelCredentials.Feature[] values()
for (TlsChannelCredentials.Feature c : TlsChannelCredentials.Feature.values()) System.out.println(c);
public static TlsChannelCredentials.Feature valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null