mirror of https://github.com/docker/docs.git
73 lines
1.8 KiB
Protocol Buffer
73 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package proto;
|
|
|
|
// KeyManagement Interface
|
|
service KeyManagement {
|
|
|
|
// CreateKey creates as asymmetric key pair and returns the PublicKey
|
|
rpc CreateKey(Algorithm) returns (PublicKey) {}
|
|
|
|
// DeleteKey deletes the key associated with a KeyID
|
|
rpc DeleteKey(KeyID) returns (Void) {}
|
|
|
|
// GetKeyInfo returns the PublicKey associated with a KeyID
|
|
rpc GetKeyInfo(KeyID) returns (PublicKey) {}
|
|
|
|
// CheckHealth returns the HealthStatus with the service
|
|
rpc CheckHealth(Void) returns (HealthStatus) {}
|
|
}
|
|
|
|
// Signer Interface
|
|
service Signer {
|
|
// Sign calculates a cryptographic signature using the Key associated with a KeyID and returns the signature
|
|
rpc Sign(SignatureRequest) returns (Signature) {}
|
|
|
|
// CheckHealth returns the HealthStatus with the service
|
|
rpc CheckHealth(Void) returns (HealthStatus) {}
|
|
}
|
|
|
|
// KeyInfo holds a KeyID that is used to reference the key and it's algorithm
|
|
message KeyInfo {
|
|
KeyID keyID = 1;
|
|
Algorithm algorithm = 2;
|
|
}
|
|
|
|
// KeyID holds an ID that is used to reference the key
|
|
message KeyID {
|
|
string ID = 1;
|
|
}
|
|
|
|
// Type holds the type of crypto algorithm used
|
|
message Algorithm {
|
|
string algorithm = 1;
|
|
}
|
|
|
|
// PublicKey has a KeyInfo that is used to reference the key, and opaque bytes of a publicKey
|
|
message PublicKey {
|
|
KeyInfo keyInfo = 1;
|
|
bytes publicKey = 2;
|
|
}
|
|
|
|
// Signature specifies a KeyInfo that was used for signing and signed content
|
|
message Signature {
|
|
KeyInfo keyInfo = 1;
|
|
Algorithm algorithm = 2;
|
|
bytes content = 3;
|
|
}
|
|
|
|
// SignatureRequests specifies a KeyInfo, and content to be signed
|
|
message SignatureRequest {
|
|
KeyID keyID = 1;
|
|
bytes content = 2;
|
|
}
|
|
|
|
// Void represents an empty message type
|
|
message Void {
|
|
}
|
|
|
|
// A mapping of health check name to the check result message
|
|
message HealthStatus {
|
|
map<string, string> status = 1;
|
|
}
|