Documentation
¶
Overview ¶
Package api is a generated protocol buffer package.
It is generated from these files:
dfss/dfssp/api/platform.proto
It has these top-level messages:
RegisterRequest ErrorCode AuthRequest RegisteredUser Empty PostContractRequest GetContractRequest Contract JoinSignatureRequest UserConnected User ReadySignRequest LaunchSignature
Index ¶
- Variables
- func RegisterPlatformServer(s *grpc.Server, srv PlatformServer)
- type AuthRequest
- type Contract
- type Empty
- type ErrorCode
- type ErrorCode_Code
- type GetContractRequest
- type JoinSignatureRequest
- type LaunchSignature
- type LaunchSignature_TTP
- type PlatformClient
- type PlatformServer
- type Platform_JoinSignatureClient
- type Platform_JoinSignatureServer
- type PostContractRequest
- type ReadySignRequest
- type RegisterRequest
- type RegisteredUser
- type User
- type UserConnected
Constants ¶
This section is empty.
Variables ¶
var ErrorCode_Code_name = map[int32]string{
0: "SUCCESS",
1: "INVARG",
2: "BADAUTH",
3: "WARNING",
-1: "INTERR",
-2: "TIMEOUT",
}
var ErrorCode_Code_value = map[string]int32{
"SUCCESS": 0,
"INVARG": 1,
"BADAUTH": 2,
"WARNING": 3,
"INTERR": -1,
"TIMEOUT": -2,
}
Functions ¶
func RegisterPlatformServer ¶
func RegisterPlatformServer(s *grpc.Server, srv PlatformServer)
Types ¶
type AuthRequest ¶
type AuthRequest struct {
// / User email
Email string `protobuf:"bytes,1,opt,name=email" json:"email,omitempty"`
// / User authentication token
Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"`
}
func (*AuthRequest) Descriptor ¶
func (*AuthRequest) Descriptor() ([]byte, []int)
func (*AuthRequest) ProtoMessage ¶
func (*AuthRequest) ProtoMessage()
func (*AuthRequest) Reset ¶
func (m *AuthRequest) Reset()
func (*AuthRequest) String ¶
func (m *AuthRequest) String() string
type Contract ¶
type Contract struct {
// / The result code
ErrorCode *ErrorCode `protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"`
// / The JSON object of the contract, equivalent to the one that was sent by mail to signers
Json []byte `protobuf:"bytes,2,opt,name=json,proto3" json:"json,omitempty"`
}
/ The fetched contract when using GetContract
func (*Contract) Descriptor ¶
func (*Contract) GetErrorCode ¶
func (*Contract) ProtoMessage ¶
func (*Contract) ProtoMessage()
type Empty ¶
type Empty struct {
}
/ An empty message, used when no parameters are required for a query or an answer.
func (*Empty) Descriptor ¶
func (*Empty) ProtoMessage ¶
func (*Empty) ProtoMessage()
type ErrorCode ¶
type ErrorCode struct {
Code ErrorCode_Code `protobuf:"varint,1,opt,name=code,enum=api.ErrorCode_Code" json:"code,omitempty"`
// / An additional message, if needed
Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
}
/ ErrorCode message contains an error code and a message.
Above or zero : target-side error
Less than 0 : local error
func (*ErrorCode) Descriptor ¶
func (*ErrorCode) ProtoMessage ¶
func (*ErrorCode) ProtoMessage()
type ErrorCode_Code ¶
type ErrorCode_Code int32
const ( // / the error code for a successful request ErrorCode_SUCCESS ErrorCode_Code = 0 // / the error code for an invalid argument ErrorCode_INVARG ErrorCode_Code = 1 // / the error code for a bad authentication ErrorCode_BADAUTH ErrorCode_Code = 2 // / the error code for a success state containing a specific warning message ErrorCode_WARNING ErrorCode_Code = 3 // / the error code for an internal server error ErrorCode_INTERR ErrorCode_Code = -1 // / the error code for a timeout or unreacheable target ErrorCode_TIMEOUT ErrorCode_Code = -2 )
func (ErrorCode_Code) EnumDescriptor ¶
func (ErrorCode_Code) EnumDescriptor() ([]byte, []int)
func (ErrorCode_Code) String ¶
func (x ErrorCode_Code) String() string
type GetContractRequest ¶
type GetContractRequest struct {
// / UUID of the requested contract
Uuid string `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"`
}
func (*GetContractRequest) Descriptor ¶
func (*GetContractRequest) Descriptor() ([]byte, []int)
func (*GetContractRequest) ProtoMessage ¶
func (*GetContractRequest) ProtoMessage()
func (*GetContractRequest) Reset ¶
func (m *GetContractRequest) Reset()
func (*GetContractRequest) String ¶
func (m *GetContractRequest) String() string
type JoinSignatureRequest ¶
type JoinSignatureRequest struct {
// / The contract UUID to join
ContractUuid string `protobuf:"bytes,1,opt,name=contractUuid" json:"contractUuid,omitempty"`
// / The open port for P2P communication of the client
Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
// / The offered ips for P2P communication of the client
Ip []string `protobuf:"bytes,3,rep,name=ip" json:"ip,omitempty"`
}
func (*JoinSignatureRequest) Descriptor ¶
func (*JoinSignatureRequest) Descriptor() ([]byte, []int)
func (*JoinSignatureRequest) ProtoMessage ¶
func (*JoinSignatureRequest) ProtoMessage()
func (*JoinSignatureRequest) Reset ¶
func (m *JoinSignatureRequest) Reset()
func (*JoinSignatureRequest) String ¶
func (m *JoinSignatureRequest) String() string
type LaunchSignature ¶
type LaunchSignature struct {
// / The result code
ErrorCode *ErrorCode `protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"`
// / The unique signature generated by the platform for this specific signature attempt
SignatureUuid string `protobuf:"bytes,2,opt,name=signatureUuid" json:"signatureUuid,omitempty"`
// / The SHA-512 hash of the contract document
DocumentHash []byte `protobuf:"bytes,3,opt,name=documentHash,proto3" json:"documentHash,omitempty"`
// / A confirmation of client hashes for communication authentication
KeyHash [][]byte `protobuf:"bytes,4,rep,name=keyHash,proto3" json:"keyHash,omitempty"`
// / The signing sequence generated on-the-fly by the platform
Sequence []uint32 `protobuf:"varint,5,rep,name=sequence" json:"sequence,omitempty"`
// / The ttp can be nil if no ttp is available for this signature
Ttp *LaunchSignature_TTP `protobuf:"bytes,6,opt,name=ttp" json:"ttp,omitempty"`
// / The cryptographic object of the signature of this structure (seal and errorCode excepted) by the platform, for data certification.
// / The signature is computed using auth.SignStructure function:
// / PKCS1v15 + SHA512 hash of the string representation of the structure
Seal []byte `protobuf:"bytes,10,opt,name=seal,proto3" json:"seal,omitempty"`
}
/ LaunchSignature is emitted by the platform when every signers of a specific contract are ready.
func (*LaunchSignature) Descriptor ¶
func (*LaunchSignature) Descriptor() ([]byte, []int)
func (*LaunchSignature) GetErrorCode ¶
func (m *LaunchSignature) GetErrorCode() *ErrorCode
func (*LaunchSignature) GetTtp ¶ added in v0.3.0
func (m *LaunchSignature) GetTtp() *LaunchSignature_TTP
func (*LaunchSignature) ProtoMessage ¶
func (*LaunchSignature) ProtoMessage()
func (*LaunchSignature) Reset ¶
func (m *LaunchSignature) Reset()
func (*LaunchSignature) String ¶
func (m *LaunchSignature) String() string
type LaunchSignature_TTP ¶ added in v0.3.0
type LaunchSignature_TTP struct {
Addrport string `protobuf:"bytes,1,opt,name=addrport" json:"addrport,omitempty"`
Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}
/ TTP is the ttp associated to this signature, that should be contacted in case of error
func (*LaunchSignature_TTP) Descriptor ¶ added in v0.3.0
func (*LaunchSignature_TTP) Descriptor() ([]byte, []int)
func (*LaunchSignature_TTP) ProtoMessage ¶ added in v0.3.0
func (*LaunchSignature_TTP) ProtoMessage()
func (*LaunchSignature_TTP) Reset ¶ added in v0.3.0
func (m *LaunchSignature_TTP) Reset()
func (*LaunchSignature_TTP) String ¶ added in v0.3.0
func (m *LaunchSignature_TTP) String() string
type PlatformClient ¶
type PlatformClient interface {
// / Register a new user, no authentication required.
Register(ctx context.Context, in *RegisterRequest, opts ...grpc.CallOption) (*ErrorCode, error)
// / Authenticate a previously registered user, no authentication required.
Auth(ctx context.Context, in *AuthRequest, opts ...grpc.CallOption) (*RegisteredUser, error)
// / Unregister a new user, authentication required.
Unregister(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ErrorCode, error)
// / Create a new contract, authentication required.
PostContract(ctx context.Context, in *PostContractRequest, opts ...grpc.CallOption) (*ErrorCode, error)
// / Fetch a previously create contract, authentication required.
GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc.CallOption) (*Contract, error)
// / Join a signature discovery room, authentication required.
// The stream is triggered for each new user connected in this channel.
JoinSignature(ctx context.Context, in *JoinSignatureRequest, opts ...grpc.CallOption) (Platform_JoinSignatureClient, error)
// / Join an ignition room, authentication required.
// The response is returned when every signer is ready for a specific contract.
// Warning, can me answered with a very high delay.
ReadySign(ctx context.Context, in *ReadySignRequest, opts ...grpc.CallOption) (*LaunchSignature, error)
}
func NewPlatformClient ¶
func NewPlatformClient(cc *grpc.ClientConn) PlatformClient
type PlatformServer ¶
type PlatformServer interface {
// / Register a new user, no authentication required.
Register(context.Context, *RegisterRequest) (*ErrorCode, error)
// / Authenticate a previously registered user, no authentication required.
Auth(context.Context, *AuthRequest) (*RegisteredUser, error)
// / Unregister a new user, authentication required.
Unregister(context.Context, *Empty) (*ErrorCode, error)
// / Create a new contract, authentication required.
PostContract(context.Context, *PostContractRequest) (*ErrorCode, error)
// / Fetch a previously create contract, authentication required.
GetContract(context.Context, *GetContractRequest) (*Contract, error)
// / Join a signature discovery room, authentication required.
// The stream is triggered for each new user connected in this channel.
JoinSignature(*JoinSignatureRequest, Platform_JoinSignatureServer) error
// / Join an ignition room, authentication required.
// The response is returned when every signer is ready for a specific contract.
// Warning, can me answered with a very high delay.
ReadySign(context.Context, *ReadySignRequest) (*LaunchSignature, error)
}
type Platform_JoinSignatureClient ¶
type Platform_JoinSignatureClient interface {
Recv() (*UserConnected, error)
grpc.ClientStream
}
type Platform_JoinSignatureServer ¶
type Platform_JoinSignatureServer interface {
Send(*UserConnected) error
grpc.ServerStream
}
type PostContractRequest ¶
type PostContractRequest struct {
// / Contract SHA-512 hash
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
// / Contract filename
Filename string `protobuf:"bytes,2,opt,name=filename" json:"filename,omitempty"`
// / List of signers emails
Signer []string `protobuf:"bytes,3,rep,name=signer" json:"signer,omitempty"`
// / Additional comment
Comment string `protobuf:"bytes,4,opt,name=comment" json:"comment,omitempty"`
}
func (*PostContractRequest) Descriptor ¶
func (*PostContractRequest) Descriptor() ([]byte, []int)
func (*PostContractRequest) ProtoMessage ¶
func (*PostContractRequest) ProtoMessage()
func (*PostContractRequest) Reset ¶
func (m *PostContractRequest) Reset()
func (*PostContractRequest) String ¶
func (m *PostContractRequest) String() string
type ReadySignRequest ¶
type ReadySignRequest struct {
// / The contract UUID to be ready for
ContractUuid string `protobuf:"bytes,1,opt,name=contractUuid" json:"contractUuid,omitempty"`
}
func (*ReadySignRequest) Descriptor ¶
func (*ReadySignRequest) Descriptor() ([]byte, []int)
func (*ReadySignRequest) ProtoMessage ¶
func (*ReadySignRequest) ProtoMessage()
func (*ReadySignRequest) Reset ¶
func (m *ReadySignRequest) Reset()
func (*ReadySignRequest) String ¶
func (m *ReadySignRequest) String() string
type RegisterRequest ¶
type RegisterRequest struct {
// / User mail
Email string `protobuf:"bytes,1,opt,name=email" json:"email,omitempty"`
// / Certificate request (CSR) as PEM
Request string `protobuf:"bytes,2,opt,name=request" json:"request,omitempty"`
}
func (*RegisterRequest) Descriptor ¶
func (*RegisterRequest) Descriptor() ([]byte, []int)
func (*RegisterRequest) ProtoMessage ¶
func (*RegisterRequest) ProtoMessage()
func (*RegisterRequest) Reset ¶
func (m *RegisterRequest) Reset()
func (*RegisterRequest) String ¶
func (m *RegisterRequest) String() string
type RegisteredUser ¶
type RegisteredUser struct {
// / User certificate, as generated by the platform (PEM)
ClientCert string `protobuf:"bytes,1,opt,name=clientCert" json:"clientCert,omitempty"`
}
func (*RegisteredUser) Descriptor ¶
func (*RegisteredUser) Descriptor() ([]byte, []int)
func (*RegisteredUser) ProtoMessage ¶
func (*RegisteredUser) ProtoMessage()
func (*RegisteredUser) Reset ¶
func (m *RegisteredUser) Reset()
func (*RegisteredUser) String ¶
func (m *RegisteredUser) String() string
type User ¶
type User struct {
// / The certificate hash of the user
KeyHash []byte `protobuf:"bytes,1,opt,name=keyHash,proto3" json:"keyHash,omitempty"`
Email string `protobuf:"bytes,2,opt,name=email" json:"email,omitempty"`
// / The IP offered by the user for P2P
Ip []string `protobuf:"bytes,3,rep,name=ip" json:"ip,omitempty"`
// / The port offered by the user for P2P
Port uint32 `protobuf:"varint,4,opt,name=port" json:"port,omitempty"`
}
func (*User) Descriptor ¶
func (*User) ProtoMessage ¶
func (*User) ProtoMessage()
type UserConnected ¶
type UserConnected struct {
// / The result code.
// Very bad if not equals to SUCCESS, in this case the client should close the connection
ErrorCode *ErrorCode `protobuf:"bytes,1,opt,name=errorCode" json:"errorCode,omitempty"`
// / A confirmation about the contract UUID
ContractUuid string `protobuf:"bytes,2,opt,name=contractUuid" json:"contractUuid,omitempty"`
// / One user connecting to this contract's room
User *User `protobuf:"bytes,3,opt,name=user" json:"user,omitempty"`
}
/ UserConnected is emitted by the platform to the client to announce a new client connection, through a stream. Previously connected clients are also emitted one by one just after the beginning of the stream.
func (*UserConnected) Descriptor ¶
func (*UserConnected) Descriptor() ([]byte, []int)
func (*UserConnected) GetErrorCode ¶
func (m *UserConnected) GetErrorCode() *ErrorCode
func (*UserConnected) GetUser ¶
func (m *UserConnected) GetUser() *User
func (*UserConnected) ProtoMessage ¶
func (*UserConnected) ProtoMessage()
func (*UserConnected) Reset ¶
func (m *UserConnected) Reset()
func (*UserConnected) String ¶
func (m *UserConnected) String() string