package handshaker

import "google.golang.org/grpc/credentials/alts/internal/handshaker"

Package handshaker provides ALTS handshaking functionality for GCP.

Index

Functions

func NewClientHandshaker

func NewClientHandshaker(_ context.Context, conn *grpc.ClientConn, c net.Conn, opts *ClientHandshakerOptions) (core.Handshaker, error)

NewClientHandshaker creates a core.Handshaker that performs a client-side ALTS handshake by acting as a proxy between the peer and the ALTS handshaker service in the metadata server.

func NewServerHandshaker

func NewServerHandshaker(_ context.Context, conn *grpc.ClientConn, c net.Conn, opts *ServerHandshakerOptions) (core.Handshaker, error)

NewServerHandshaker creates a core.Handshaker that performs a server-side ALTS handshake by acting as a proxy between the peer and the ALTS handshaker service in the metadata server.

func ResetConcurrentHandshakeSemaphoreForTesting

func ResetConcurrentHandshakeSemaphoreForTesting(numberOfAllowedHandshakes int64)

ResetConcurrentHandshakeSemaphoreForTesting resets the handshake semaphores to allow numberOfAllowedHandshakes concurrent handshakes each.

Types

type ClientHandshakerOptions

type ClientHandshakerOptions struct {
	// ClientIdentity is the handshaker client local identity.
	ClientIdentity *altspb.Identity
	// TargetName is the server service account name for secure name
	// checking.
	TargetName string
	// TargetServiceAccounts contains a list of expected target service
	// accounts. One of these accounts should match one of the accounts in
	// the handshaker results. Otherwise, the handshake fails.
	TargetServiceAccounts []string
	// RPCVersions specifies the gRPC versions accepted by the client.
	RPCVersions *altspb.RpcProtocolVersions
}

ClientHandshakerOptions contains the client handshaker options that can provided by the caller.

func DefaultClientHandshakerOptions

func DefaultClientHandshakerOptions() *ClientHandshakerOptions

DefaultClientHandshakerOptions returns the default client handshaker options.

type ServerHandshakerOptions

type ServerHandshakerOptions struct {
	// RPCVersions specifies the gRPC versions accepted by the server.
	RPCVersions *altspb.RpcProtocolVersions
}

ServerHandshakerOptions contains the server handshaker options that can provided by the caller.

func DefaultServerHandshakerOptions

func DefaultServerHandshakerOptions() *ServerHandshakerOptions

DefaultServerHandshakerOptions returns the default client handshaker options.

Source Files

handshaker.go

Directories

PathSynopsis
credentials/alts/internal/handshaker/servicePackage service manages connections between the VM application and the ALTS handshaker service.
Version
v1.70.0 (latest)
Published
Jan 23, 2025
Platform
linux/amd64
Imports
15 packages
Last checked
19 hours ago

Tools for package owners.