Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterS2AServiceServer(s grpc.ServiceRegistrar, srv S2AServiceServer)
- type AuthenticationMechanism
- func (*AuthenticationMechanism) Descriptor() ([]byte, []int)deprecated
- func (x *AuthenticationMechanism) GetIdentity() *common_go_proto.Identity
- func (m *AuthenticationMechanism) GetMechanismOneof() isAuthenticationMechanism_MechanismOneof
- func (x *AuthenticationMechanism) GetToken() string
- func (*AuthenticationMechanism) ProtoMessage()
- func (x *AuthenticationMechanism) ProtoReflect() protoreflect.Message
- func (x *AuthenticationMechanism) Reset()
- func (x *AuthenticationMechanism) String() string
- type AuthenticationMechanism_Token
- type ClientSessionStartReq
- func (*ClientSessionStartReq) Descriptor() ([]byte, []int)deprecated
- func (x *ClientSessionStartReq) GetApplicationProtocols() []string
- func (x *ClientSessionStartReq) GetLocalIdentity() *common_go_proto.Identity
- func (x *ClientSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion
- func (x *ClientSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion
- func (x *ClientSessionStartReq) GetTargetIdentities() []*common_go_proto.Identity
- func (x *ClientSessionStartReq) GetTargetName() string
- func (x *ClientSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite
- func (*ClientSessionStartReq) ProtoMessage()
- func (x *ClientSessionStartReq) ProtoReflect() protoreflect.Message
- func (x *ClientSessionStartReq) Reset()
- func (x *ClientSessionStartReq) String() string
- type ResumptionTicketReq
- func (*ResumptionTicketReq) Descriptor() ([]byte, []int)deprecated
- func (x *ResumptionTicketReq) GetConnectionId() uint64
- func (x *ResumptionTicketReq) GetInBytes() [][]byte
- func (x *ResumptionTicketReq) GetLocalIdentity() *common_go_proto.Identity
- func (*ResumptionTicketReq) ProtoMessage()
- func (x *ResumptionTicketReq) ProtoReflect() protoreflect.Message
- func (x *ResumptionTicketReq) Reset()
- func (x *ResumptionTicketReq) String() string
- type S2AServiceClient
- type S2AServiceServer
- type S2AService_SetUpSessionClient
- type S2AService_SetUpSessionServer
- type ServerSessionStartReq
- func (*ServerSessionStartReq) Descriptor() ([]byte, []int)deprecated
- func (x *ServerSessionStartReq) GetApplicationProtocols() []string
- func (x *ServerSessionStartReq) GetInBytes() []byte
- func (x *ServerSessionStartReq) GetLocalIdentities() []*common_go_proto.Identity
- func (x *ServerSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion
- func (x *ServerSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion
- func (x *ServerSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite
- func (*ServerSessionStartReq) ProtoMessage()
- func (x *ServerSessionStartReq) ProtoReflect() protoreflect.Message
- func (x *ServerSessionStartReq) Reset()
- func (x *ServerSessionStartReq) String() string
- type SessionNextReq
- type SessionReq
- func (*SessionReq) Descriptor() ([]byte, []int)deprecated
- func (x *SessionReq) GetAuthMechanisms() []*AuthenticationMechanism
- func (x *SessionReq) GetClientStart() *ClientSessionStartReq
- func (x *SessionReq) GetNext() *SessionNextReq
- func (m *SessionReq) GetReqOneof() isSessionReq_ReqOneof
- func (x *SessionReq) GetResumptionTicket() *ResumptionTicketReq
- func (x *SessionReq) GetServerStart() *ServerSessionStartReq
- func (*SessionReq) ProtoMessage()
- func (x *SessionReq) ProtoReflect() protoreflect.Message
- func (x *SessionReq) Reset()
- func (x *SessionReq) String() string
- type SessionReq_ClientStart
- type SessionReq_Next
- type SessionReq_ResumptionTicket
- type SessionReq_ServerStart
- type SessionResp
- func (*SessionResp) Descriptor() ([]byte, []int)deprecated
- func (x *SessionResp) GetBytesConsumed() uint32
- func (x *SessionResp) GetLocalIdentity() *common_go_proto.Identity
- func (x *SessionResp) GetOutFrames() []byte
- func (x *SessionResp) GetResult() *SessionResult
- func (x *SessionResp) GetStatus() *SessionStatus
- func (*SessionResp) ProtoMessage()
- func (x *SessionResp) ProtoReflect() protoreflect.Message
- func (x *SessionResp) Reset()
- func (x *SessionResp) String() string
- type SessionResult
- func (*SessionResult) Descriptor() ([]byte, []int)deprecated
- func (x *SessionResult) GetApplicationProtocol() string
- func (x *SessionResult) GetLocalCertFingerprint() []byte
- func (x *SessionResult) GetLocalIdentity() *common_go_proto.Identity
- func (x *SessionResult) GetPeerCertFingerprint() []byte
- func (x *SessionResult) GetPeerIdentity() *common_go_proto.Identity
- func (x *SessionResult) GetState() *SessionState
- func (*SessionResult) ProtoMessage()
- func (x *SessionResult) ProtoReflect() protoreflect.Message
- func (x *SessionResult) Reset()
- func (x *SessionResult) String() string
- type SessionState
- func (*SessionState) Descriptor() ([]byte, []int)deprecated
- func (x *SessionState) GetConnectionId() uint64
- func (x *SessionState) GetInFixedNonce() []byte
- func (x *SessionState) GetInKey() []byte
- func (x *SessionState) GetInSequence() uint64
- func (x *SessionState) GetIsHandshakeResumed() bool
- func (x *SessionState) GetOutFixedNonce() []byte
- func (x *SessionState) GetOutKey() []byte
- func (x *SessionState) GetOutSequence() uint64
- func (x *SessionState) GetTlsCiphersuite() common_go_proto.Ciphersuite
- func (x *SessionState) GetTlsVersion() common_go_proto.TLSVersion
- func (*SessionState) ProtoMessage()
- func (x *SessionState) ProtoReflect() protoreflect.Message
- func (x *SessionState) Reset()
- func (x *SessionState) String() string
- type SessionStatus
- func (*SessionStatus) Descriptor() ([]byte, []int)deprecated
- func (x *SessionStatus) GetCode() uint32
- func (x *SessionStatus) GetDetails() string
- func (*SessionStatus) ProtoMessage()
- func (x *SessionStatus) ProtoReflect() protoreflect.Message
- func (x *SessionStatus) Reset()
- func (x *SessionStatus) String() string
- type UnimplementedS2AServiceServer
- type UnsafeS2AServiceServer
Constants ¶
const (
S2AService_SetUpSession_FullMethodName = "/s2a.proto.S2AService/SetUpSession"
)
Variables ¶
var File_internal_proto_s2a_s2a_proto protoreflect.FileDescriptor
var S2AService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "s2a.proto.S2AService", HandlerType: (*S2AServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "SetUpSession", Handler: _S2AService_SetUpSession_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "internal/proto/s2a/s2a.proto", }
S2AService_ServiceDesc is the grpc.ServiceDesc for S2AService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterS2AServiceServer ¶
func RegisterS2AServiceServer(s grpc.ServiceRegistrar, srv S2AServiceServer)
Types ¶
type AuthenticationMechanism ¶
type AuthenticationMechanism struct { // (Optional) Application may specify an identity associated to an // authentication mechanism. Otherwise, S2A assumes that the authentication // mechanism is associated with the default identity. If the default identity // cannot be determined, session setup fails. Identity *common_go_proto.Identity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // Types that are assignable to MechanismOneof: // // *AuthenticationMechanism_Token MechanismOneof isAuthenticationMechanism_MechanismOneof `protobuf_oneof:"mechanism_oneof"` // contains filtered or unexported fields }
func (*AuthenticationMechanism) Descriptor
deprecated
func (*AuthenticationMechanism) Descriptor() ([]byte, []int)
Deprecated: Use AuthenticationMechanism.ProtoReflect.Descriptor instead.
func (*AuthenticationMechanism) GetIdentity ¶
func (x *AuthenticationMechanism) GetIdentity() *common_go_proto.Identity
func (*AuthenticationMechanism) GetMechanismOneof ¶
func (m *AuthenticationMechanism) GetMechanismOneof() isAuthenticationMechanism_MechanismOneof
func (*AuthenticationMechanism) GetToken ¶
func (x *AuthenticationMechanism) GetToken() string
func (*AuthenticationMechanism) ProtoMessage ¶
func (*AuthenticationMechanism) ProtoMessage()
func (*AuthenticationMechanism) ProtoReflect ¶
func (x *AuthenticationMechanism) ProtoReflect() protoreflect.Message
func (*AuthenticationMechanism) Reset ¶
func (x *AuthenticationMechanism) Reset()
func (*AuthenticationMechanism) String ¶
func (x *AuthenticationMechanism) String() string
type AuthenticationMechanism_Token ¶
type AuthenticationMechanism_Token struct { // A token that the application uses to authenticate itself to the S2A. Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"` }
type ClientSessionStartReq ¶
type ClientSessionStartReq struct { // The application protocols supported by the client, e.g., "grpc". ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` // (Optional) The minimum TLS version number that the S2A's handshaker module // will use to set up the session. If this field is not provided, S2A will use // the minimum version it supports. MinTlsVersion common_go_proto.TLSVersion `` /* 129-byte string literal not displayed */ // (Optional) The maximum TLS version number that the S2A's handshaker module // will use to set up the session. If this field is not provided, S2A will use // the maximum version it supports. MaxTlsVersion common_go_proto.TLSVersion `` /* 129-byte string literal not displayed */ // The TLS ciphersuites that the client is willing to support. TlsCiphersuites []common_go_proto.Ciphersuite `` /* 141-byte string literal not displayed */ // (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, session setup fails. TargetIdentities []*common_go_proto.Identity `protobuf:"bytes,5,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"` // (Optional) Application may specify a local identity. Otherwise, S2A chooses // the default local identity. If the default identity cannot be determined, // session setup fails. LocalIdentity *common_go_proto.Identity `protobuf:"bytes,6,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` // The target name that is used by S2A to configure SNI in the TLS handshake. // It is also used to perform server authorization check if avaiable. This // check is intended to verify that the peer authenticated identity is // authorized to run a service with the target name. // This field MUST only contain the host portion of the server address. It // MUST not contain the scheme or the port number. For example, if the server // address is dns://www.example.com:443, the value of this field should be // set to www.example.com. TargetName string `protobuf:"bytes,7,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"` // contains filtered or unexported fields }
func (*ClientSessionStartReq) Descriptor
deprecated
func (*ClientSessionStartReq) Descriptor() ([]byte, []int)
Deprecated: Use ClientSessionStartReq.ProtoReflect.Descriptor instead.
func (*ClientSessionStartReq) GetApplicationProtocols ¶
func (x *ClientSessionStartReq) GetApplicationProtocols() []string
func (*ClientSessionStartReq) GetLocalIdentity ¶
func (x *ClientSessionStartReq) GetLocalIdentity() *common_go_proto.Identity
func (*ClientSessionStartReq) GetMaxTlsVersion ¶
func (x *ClientSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion
func (*ClientSessionStartReq) GetMinTlsVersion ¶
func (x *ClientSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion
func (*ClientSessionStartReq) GetTargetIdentities ¶
func (x *ClientSessionStartReq) GetTargetIdentities() []*common_go_proto.Identity
func (*ClientSessionStartReq) GetTargetName ¶
func (x *ClientSessionStartReq) GetTargetName() string
func (*ClientSessionStartReq) GetTlsCiphersuites ¶
func (x *ClientSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite
func (*ClientSessionStartReq) ProtoMessage ¶
func (*ClientSessionStartReq) ProtoMessage()
func (*ClientSessionStartReq) ProtoReflect ¶
func (x *ClientSessionStartReq) ProtoReflect() protoreflect.Message
func (*ClientSessionStartReq) Reset ¶
func (x *ClientSessionStartReq) Reset()
func (*ClientSessionStartReq) String ¶
func (x *ClientSessionStartReq) String() string
type ResumptionTicketReq ¶
type ResumptionTicketReq struct { // The byte representation of a NewSessionTicket message received from the // server. InBytes [][]byte `protobuf:"bytes,1,rep,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` // A connection identifier that was created and sent by S2A at the end of a // handshake. ConnectionId uint64 `protobuf:"varint,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` // The local identity that was used by S2A during session setup and included // in |SessionResult|. LocalIdentity *common_go_proto.Identity `protobuf:"bytes,3,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` // contains filtered or unexported fields }
func (*ResumptionTicketReq) Descriptor
deprecated
func (*ResumptionTicketReq) Descriptor() ([]byte, []int)
Deprecated: Use ResumptionTicketReq.ProtoReflect.Descriptor instead.
func (*ResumptionTicketReq) GetConnectionId ¶
func (x *ResumptionTicketReq) GetConnectionId() uint64
func (*ResumptionTicketReq) GetInBytes ¶
func (x *ResumptionTicketReq) GetInBytes() [][]byte
func (*ResumptionTicketReq) GetLocalIdentity ¶
func (x *ResumptionTicketReq) GetLocalIdentity() *common_go_proto.Identity
func (*ResumptionTicketReq) ProtoMessage ¶
func (*ResumptionTicketReq) ProtoMessage()
func (*ResumptionTicketReq) ProtoReflect ¶
func (x *ResumptionTicketReq) ProtoReflect() protoreflect.Message
func (*ResumptionTicketReq) Reset ¶
func (x *ResumptionTicketReq) Reset()
func (*ResumptionTicketReq) String ¶
func (x *ResumptionTicketReq) String() string
type S2AServiceClient ¶
type S2AServiceClient interface { // S2A service accepts a stream of session setup requests and returns a stream // of session setup responses. The client of this service is expected to send // exactly one client_start or server_start message followed by at least one // next message. Applications running TLS clients can send requests with // resumption_ticket messages only after the session is successfully set up. // // Every time S2A client sends a request, this service sends a response. // However, clients do not have to wait for service response before sending // the next request. SetUpSession(ctx context.Context, opts ...grpc.CallOption) (S2AService_SetUpSessionClient, error) }
S2AServiceClient is the client API for S2AService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewS2AServiceClient ¶
func NewS2AServiceClient(cc grpc.ClientConnInterface) S2AServiceClient
type S2AServiceServer ¶
type S2AServiceServer interface { // S2A service accepts a stream of session setup requests and returns a stream // of session setup responses. The client of this service is expected to send // exactly one client_start or server_start message followed by at least one // next message. Applications running TLS clients can send requests with // resumption_ticket messages only after the session is successfully set up. // // Every time S2A client sends a request, this service sends a response. // However, clients do not have to wait for service response before sending // the next request. SetUpSession(S2AService_SetUpSessionServer) error // contains filtered or unexported methods }
S2AServiceServer is the server API for S2AService service. All implementations must embed UnimplementedS2AServiceServer for forward compatibility
type S2AService_SetUpSessionClient ¶
type S2AService_SetUpSessionClient interface { Send(*SessionReq) error Recv() (*SessionResp, error) grpc.ClientStream }
type S2AService_SetUpSessionServer ¶
type S2AService_SetUpSessionServer interface { Send(*SessionResp) error Recv() (*SessionReq, error) grpc.ServerStream }
type ServerSessionStartReq ¶
type ServerSessionStartReq struct { // The application protocols supported by the server, e.g., "grpc". ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` // (Optional) The minimum TLS version number that the S2A's handshaker module // will use to set up the session. If this field is not provided, S2A will use // the minimum version it supports. MinTlsVersion common_go_proto.TLSVersion `` /* 129-byte string literal not displayed */ // (Optional) The maximum TLS version number that the S2A's handshaker module // will use to set up the session. If this field is not provided, S2A will use // the maximum version it supports. MaxTlsVersion common_go_proto.TLSVersion `` /* 129-byte string literal not displayed */ // The TLS ciphersuites that the server is willing to support. TlsCiphersuites []common_go_proto.Ciphersuite `` /* 141-byte string literal not displayed */ // (Optional) A list of local identities supported by the server, if // specified. Otherwise, S2A chooses the default local identity. If the // default identity cannot be determined, session setup fails. LocalIdentities []*common_go_proto.Identity `protobuf:"bytes,5,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"` // The byte representation of the first handshake message received from the // client peer. It is possible that this first message is split into multiple // chunks. In this case, the first chunk is sent using this field and the // following chunks are sent using the in_bytes field of SessionNextReq // Specifically, if the client peer is using S2A, this field contains the // bytes in the out_frames field of SessionResp message that the client peer // received from its S2A after initiating the handshake. InBytes []byte `protobuf:"bytes,6,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` // contains filtered or unexported fields }
func (*ServerSessionStartReq) Descriptor
deprecated
func (*ServerSessionStartReq) Descriptor() ([]byte, []int)
Deprecated: Use ServerSessionStartReq.ProtoReflect.Descriptor instead.
func (*ServerSessionStartReq) GetApplicationProtocols ¶
func (x *ServerSessionStartReq) GetApplicationProtocols() []string
func (*ServerSessionStartReq) GetInBytes ¶
func (x *ServerSessionStartReq) GetInBytes() []byte
func (*ServerSessionStartReq) GetLocalIdentities ¶
func (x *ServerSessionStartReq) GetLocalIdentities() []*common_go_proto.Identity
func (*ServerSessionStartReq) GetMaxTlsVersion ¶
func (x *ServerSessionStartReq) GetMaxTlsVersion() common_go_proto.TLSVersion
func (*ServerSessionStartReq) GetMinTlsVersion ¶
func (x *ServerSessionStartReq) GetMinTlsVersion() common_go_proto.TLSVersion
func (*ServerSessionStartReq) GetTlsCiphersuites ¶
func (x *ServerSessionStartReq) GetTlsCiphersuites() []common_go_proto.Ciphersuite
func (*ServerSessionStartReq) ProtoMessage ¶
func (*ServerSessionStartReq) ProtoMessage()
func (*ServerSessionStartReq) ProtoReflect ¶
func (x *ServerSessionStartReq) ProtoReflect() protoreflect.Message
func (*ServerSessionStartReq) Reset ¶
func (x *ServerSessionStartReq) Reset()
func (*ServerSessionStartReq) String ¶
func (x *ServerSessionStartReq) String() string
type SessionNextReq ¶
type SessionNextReq struct { // The byte representation of session setup, i.e., handshake messages. // Specifically: // - All handshake messages sent from the server to the client. // - All, except for the first, handshake messages sent from the client to // the server. Note that the first message is communicated to S2A using the // in_bytes field of ServerSessionStartReq. // // If the peer is using S2A, this field contains the bytes in the out_frames // field of SessionResp message that the peer received from its S2A. InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` // contains filtered or unexported fields }
func (*SessionNextReq) Descriptor
deprecated
func (*SessionNextReq) Descriptor() ([]byte, []int)
Deprecated: Use SessionNextReq.ProtoReflect.Descriptor instead.
func (*SessionNextReq) GetInBytes ¶
func (x *SessionNextReq) GetInBytes() []byte
func (*SessionNextReq) ProtoMessage ¶
func (*SessionNextReq) ProtoMessage()
func (*SessionNextReq) ProtoReflect ¶
func (x *SessionNextReq) ProtoReflect() protoreflect.Message
func (*SessionNextReq) Reset ¶
func (x *SessionNextReq) Reset()
func (*SessionNextReq) String ¶
func (x *SessionNextReq) String() string
type SessionReq ¶
type SessionReq struct { // Types that are assignable to ReqOneof: // // *SessionReq_ClientStart // *SessionReq_ServerStart // *SessionReq_Next // *SessionReq_ResumptionTicket ReqOneof isSessionReq_ReqOneof `protobuf_oneof:"req_oneof"` // (Optional) The authentication mechanisms that the client wishes to use to // authenticate to the S2A, ordered by preference. The S2A will always use the // first authentication mechanism that appears in the list and is supported by // the S2A. AuthMechanisms []*AuthenticationMechanism `protobuf:"bytes,5,rep,name=auth_mechanisms,json=authMechanisms,proto3" json:"auth_mechanisms,omitempty"` // contains filtered or unexported fields }
func (*SessionReq) Descriptor
deprecated
func (*SessionReq) Descriptor() ([]byte, []int)
Deprecated: Use SessionReq.ProtoReflect.Descriptor instead.
func (*SessionReq) GetAuthMechanisms ¶
func (x *SessionReq) GetAuthMechanisms() []*AuthenticationMechanism
func (*SessionReq) GetClientStart ¶
func (x *SessionReq) GetClientStart() *ClientSessionStartReq
func (*SessionReq) GetNext ¶
func (x *SessionReq) GetNext() *SessionNextReq
func (*SessionReq) GetReqOneof ¶
func (m *SessionReq) GetReqOneof() isSessionReq_ReqOneof
func (*SessionReq) GetResumptionTicket ¶
func (x *SessionReq) GetResumptionTicket() *ResumptionTicketReq
func (*SessionReq) GetServerStart ¶
func (x *SessionReq) GetServerStart() *ServerSessionStartReq
func (*SessionReq) ProtoMessage ¶
func (*SessionReq) ProtoMessage()
func (*SessionReq) ProtoReflect ¶
func (x *SessionReq) ProtoReflect() protoreflect.Message
func (*SessionReq) Reset ¶
func (x *SessionReq) Reset()
func (*SessionReq) String ¶
func (x *SessionReq) String() string
type SessionReq_ClientStart ¶
type SessionReq_ClientStart struct { // The client session setup request message. ClientStart *ClientSessionStartReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"` }
type SessionReq_Next ¶
type SessionReq_Next struct { // The next session setup message request message. Next *SessionNextReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"` }
type SessionReq_ResumptionTicket ¶
type SessionReq_ResumptionTicket struct { // The resumption ticket that is received from the server. This message is // only accepted by S2A if it is running as a client and if it is received // after session setup is complete. If S2A is running as a server and it // receives this message, the session is terminated. ResumptionTicket *ResumptionTicketReq `protobuf:"bytes,4,opt,name=resumption_ticket,json=resumptionTicket,proto3,oneof"` }
type SessionReq_ServerStart ¶
type SessionReq_ServerStart struct { // The server session setup request message. ServerStart *ServerSessionStartReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"` }
type SessionResp ¶
type SessionResp struct { // The local identity used during session setup. This could be: // - The local identity that the client specifies in ClientSessionStartReq. // - One of the local identities that the server specifies in // ServerSessionStartReq. // - If neither client or server specifies local identities, the S2A picks the // default one. In this case, this field will contain that identity. // // If the SessionResult is populated, then this must coincide with the local // identity specified in the SessionResult; otherwise, the handshake must // fail. LocalIdentity *common_go_proto.Identity `protobuf:"bytes,1,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` // The byte representation of the frames that should be sent to the peer. May // be empty if nothing needs to be sent to the peer or if in_bytes in the // SessionReq is incomplete. All bytes in a non-empty out_frames must be sent // to the peer even if the session setup status is not OK as these frames may // contain appropriate alerts. OutFrames []byte `protobuf:"bytes,2,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"` // Number of bytes in the in_bytes field that are consumed by S2A. It is // possible that part of in_bytes is unrelated to the session setup process. BytesConsumed uint32 `protobuf:"varint,3,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"` // This is set if the session is successfully set up. out_frames may // still be set to frames that needs to be forwarded to the peer. Result *SessionResult `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"` // Status of session setup at the current stage. Status *SessionStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // contains filtered or unexported fields }
func (*SessionResp) Descriptor
deprecated
func (*SessionResp) Descriptor() ([]byte, []int)
Deprecated: Use SessionResp.ProtoReflect.Descriptor instead.
func (*SessionResp) GetBytesConsumed ¶
func (x *SessionResp) GetBytesConsumed() uint32
func (*SessionResp) GetLocalIdentity ¶
func (x *SessionResp) GetLocalIdentity() *common_go_proto.Identity
func (*SessionResp) GetOutFrames ¶
func (x *SessionResp) GetOutFrames() []byte
func (*SessionResp) GetResult ¶
func (x *SessionResp) GetResult() *SessionResult
func (*SessionResp) GetStatus ¶
func (x *SessionResp) GetStatus() *SessionStatus
func (*SessionResp) ProtoMessage ¶
func (*SessionResp) ProtoMessage()
func (*SessionResp) ProtoReflect ¶
func (x *SessionResp) ProtoReflect() protoreflect.Message
func (*SessionResp) Reset ¶
func (x *SessionResp) Reset()
func (*SessionResp) String ¶
func (x *SessionResp) String() string
type SessionResult ¶
type SessionResult struct { // The application protocol negotiated for this session. ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"` // The session state at the end. This state contains all cryptographic // material required to initialize the record protocol object. State *SessionState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // The authenticated identity of the peer. PeerIdentity *common_go_proto.Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"` // The local identity used during session setup. This could be: // - The local identity that the client specifies in ClientSessionStartReq. // - One of the local identities that the server specifies in // ServerSessionStartReq. // - If neither client or server specifies local identities, the S2A picks the // default one. In this case, this field will contain that identity. LocalIdentity *common_go_proto.Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` // The SHA256 hash of the local certificate used in the handshake. LocalCertFingerprint []byte `protobuf:"bytes,6,opt,name=local_cert_fingerprint,json=localCertFingerprint,proto3" json:"local_cert_fingerprint,omitempty"` // The SHA256 hash of the peer certificate used in the handshake. PeerCertFingerprint []byte `protobuf:"bytes,7,opt,name=peer_cert_fingerprint,json=peerCertFingerprint,proto3" json:"peer_cert_fingerprint,omitempty"` // contains filtered or unexported fields }
func (*SessionResult) Descriptor
deprecated
func (*SessionResult) Descriptor() ([]byte, []int)
Deprecated: Use SessionResult.ProtoReflect.Descriptor instead.
func (*SessionResult) GetApplicationProtocol ¶
func (x *SessionResult) GetApplicationProtocol() string
func (*SessionResult) GetLocalCertFingerprint ¶
func (x *SessionResult) GetLocalCertFingerprint() []byte
func (*SessionResult) GetLocalIdentity ¶
func (x *SessionResult) GetLocalIdentity() *common_go_proto.Identity
func (*SessionResult) GetPeerCertFingerprint ¶
func (x *SessionResult) GetPeerCertFingerprint() []byte
func (*SessionResult) GetPeerIdentity ¶
func (x *SessionResult) GetPeerIdentity() *common_go_proto.Identity
func (*SessionResult) GetState ¶
func (x *SessionResult) GetState() *SessionState
func (*SessionResult) ProtoMessage ¶
func (*SessionResult) ProtoMessage()
func (*SessionResult) ProtoReflect ¶
func (x *SessionResult) ProtoReflect() protoreflect.Message
func (*SessionResult) Reset ¶
func (x *SessionResult) Reset()
func (*SessionResult) String ¶
func (x *SessionResult) String() string
type SessionState ¶
type SessionState struct { // The TLS version number that the S2A's handshaker module used to set up the // session. TlsVersion common_go_proto.TLSVersion `protobuf:"varint,1,opt,name=tls_version,json=tlsVersion,proto3,enum=s2a.proto.TLSVersion" json:"tls_version,omitempty"` // The TLS ciphersuite negotiated by the S2A's handshaker module. TlsCiphersuite common_go_proto.Ciphersuite `` /* 131-byte string literal not displayed */ // The sequence number of the next, incoming, TLS record. InSequence uint64 `protobuf:"varint,3,opt,name=in_sequence,json=inSequence,proto3" json:"in_sequence,omitempty"` // The sequence number of the next, outgoing, TLS record. OutSequence uint64 `protobuf:"varint,4,opt,name=out_sequence,json=outSequence,proto3" json:"out_sequence,omitempty"` // The key for the inbound direction. InKey []byte `protobuf:"bytes,5,opt,name=in_key,json=inKey,proto3" json:"in_key,omitempty"` // The key for the outbound direction. OutKey []byte `protobuf:"bytes,6,opt,name=out_key,json=outKey,proto3" json:"out_key,omitempty"` // The constant part of the record nonce for the outbound direction. InFixedNonce []byte `protobuf:"bytes,7,opt,name=in_fixed_nonce,json=inFixedNonce,proto3" json:"in_fixed_nonce,omitempty"` // The constant part of the record nonce for the inbound direction. OutFixedNonce []byte `protobuf:"bytes,8,opt,name=out_fixed_nonce,json=outFixedNonce,proto3" json:"out_fixed_nonce,omitempty"` // A connection identifier that can be provided to S2A to perform operations // related to this connection. This identifier will be stored by the record // protocol, and included in the |ResumptionTicketReq| message that is later // sent back to S2A. This field is set only for client-side connections. ConnectionId uint64 `protobuf:"varint,9,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` // Set to true if a cached session was reused to do an abbreviated handshake. IsHandshakeResumed bool `protobuf:"varint,10,opt,name=is_handshake_resumed,json=isHandshakeResumed,proto3" json:"is_handshake_resumed,omitempty"` // contains filtered or unexported fields }
func (*SessionState) Descriptor
deprecated
func (*SessionState) Descriptor() ([]byte, []int)
Deprecated: Use SessionState.ProtoReflect.Descriptor instead.
func (*SessionState) GetConnectionId ¶
func (x *SessionState) GetConnectionId() uint64
func (*SessionState) GetInFixedNonce ¶
func (x *SessionState) GetInFixedNonce() []byte
func (*SessionState) GetInKey ¶
func (x *SessionState) GetInKey() []byte
func (*SessionState) GetInSequence ¶
func (x *SessionState) GetInSequence() uint64
func (*SessionState) GetIsHandshakeResumed ¶
func (x *SessionState) GetIsHandshakeResumed() bool
func (*SessionState) GetOutFixedNonce ¶
func (x *SessionState) GetOutFixedNonce() []byte
func (*SessionState) GetOutKey ¶
func (x *SessionState) GetOutKey() []byte
func (*SessionState) GetOutSequence ¶
func (x *SessionState) GetOutSequence() uint64
func (*SessionState) GetTlsCiphersuite ¶
func (x *SessionState) GetTlsCiphersuite() common_go_proto.Ciphersuite
func (*SessionState) GetTlsVersion ¶
func (x *SessionState) GetTlsVersion() common_go_proto.TLSVersion
func (*SessionState) ProtoMessage ¶
func (*SessionState) ProtoMessage()
func (*SessionState) ProtoReflect ¶
func (x *SessionState) ProtoReflect() protoreflect.Message
func (*SessionState) Reset ¶
func (x *SessionState) Reset()
func (*SessionState) String ¶
func (x *SessionState) String() string
type SessionStatus ¶
type SessionStatus struct { // The status code that is specific to the application and the implementation // of S2A, e.g., gRPC status code. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // The status details. Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` // contains filtered or unexported fields }
func (*SessionStatus) Descriptor
deprecated
func (*SessionStatus) Descriptor() ([]byte, []int)
Deprecated: Use SessionStatus.ProtoReflect.Descriptor instead.
func (*SessionStatus) GetCode ¶
func (x *SessionStatus) GetCode() uint32
func (*SessionStatus) GetDetails ¶
func (x *SessionStatus) GetDetails() string
func (*SessionStatus) ProtoMessage ¶
func (*SessionStatus) ProtoMessage()
func (*SessionStatus) ProtoReflect ¶
func (x *SessionStatus) ProtoReflect() protoreflect.Message
func (*SessionStatus) Reset ¶
func (x *SessionStatus) Reset()
func (*SessionStatus) String ¶
func (x *SessionStatus) String() string
type UnimplementedS2AServiceServer ¶
type UnimplementedS2AServiceServer struct { }
UnimplementedS2AServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedS2AServiceServer) SetUpSession ¶
func (UnimplementedS2AServiceServer) SetUpSession(S2AService_SetUpSessionServer) error
type UnsafeS2AServiceServer ¶
type UnsafeS2AServiceServer interface {
// contains filtered or unexported methods
}
UnsafeS2AServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to S2AServiceServer will result in compilation errors.