syntax = "proto3"; package xray.transport.internet.tls; option csharp_namespace = "Xray.Transport.Internet.Tls"; option go_package = "github.com/xtls/xray-core/v1/transport/internet/tls"; option java_package = "com.xray.transport.internet.tls"; option java_multiple_files = true; message Certificate { // TLS certificate in x509 format. bytes Certificate = 1; // TLS key in x509 format. bytes Key = 2; enum Usage { ENCIPHERMENT = 0; AUTHORITY_VERIFY = 1; AUTHORITY_ISSUE = 2; } Usage usage = 3; } message Config { // Whether or not to allow self-signed certificates. bool allow_insecure = 1; // Whether or not to allow insecure cipher suites. bool allow_insecure_ciphers = 5; // List of certificates to be served on server. repeated Certificate certificate = 2; // Override server name. string server_name = 3; // Lists of string as ALPN values. repeated string next_protocol = 4; // Whether or not to disable session (ticket) resumption. bool disable_session_resumption = 6; // If true, root certificates on the system will not be loaded for // verification. bool disable_system_root = 7; }