Skip to content
File

Blob: spec/proto/keyless.proto

protobuf39 lines
1syntax = "proto3";
2package protocol;
3 
4option optimize_for = SPEED;
5option go_package = "go.miragespace.co/specter/spec/protocol";
6 
7import "spec/proto/pow.proto";
8 
9service KeylessService {
10 rpc GetCertificate(KeylessGetCertificateRequest) returns (KeylessGetCertificateResponse);
11 rpc Sign(KeylessSignRequest) returns (KeylessSignResponse);
12}
13 
14message KeylessGetCertificateRequest {
15 ProofOfWork proof = 1;
16 string hostname = 2;
17}
18 
19message KeylessGetCertificateResponse {
20 repeated bytes certificates = 1;
21}
22 
23message KeylessSignRequest {
24 enum HashAlgorithm {
25 UNKNOWN = 0;
26 SHA256 = 1;
27 SHA384 = 2;
28 SHA512 = 3;
29 }
30 
31 ProofOfWork proof = 1;
32 string hostname = 2;
33 bytes digest = 3;
34 HashAlgorithm algo = 4;
35}
36 
37message KeylessSignResponse {
38 bytes signature = 1;
39}