syntax = "proto3"; option go_package = ".;certmanagercontrol"; package certmanagercontrol; service Control { rpc getStatus(getStatusParams) returns (getStatusResult) {}; rpc createIssuerPair(createIssuerPairParams) returns (createIssuerPairResult) {}; rpc importIssuerPair(importIssuerPairParams) returns (importIssuerPairResult) {}; rpc revokeIssuerPair(revokeIssuerPairParams) returns (revokeIssuerPairResult) {}; rpc unrevokeIssuerPair(unrevokeIssuerPairParams) returns (unrevokeIssuerPairResult) {}; rpc listIssuerPairs(listIssuerPairsParams) returns (listIssuerPairsResult) {}; rpc getIssuerCertificate(getIssuerCertificateParams) returns (getIssuerCertificateResult) {}; rpc createServicePair(createServicePairParams) returns (createServicePairResult) {}; rpc revokeServicePair(revokeServicePairParams) returns (revokeServicePairResult) {}; rpc listServicePairs(listServicePairsParams) returns (listServicePairsResult) {}; rpc getServicePair(getServicePairParams) returns (getServicePairResult) {}; } message getStatusParams {} message getStatusResult { string message = 1; } message createIssuerPairParams { string issuerCommonName = 1; bool intermediate = 2; int64 signerID = 3; string signerName = 4; string validUntil = 5; string keySize = 6; } message createIssuerPairResult { int64 issuerID = 1; string issuerName = 2; string certificate = 3; } message getIssuerCertificateParams { int64 issuerID = 1; string issuerName = 2; } message getIssuerCertificateResult { string name = 1; string certificate = 2; bool revoked = 3; int64 issuerID = 4; } message importIssuerPairParams { string certificate = 1; string key = 2; repeated string chainCertificate = 3; } message importIssuerPairResult { int64 issuerID = 1; string issuerName = 2; } message revokeIssuerPairParams { int64 issuerID = 1; string issuerName = 2; } message revokeIssuerPairResult {} message unrevokeIssuerPairParams { int64 issuerID = 1; string issuerName = 2; } message unrevokeIssuerPairResult {} message listIssuerPairsParams {} message listIssuerPairsResult { repeated IssierShortDescriptor issuers = 1; } message IssierShortDescriptor { int64 issuerID = 1; string name = 2; bool revoked = 3; } message createServicePairParams { string issuerName = 1; int64 issuerID = 2; string serviceCommonName = 3; repeated string hostnames = 5; repeated string inetAddresses = 6; } message createServicePairResult { int64 serviceID = 1; string name = 2; string issuerCertificate = 3; int64 issuerID = 4; string cerificate = 5; string key = 6; } message revokeServicePairParams { int64 serviceID = 1; string issuerName = 2; string serviceName = 3; string certificate = 4; } message revokeServicePairResult {} message unrevokeServicePairParams { int64 serviceID = 1; string issuerName = 2; string serviceName = 3; string certificate = 4; } message unrevokeServicePairResult {} message ServiceShortDescriptor { int64 serviceID = 1; string name = 2; string issuerName = 3; int64 issuerID = 4; bool revoked = 5; } message listServicePairsParams {} message listServicePairsResult { repeated ServiceShortDescriptor services = 1; } message getServicePairParams { int64 serviceID = 1; string serviceName = 2; } message getServicePairResult { string name = 1; string certificate = 2; string key = 3; int64 issuerID = 4; string issuerName = 5; bool revoked = 6; }