-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathuserapi.proto
More file actions
62 lines (50 loc) · 1.34 KB
/
userapi.proto
File metadata and controls
62 lines (50 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
syntax = "proto3";
package edgelesssys.contrast.userapi;
option go_package = "github.com/edgelesssys/contrast/internal/userapi";
service UserAPI {
rpc SetManifest(SetManifestRequest) returns (SetManifestResponse);
rpc GetManifests(GetManifestsRequest) returns (GetManifestsResponse);
rpc Recover(RecoverRequest) returns (RecoverResponse);
}
message SetManifestRequest {
bytes Manifest = 1;
repeated bytes Policies = 2;
bytes PreviousTransitionHash = 3;
bytes Signature = 4;
}
message SetManifestResponse {
// PEM-encoded certificate
bytes RootCA = 1;
// PEM-encoded certificate
bytes MeshCA = 2;
// Secret seed (share), encrypted with each of the recovery holders' public keys.
SeedShareDocument SeedSharesDoc = 3;
}
message SeedShareDocument {
repeated SeedShare SeedShares = 1;
bytes salt = 2;
}
message SeedShare {
string PublicKey = 1;
bytes EncryptedSeed = 2;
}
message GetManifestsRequest {}
message GetManifestsResponse {
repeated bytes Manifests = 1;
repeated bytes Policies = 2;
// PEM-encoded certificate
bytes RootCA = 3;
// PEM-encoded certificate
bytes MeshCA = 4;
LatestTransition LatestTransition = 5;
}
message LatestTransition {
bytes TransitionHash = 1;
bytes Signature = 2;
}
message RecoverRequest {
bytes Seed = 1;
bytes Salt = 2;
bool Force = 3;
}
message RecoverResponse {}