Get desktop application:
View/edit binary Protocol Buffers messages
Handshaker service accepts a stream of handshaker request, returning a stream of handshaker response. Client is expected to send exactly one message with either client_start or server_start followed by one or more messages with next. Each time client sends a request, the handshaker service expects to respond. Client does not have to wait for service's response before sending next request.
The start client handshake request message.
The start server handshake request message.
The next handshake request message.
Frames to be given to the peer for the NextHandshakeMessageReq. May be empty if no out_frames have to be sent to the peer or if in_bytes in the HandshakerReq are incomplete. All the non-empty out frames must be sent to the peer even if the handshaker status is not OK as these frames may contain the alert frames.
Number of bytes in the in_bytes consumed by the handshaker. It is possible that part of in_bytes in HandshakerReq was unrelated to the handshake process.
This is set iff the handshake was successful. out_frames may still be set to frames that needs to be forwarded to the peer.
Status of the handshaker.
The application protocol negotiated for this connection.
The record protocol negotiated for this connection.
The security level of the created secure channel.
The peer service account.
The local service account.
The RPC protocol versions supported by the peer.
Additional attributes of the peer.
Used in: ,
IP address. It should contain an IPv4 or IPv6 string literal, e.g. "192.168.0.1" or "2001:db8::1".
Port number.
Network protocol (e.g., TCP, UDP) associated with this endpoint.
Used in:
Default value.
TLS handshake protocol.
Application Layer Transport Security handshake protocol.
Used in:
The application protocol negotiated for this connection.
The record protocol negotiated for this connection.
Cryptographic key data. The key data may be more than the key length required for the record protocol, thus the client of the handshaker service needs to truncate the key data into the right key length.
The authenticated identity of the peer.
The local identity used in the handshake.
Indicate whether the handshaker service client should keep the channel between the handshaker service open, e.g., in order to handle post-handshake messages in the future.
The RPC protocol versions supported by the peer.
The maximum frame size of the peer.
(Optional) The transport protocol negotiated for this connection.
Used in:
The status code. This could be the gRPC status code.
The status details.
Used in: , ,
Service account of a connection endpoint.
Hostname of a connection endpoint.
Additional attributes of the identity.
The negotiated transport protocol.
Used in:
Used in:
Used in:
Bytes in out_frames returned from the peer's HandshakerResp. It is possible that the peer's out_frames are split into multiple NextHandshakerMessageReq messages.
Number of milliseconds between when the application send the last handshake message to the peer and when the application received the current handshake message (in the in_bytes field) from the peer.
Max and min supported RPC protocol versions.
Used in: , , ,
Maximum supported RPC version.
Minimum supported RPC version.
RPC version contains a major version and a minor version.
Used in:
The security level of the created channel. The list is sorted in increasing level of security. This order must always be maintained.
Used in:
Used in:
The record protocols supported by the server, e.g., "ALTSRP_GCM_AES128".
(Optional) A list of local identities supported by the server, if specified. Otherwise, the handshaker chooses a default local identity.
A token created by the caller only intended for use in ALTS connections. The token should be used to authenticate to the peer. The token MUST be strongly bound to the ALTS credentials used to establish the connection that the token is sent over.
Used in:
Handshake security protocol requested by the client.
The application protocols supported by the client, e.g., "h2" (for http2), "grpc".
The record protocols supported by the client, e.g., "ALTSRP_GCM_AES128".
(Optional) Describes which server identities are acceptable by the client. If target identities are provided and none of them matches the peer identity of the server, handshake will fail.
(Optional) Application may specify a local identity. Otherwise, the handshaker chooses a default local identity.
(Optional) Local endpoint information of the connection to the server, such as local IP address, port number, and network protocol.
(Optional) Endpoint information of the remote server, such as IP address, port number, and network protocol.
(Optional) If target name is provided, a secure naming check is performed to verify that the peer authenticated identity is indeed authorized to run the target name.
(Optional) RPC protocol versions supported by the client.
(Optional) Maximum frame size supported by the client.
(Optional) An access token created by the caller only intended for use in ALTS connections. The access token that should be used to authenticate to the peer. The access token MUST be strongly bound to the ALTS credentials used to establish the connection that the token is sent over.
(Optional) Ordered transport protocol preferences supported by the client.
Used in:
The application protocols supported by the server, e.g., "h2" (for http2), "grpc".
Handshake parameters (record protocols and local identities supported by the server) mapped by the handshake protocol. Each handshake security protocol (e.g., TLS or ALTS) has its own set of record protocols and local identities. Since protobuf does not support enum as key to the map, the key to handshake_parameters is the integer value of HandshakeProtocol enum.
Bytes in out_frames returned from the peer's HandshakerResp. It is possible that the peer's out_frames are split into multiple HandshakeReq messages.
(Optional) Local endpoint information of the connection to the client, such as local IP address, port number, and network protocol.
(Optional) Endpoint information of the remote client, such as IP address, port number, and network protocol.
(Optional) RPC protocol versions supported by the server.
(Optional) Maximum frame size supported by the server.
(Optional) Transport protocol preferences supported by the server.
The ordered list of protocols that the client wishes to use, or the set that the server supports.
Used in: ,