import "google/protobuf/descriptor.proto";
import "steammessages_unified_base.steamclient.proto";

enum EKeyEscrowUsage {
	k_EKeyEscrowUsageStreamingDevice = 0;
}

message CKeyEscrow_Request {
	optional bytes rsa_oaep_sha_ticket = 1;
	optional bytes password = 2;
	optional .EKeyEscrowUsage usage = 3 [default = k_EKeyEscrowUsageStreamingDevice];
}

message CKeyEscrow_Ticket {
	optional bytes password = 1;
	optional uint64 identifier = 2;
	optional bytes payload = 3;
	optional uint32 timestamp = 4;
	optional .EKeyEscrowUsage usage = 5 [default = k_EKeyEscrowUsageStreamingDevice];
}

message CKeyEscrow_Response {
	optional .CKeyEscrow_Ticket ticket = 1;
}

service Secrets {
	option (service_description) = "Service for accessing credentials and guarding secrets";
	rpc KeyEscrow (.CKeyEscrow_Request) returns (.CKeyEscrow_Response) {
		option (method_description) = "Service to perform authenticated key-exchange involving Steam Client";
	}
}
