syntax = "proto3"; package xray.transport.internet.xtls; option csharp_namespace = "Xray.Transport.Internet.Xtls"; option go_package = "github.com/xtls/xray-core/transport/internet/xtls"; option java_package = "com.xray.transport.internet.xtls"; 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; int64 ocspStapling = 4; } message Config { // Whether or not to allow self-signed certificates. bool allow_insecure = 1; // 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 = 5; // If true, root certificates on the system will not be loaded for // verification. bool disable_system_root = 6; // The minimum TLS version. string min_version = 7; // The maximum TLS version. string max_version = 8; // Specify cipher suites, except for TLS 1.3. string cipher_suites = 9; // Whether the server selects its most preferred ciphersuite. bool prefer_server_cipher_suites = 10; }