...
1syntax = "proto3";
2
3package ra;
4option go_package = "github.com/letsencrypt/boulder/ra/proto";
5
6import "core/proto/core.proto";
7import "ca/proto/ca.proto";
8import "google/protobuf/empty.proto";
9
10service RegistrationAuthority {
11 rpc NewRegistration(core.Registration) returns (core.Registration) {}
12 rpc UpdateRegistration(UpdateRegistrationRequest) returns (core.Registration) {}
13 rpc PerformValidation(PerformValidationRequest) returns (core.Authorization) {}
14 rpc DeactivateRegistration(core.Registration) returns (google.protobuf.Empty) {}
15 rpc DeactivateAuthorization(core.Authorization) returns (google.protobuf.Empty) {}
16 rpc RevokeCertByApplicant(RevokeCertByApplicantRequest) returns (google.protobuf.Empty) {}
17 rpc RevokeCertByKey(RevokeCertByKeyRequest) returns (google.protobuf.Empty) {}
18 rpc AdministrativelyRevokeCertificate(AdministrativelyRevokeCertificateRequest) returns (google.protobuf.Empty) {}
19 rpc NewOrder(NewOrderRequest) returns (core.Order) {}
20 rpc FinalizeOrder(FinalizeOrderRequest) returns (core.Order) {}
21 // Generate an OCSP response based on the DB's current status and reason code.
22 rpc GenerateOCSP(GenerateOCSPRequest) returns (ca.OCSPResponse) {}
23}
24
25message GenerateOCSPRequest {
26 string serial = 1;
27}
28
29message UpdateRegistrationRequest {
30 core.Registration base = 1;
31 core.Registration update = 2;
32}
33
34message UpdateAuthorizationRequest {
35 core.Authorization authz = 1;
36 int64 challengeIndex = 2;
37 core.Challenge response = 3;
38}
39
40message PerformValidationRequest {
41 core.Authorization authz = 1;
42 int64 challengeIndex = 2;
43}
44
45message RevokeCertByApplicantRequest {
46 bytes cert = 1;
47 int64 code = 2;
48 int64 regID = 3;
49}
50
51message RevokeCertByKeyRequest {
52 bytes cert = 1;
53 reserved 2; // previously code
54}
55
56message AdministrativelyRevokeCertificateRequest {
57 // The `cert` field may be omitted. If it is omitted,
58 // the revocation reason (`code`) must not be keyCompromise,
59 // and purging the Akamai cache will not happen because the
60 // base URL for the certificate's OCSP server is not known.
61 bytes cert = 1;
62 // The `serial` field is required.
63 string serial = 4;
64 int64 code = 2;
65 string adminName = 3;
66 bool skipBlockKey = 5;
67}
68
69message NewOrderRequest {
70 int64 registrationID = 1;
71 repeated string names = 2;
72}
73
74message FinalizeOrderRequest {
75 core.Order order = 1;
76 bytes csr = 2;
77}
View as plain text