Class SPIFFECertValidatorConfig.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
io.envoyproxy.envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,SPIFFECertValidatorConfigOrBuilder,Cloneable
- Enclosing class:
- SPIFFECertValidatorConfig
public static final class SPIFFECertValidatorConfig.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
implements SPIFFECertValidatorConfigOrBuilder
Configuration specific to the `SPIFFE <https://github.com/spiffe/spiffe>`_ certificate validator.
Example:
.. validated-code-block:: yaml
:type-name: envoy.extensions.transport_sockets.tls.v3.CertificateValidationContext
custom_validator_config:
name: envoy.tls.cert_validator.spiffe
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig
trust_domains:
- name: foo.com
trust_bundle:
filename: "foo.pem"
- name: envoy.com
trust_bundle:
filename: "envoy.pem"
In this example, a presented peer certificate whose SAN matches ``spiffe://foo.com/**`` is validated against
the "foo.pem" x.509 certificate. All the trust bundles are isolated from each other, so no trust domain can mint
a SVID belonging to another trust domain. That means, in this example, a SVID signed by ``envoy.com``'s CA with ``spiffe://foo.com/**``
SAN would be rejected since Envoy selects the trust bundle according to the presented SAN before validate the certificate.
Note that SPIFFE validator inherits and uses the following options from :ref:`CertificateValidationContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.CertificateValidationContext>`.
- :ref:`allow_expired_certificate <envoy_v3_api_field_extensions.transport_sockets.tls.v3.CertificateValidationContext.allow_expired_certificate>` to allow expired certificates.
- :ref:`match_typed_subject_alt_names <envoy_v3_api_field_extensions.transport_sockets.tls.v3.CertificateValidationContext.match_typed_subject_alt_names>` to match **URI** SAN of certificates. Unlike the default validator, SPIFFE validator only matches **URI** SAN (which equals to SVID in SPIFFE terminology) and ignore other SAN types.
Protobuf type envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig-
Method Summary
Modifier and TypeMethodDescriptionaddAllTrustDomains(Iterable<? extends SPIFFECertValidatorConfig.TrustDomain> values) This field specifies trust domains used for validating incoming X.509-SVID(s).addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) addTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain value) This field specifies trust domains used for validating incoming X.509-SVID(s).addTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).This field specifies trust domains used for validating incoming X.509-SVID(s).addTrustDomains(SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).This field specifies trust domains used for validating incoming X.509-SVID(s).addTrustDomainsBuilder(int index) This field specifies trust domains used for validating incoming X.509-SVID(s).build()clear()clearField(com.google.protobuf.Descriptors.FieldDescriptor field) clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) This field specifies all trust bundles as a single DataSource.This field specifies trust domains used for validating incoming X.509-SVID(s).clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorThis field specifies all trust bundles as a single DataSource.This field specifies all trust bundles as a single DataSource.This field specifies all trust bundles as a single DataSource.getTrustDomains(int index) This field specifies trust domains used for validating incoming X.509-SVID(s).getTrustDomainsBuilder(int index) This field specifies trust domains used for validating incoming X.509-SVID(s).This field specifies trust domains used for validating incoming X.509-SVID(s).intThis field specifies trust domains used for validating incoming X.509-SVID(s).This field specifies trust domains used for validating incoming X.509-SVID(s).getTrustDomainsOrBuilder(int index) This field specifies trust domains used for validating incoming X.509-SVID(s).This field specifies trust domains used for validating incoming X.509-SVID(s).booleanThis field specifies all trust bundles as a single DataSource.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeTrustBundles(DataSource value) This field specifies all trust bundles as a single DataSource.mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) removeTrustDomains(int index) This field specifies trust domains used for validating incoming X.509-SVID(s).setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setTrustBundles(DataSource value) This field specifies all trust bundles as a single DataSource.setTrustBundles(DataSource.Builder builderForValue) This field specifies all trust bundles as a single DataSource.setTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain value) This field specifies trust domains used for validating incoming X.509-SVID(s).setTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
setField
public SPIFFECertValidatorConfig.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
clearField
public SPIFFECertValidatorConfig.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
clearOneof
public SPIFFECertValidatorConfig.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
setRepeatedField
public SPIFFECertValidatorConfig.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
addRepeatedField
public SPIFFECertValidatorConfig.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<SPIFFECertValidatorConfig.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
mergeFrom
public SPIFFECertValidatorConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<SPIFFECertValidatorConfig.Builder>- Throws:
IOException
-
getTrustDomainsList
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... }- Specified by:
getTrustDomainsListin interfaceSPIFFECertValidatorConfigOrBuilder
-
getTrustDomainsCount
public int getTrustDomainsCount()This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... }- Specified by:
getTrustDomainsCountin interfaceSPIFFECertValidatorConfigOrBuilder
-
getTrustDomains
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... }- Specified by:
getTrustDomainsin interfaceSPIFFECertValidatorConfigOrBuilder
-
setTrustDomains
public SPIFFECertValidatorConfig.Builder setTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain value) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
setTrustDomains
public SPIFFECertValidatorConfig.Builder setTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addTrustDomains
public SPIFFECertValidatorConfig.Builder addTrustDomains(SPIFFECertValidatorConfig.TrustDomain value) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addTrustDomains
public SPIFFECertValidatorConfig.Builder addTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain value) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addTrustDomains
public SPIFFECertValidatorConfig.Builder addTrustDomains(SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addTrustDomains
public SPIFFECertValidatorConfig.Builder addTrustDomains(int index, SPIFFECertValidatorConfig.TrustDomain.Builder builderForValue) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addAllTrustDomains
public SPIFFECertValidatorConfig.Builder addAllTrustDomains(Iterable<? extends SPIFFECertValidatorConfig.TrustDomain> values) This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
clearTrustDomains
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
removeTrustDomains
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
getTrustDomainsBuilder
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
getTrustDomainsOrBuilder
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... }- Specified by:
getTrustDomainsOrBuilderin interfaceSPIFFECertValidatorConfigOrBuilder
-
getTrustDomainsOrBuilderList
public List<? extends SPIFFECertValidatorConfig.TrustDomainOrBuilder> getTrustDomainsOrBuilderList()This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... }- Specified by:
getTrustDomainsOrBuilderListin interfaceSPIFFECertValidatorConfigOrBuilder
-
addTrustDomainsBuilder
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
addTrustDomainsBuilder
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
getTrustDomainsBuilderList
This field specifies trust domains used for validating incoming X.509-SVID(s).
repeated .envoy.extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain trust_domains = 1 [(.validate.rules) = { ... } -
hasTrustBundles
public boolean hasTrustBundles()This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2;- Specified by:
hasTrustBundlesin interfaceSPIFFECertValidatorConfigOrBuilder- Returns:
- Whether the trustBundles field is set.
-
getTrustBundles
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2;- Specified by:
getTrustBundlesin interfaceSPIFFECertValidatorConfigOrBuilder- Returns:
- The trustBundles.
-
setTrustBundles
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2; -
setTrustBundles
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2; -
mergeTrustBundles
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2; -
clearTrustBundles
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2; -
getTrustBundlesBuilder
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2; -
getTrustBundlesOrBuilder
This field specifies all trust bundles as a single DataSource. If both trust_bundles and trust_domains are specified, trust_bundles will take precedence. Currently assumes file will be a SPIFFE Trust Bundle Map. If DataSource is a file, dynamic file watching will be enabled, and updates to the specified file will trigger a refresh of the trust_bundles.
.envoy.config.core.v3.DataSource trust_bundles = 2;- Specified by:
getTrustBundlesOrBuilderin interfaceSPIFFECertValidatorConfigOrBuilder
-
setUnknownFields
public final SPIFFECertValidatorConfig.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-
mergeUnknownFields
public final SPIFFECertValidatorConfig.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<SPIFFECertValidatorConfig.Builder>
-