2020-01-30 11:41:24 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package service;
|
2020-01-30 13:29:38 +00:00
|
|
|
option go_package = "github.com/nspcc-dev/neofs-api/service";
|
2020-02-05 12:14:39 +00:00
|
|
|
option csharp_namespace = "NeoFS.API.Service";
|
2020-01-30 11:41:24 +00:00
|
|
|
|
|
|
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|
|
|
|
|
|
|
option (gogoproto.stable_marshaler_all) = true;
|
|
|
|
|
|
|
|
// RequestVerificationHeader is a set of signatures of every NeoFS Node that processed request
|
|
|
|
// (should be embedded into message).
|
|
|
|
message RequestVerificationHeader {
|
|
|
|
message Sign {
|
|
|
|
// Sign is signature of the request or session key.
|
|
|
|
bytes Sign = 1;
|
|
|
|
// Peer is compressed public key used for signature.
|
|
|
|
bytes Peer = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Signature {
|
|
|
|
// Sign is a signature and public key of the request.
|
|
|
|
Sign Sign = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
|
|
|
// Origin used for requests, when trusted node changes it and re-sign with session key.
|
|
|
|
// If session key used for signature request, then Origin should contain
|
|
|
|
// public key of user and signed session key.
|
|
|
|
Sign Origin = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Signatures is a set of signatures of every passed NeoFS Node
|
|
|
|
repeated Signature Signatures = 1;
|
|
|
|
}
|