...

Package v2

import "github.com/google/s2a-go/internal/v2"
Overview
Index
Subdirectories

Overview ▾

Package v2 provides the S2Av2 transport credentials used by a gRPC application.

func GetS2ATimeout

func GetS2ATimeout() time.Duration

GetS2ATimeout returns the timeout enforced on the connection to the S2A service for handshake.

func NewClientCreds

func NewClientCreds(s2av2Address string, transportCreds credentials.TransportCredentials, localIdentity *commonpbv1.Identity, verificationMode s2av2pb.ValidatePeerCertificateChainReq_VerificationMode, fallbackClientHandshakeFunc fallback.ClientHandshake, getS2AStream func(ctx context.Context, s2av2Address string) (stream.S2AStream, error), serverAuthorizationPolicy []byte) (credentials.TransportCredentials, error)

NewClientCreds returns a client-side transport credentials object that uses the S2Av2 to establish a secure connection with a server.

func NewClientTLSConfig

func NewClientTLSConfig(
    ctx context.Context,
    s2av2Address string,
    transportCreds credentials.TransportCredentials,
    tokenManager tokenmanager.AccessTokenManager,
    verificationMode s2av2pb.ValidatePeerCertificateChainReq_VerificationMode,
    serverName string,
    serverAuthorizationPolicy []byte) (*tls.Config, error)

NewClientTLSConfig returns a tls.Config instance that uses S2Av2 to establish a TLS connection as a client. The tls.Config MUST only be used to establish a single TLS connection.

func NewServerCreds

func NewServerCreds(s2av2Address string, transportCreds credentials.TransportCredentials, localIdentities []*commonpbv1.Identity, verificationMode s2av2pb.ValidatePeerCertificateChainReq_VerificationMode, getS2AStream func(ctx context.Context, s2av2Address string) (stream.S2AStream, error)) (credentials.TransportCredentials, error)

NewServerCreds returns a server-side transport credentials object that uses the S2Av2 to establish a secure connection with a client.

Subdirectories

Name Synopsis
..