package handshaker
import "google.golang.org/grpc/credentials/alts/internal/handshaker"
Package handshaker provides ALTS handshaking functionality for GCP.
Index ¶
- func NewClientHandshaker(_ context.Context, conn *grpc.ClientConn, c net.Conn, opts *ClientHandshakerOptions) (core.Handshaker, error)
- func NewServerHandshaker(_ context.Context, conn *grpc.ClientConn, c net.Conn, opts *ServerHandshakerOptions) (core.Handshaker, error)
- func ResetConcurrentHandshakeSemaphoreForTesting(numberOfAllowedHandshakes int64)
- type ClientHandshakerOptions
- type ServerHandshakerOptions
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
// BoundAccessToken is a bound access token to be sent to the server for authentication.
BoundAccessToken string
}
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 ¶
| Path | Synopsis |
|---|---|
| credentials/alts/internal/handshaker/service | Package service manages connections between the VM application and the ALTS handshaker service. |
- Version
- v1.79.1
- Published
- Feb 13, 2026
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 13 minutes ago –
Tools for package owners.