func GetHandshakeInfo(attr *attributes.Attributes) *unsafe.Pointer
GetHandshakeInfo returns a pointer to the *HandshakeInfo stored in attr.
func SetHandshakeInfo(addr resolver.Address, hiPtr *unsafe.Pointer) resolver.Address
SetHandshakeInfo returns a copy of addr in which the Attributes field is updated with hiPtr.
HandshakeInfo wraps all the security configuration required by client and server handshake methods in xds credentials. The xDS implementation will be responsible for populating these fields.
type HandshakeInfo struct {
// contains filtered or unexported fields
}
func NewHandshakeInfo(rootProvider certprovider.Provider, identityProvider certprovider.Provider, sanMatchers []matcher.StringMatcher, requireClientCert bool) *HandshakeInfo
NewHandshakeInfo returns a new handshake info configured with the provided options.
func (hi *HandshakeInfo) ClientSideTLSConfig(ctx context.Context) (*tls.Config, error)
ClientSideTLSConfig constructs a tls.Config to be used in a client-side handshake based on the contents of the HandshakeInfo.
func (hi *HandshakeInfo) Equal(other *HandshakeInfo) bool
Equal reports whether the handshake info structs are identical.
func (hi *HandshakeInfo) GetSANMatchersForTesting() []matcher.StringMatcher
GetSANMatchersForTesting returns the SAN matchers stored in HandshakeInfo. To be used only for testing purposes.
func (hi *HandshakeInfo) MatchingSANExists(cert *x509.Certificate) bool
MatchingSANExists returns true if the SANs contained in cert match the criteria enforced by the list of SAN matchers in HandshakeInfo.
If the list of SAN matchers in the HandshakeInfo is empty, this function returns true for all input certificates.
func (hi *HandshakeInfo) ServerSideTLSConfig(ctx context.Context) (*tls.Config, error)
ServerSideTLSConfig constructs a tls.Config to be used in a server-side handshake based on the contents of the HandshakeInfo.
func (hi *HandshakeInfo) UseFallbackCreds() bool
UseFallbackCreds returns true when fallback credentials are to be used based on the contents of the HandshakeInfo.