Files
ziti/pb/edge_ctrl_pb/edge_ctrl.proto
T
Andrew Martinez a3789c063a adds support of API Session Certificates
- adds ability for any authenticated API Session to create ephemeral
 certificates
- allows UPDB session connection
- adds create/delete/read of current api session certificates
- add session cert pem result on create and detail
- fixes ER not updating sessions with new certs from API session
- fixes naming of session vs apiSession on members, functions, etc
- organizes ER state manager functions into apiSession vs session
- adds api session ids to api sessions and sessions sent from the
  controller to ERs
- ensure api and ns fingerprints are the same
- filter api session certs by valid periods
- clarify fingerprint func naming
2021-01-06 09:42:57 -05:00

184 lines
3.4 KiB
Protocol Buffer

syntax = "proto3";
package edge_ctrl.pb;
enum ContentType {
Zero = 0;
ServerHelloType = 20000;
ClientHelloType = 20001;
ErrorType = 20002;
SessionAddedType = 20100;
SessionUpdatedType = 20101;
SessionRemovedType = 20102;
ApiSessionAddedType = 20200;
ApiSessionUpdatedType = 20201;
ApiSessionRemovedType = 20202;
ApiSessionHeartbeatType = 20203;
EnrollType = 20300;
EnrollCertsType = 20301;
}
enum SessionType {
Dial = 0;
Bind = 1;
}
message ServerHello {
string version = 1;
map<string, string> data = 2;
}
message ClientHello {
string version = 1;
string hostname = 2;
repeated string protocols = 3;
map<string, string> data = 4;
}
message Error {
string code = 1;
string message = 2;
string cause = 3;
}
message Service {
string id = 1;
string name = 2;
bool encryptionRequired = 3;
}
message Session {
string token = 1;
SessionType type = 2;
repeated string certFingerprints = 3;
repeated string urls = 4;
Service service = 5;
string id = 7;
string apiSessionId = 8;
}
message ApiSession {
string token = 1;
repeated string certFingerprints = 2;
string id = 3;
}
message ApiSessionAdded {
bool isFullState = 1;
repeated ApiSession apiSessions = 2;
}
message ApiSessionUpdated {
repeated ApiSession apiSessions = 1;
}
message ApiSessionRemoved {
repeated string tokens = 1;
}
message ApiSessionHeartbeat {
repeated string tokens = 1;
}
message SessionAdded {
bool isFullState = 1;
repeated Session sessions = 2;
}
message SessionRemoved {
repeated string tokens = 1;
}
message SessionUpdated {
string token = 1;
repeated string urls = 2;
Service service = 3;
}
message PostureQuery {
string id = 1;
string postureCheckId = 20;
string displayName = 30;
PostureQuery.Type type = 40;
string version = 50;
oneof parameters {
PostureQuery.None na = 60;
PostureQuery.Process process = 70;
}
enum Type {
OS = 0;
MAC = 10;
WINDOWS_DOMAIN = 20;
PROCESS = 30;
}
enum HashAlgorithm {
SHA512 = 0;
}
message None {
}
message Process {
repeated string paths = 1;
HashAlgorithm hashAlgorithm = 10;
}
}
message PostureResponse {
string id = 1;
oneof payload {
PostureResponse.Error error = 20;
PostureResponse.Proc process = 30;
PostureResponse.MacAddresses mac = 40;
PostureResponse.WindowsDomain domain = 50;
PostureResponse.OperatingSystem os = 60;
}
message Error {
enum Code {
UNKNOWN = 0;
UNSUPPORTED_QUERY_TYPE = 10;
UNSUPPORTED_HASH_ALGORITHM = 20;
}
PostureResponse.Error.Code code = 1;
string message = 10;
map<string, string> data = 20;
}
message Proc {
string binaryHash = 1;
string signerFingerprint = 10;
}
message MacAddresses {
repeated string addresses = 1;
}
message WindowsDomain {
string name = 1;
}
message OperatingSystem {
PostureResponse.OperatingSystem.Type type = 1;
string version = 10;
string build = 20;
enum Type {
Android = 0;
iOS = 10;
Linux = 20;
macOS = 30;
Windows = 40;
WindowsServer = 50;
}
}
}