public static enum TlsServerCredentials.Feature extends Enum<TlsServerCredentials.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 certificates may be requested and verified.
|
Modifier and Type | Method and Description |
---|---|
static TlsServerCredentials.Feature |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static TlsServerCredentials.Feature[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final TlsServerCredentials.Feature FAKE
incomprehensible()
is implemented properly.public static final TlsServerCredentials.Feature MTLS
TlsServerCredentials.getRootCertificates()
and TlsServerCredentials.getClientAuth()
. The root certificates are used to
configure a trust manager for verifying the client's identity. If no root certificates are
provided the trust manager will default to the system's root certificates.public static final TlsServerCredentials.Feature CUSTOM_MANAGERS
KeyManager
and TrustManager
objects. This feature by itself only implies TlsServerCredentials.getKeyManagers()
needs to
be observed. But along with MTLS
, then TlsServerCredentials.getTrustManagers()
needs to be
observed as well. 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 TlsServerCredentials.getCertificateChain()
or TlsServerCredentials.getPrivateKey()
(if KeyManager
is available), or
TlsServerCredentials.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 TlsServerCredentials.incomprehensible(java.util.Set<io.grpc.TlsServerCredentials.Feature>)
without the CUSTOM_MANAGERS
feature.
public static TlsServerCredentials.Feature[] values()
for (TlsServerCredentials.Feature c : TlsServerCredentials.Feature.values()) System.out.println(c);
public static TlsServerCredentials.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