syntax = "proto3"; package xray.transport.internet.tls; option csharp_namespace = "Xray.Transport.Internet.Tls"; option go_package = "github.com/xtls/xray-core/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; // The minimum TLS version. string min_version = 8; //The TLS cipher suites string cipher_suites = 9; // If true, server selects the client's most preferred ciphersuite bool prefer_server_cipher_suites = 10; }