github.com/xraypb/xray-core@v1.6.6/transport/internet/tls/config.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.1
     4  // 	protoc        v3.18.0
     5  // source: transport/internet/tls/config.proto
     6  
     7  package tls
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	reflect "reflect"
    13  	sync "sync"
    14  )
    15  
    16  const (
    17  	// Verify that this generated code is sufficiently up-to-date.
    18  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    19  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    21  )
    22  
    23  type Certificate_Usage int32
    24  
    25  const (
    26  	Certificate_ENCIPHERMENT     Certificate_Usage = 0
    27  	Certificate_AUTHORITY_VERIFY Certificate_Usage = 1
    28  	Certificate_AUTHORITY_ISSUE  Certificate_Usage = 2
    29  )
    30  
    31  // Enum value maps for Certificate_Usage.
    32  var (
    33  	Certificate_Usage_name = map[int32]string{
    34  		0: "ENCIPHERMENT",
    35  		1: "AUTHORITY_VERIFY",
    36  		2: "AUTHORITY_ISSUE",
    37  	}
    38  	Certificate_Usage_value = map[string]int32{
    39  		"ENCIPHERMENT":     0,
    40  		"AUTHORITY_VERIFY": 1,
    41  		"AUTHORITY_ISSUE":  2,
    42  	}
    43  )
    44  
    45  func (x Certificate_Usage) Enum() *Certificate_Usage {
    46  	p := new(Certificate_Usage)
    47  	*p = x
    48  	return p
    49  }
    50  
    51  func (x Certificate_Usage) String() string {
    52  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    53  }
    54  
    55  func (Certificate_Usage) Descriptor() protoreflect.EnumDescriptor {
    56  	return file_transport_internet_tls_config_proto_enumTypes[0].Descriptor()
    57  }
    58  
    59  func (Certificate_Usage) Type() protoreflect.EnumType {
    60  	return &file_transport_internet_tls_config_proto_enumTypes[0]
    61  }
    62  
    63  func (x Certificate_Usage) Number() protoreflect.EnumNumber {
    64  	return protoreflect.EnumNumber(x)
    65  }
    66  
    67  // Deprecated: Use Certificate_Usage.Descriptor instead.
    68  func (Certificate_Usage) EnumDescriptor() ([]byte, []int) {
    69  	return file_transport_internet_tls_config_proto_rawDescGZIP(), []int{0, 0}
    70  }
    71  
    72  type Certificate struct {
    73  	state         protoimpl.MessageState
    74  	sizeCache     protoimpl.SizeCache
    75  	unknownFields protoimpl.UnknownFields
    76  
    77  	// TLS certificate in x509 format.
    78  	Certificate []byte `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"`
    79  	// TLS key in x509 format.
    80  	Key          []byte            `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
    81  	Usage        Certificate_Usage `protobuf:"varint,3,opt,name=usage,proto3,enum=xray.transport.internet.tls.Certificate_Usage" json:"usage,omitempty"`
    82  	OcspStapling uint64            `protobuf:"varint,4,opt,name=ocsp_stapling,json=ocspStapling,proto3" json:"ocsp_stapling,omitempty"`
    83  	// TLS certificate path
    84  	CertificatePath string `protobuf:"bytes,5,opt,name=certificate_path,json=certificatePath,proto3" json:"certificate_path,omitempty"`
    85  	// TLS Key path
    86  	KeyPath string `protobuf:"bytes,6,opt,name=key_path,json=keyPath,proto3" json:"key_path,omitempty"`
    87  	// If true, one-Time Loading
    88  	OneTimeLoading bool `protobuf:"varint,7,opt,name=One_time_loading,json=OneTimeLoading,proto3" json:"One_time_loading,omitempty"`
    89  }
    90  
    91  func (x *Certificate) Reset() {
    92  	*x = Certificate{}
    93  	if protoimpl.UnsafeEnabled {
    94  		mi := &file_transport_internet_tls_config_proto_msgTypes[0]
    95  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    96  		ms.StoreMessageInfo(mi)
    97  	}
    98  }
    99  
   100  func (x *Certificate) String() string {
   101  	return protoimpl.X.MessageStringOf(x)
   102  }
   103  
   104  func (*Certificate) ProtoMessage() {}
   105  
   106  func (x *Certificate) ProtoReflect() protoreflect.Message {
   107  	mi := &file_transport_internet_tls_config_proto_msgTypes[0]
   108  	if protoimpl.UnsafeEnabled && x != nil {
   109  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   110  		if ms.LoadMessageInfo() == nil {
   111  			ms.StoreMessageInfo(mi)
   112  		}
   113  		return ms
   114  	}
   115  	return mi.MessageOf(x)
   116  }
   117  
   118  // Deprecated: Use Certificate.ProtoReflect.Descriptor instead.
   119  func (*Certificate) Descriptor() ([]byte, []int) {
   120  	return file_transport_internet_tls_config_proto_rawDescGZIP(), []int{0}
   121  }
   122  
   123  func (x *Certificate) GetCertificate() []byte {
   124  	if x != nil {
   125  		return x.Certificate
   126  	}
   127  	return nil
   128  }
   129  
   130  func (x *Certificate) GetKey() []byte {
   131  	if x != nil {
   132  		return x.Key
   133  	}
   134  	return nil
   135  }
   136  
   137  func (x *Certificate) GetUsage() Certificate_Usage {
   138  	if x != nil {
   139  		return x.Usage
   140  	}
   141  	return Certificate_ENCIPHERMENT
   142  }
   143  
   144  func (x *Certificate) GetOcspStapling() uint64 {
   145  	if x != nil {
   146  		return x.OcspStapling
   147  	}
   148  	return 0
   149  }
   150  
   151  func (x *Certificate) GetCertificatePath() string {
   152  	if x != nil {
   153  		return x.CertificatePath
   154  	}
   155  	return ""
   156  }
   157  
   158  func (x *Certificate) GetKeyPath() string {
   159  	if x != nil {
   160  		return x.KeyPath
   161  	}
   162  	return ""
   163  }
   164  
   165  func (x *Certificate) GetOneTimeLoading() bool {
   166  	if x != nil {
   167  		return x.OneTimeLoading
   168  	}
   169  	return false
   170  }
   171  
   172  type Config struct {
   173  	state         protoimpl.MessageState
   174  	sizeCache     protoimpl.SizeCache
   175  	unknownFields protoimpl.UnknownFields
   176  
   177  	// Whether or not to allow self-signed certificates.
   178  	AllowInsecure bool `protobuf:"varint,1,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"`
   179  	// List of certificates to be served on server.
   180  	Certificate []*Certificate `protobuf:"bytes,2,rep,name=certificate,proto3" json:"certificate,omitempty"`
   181  	// Override server name.
   182  	ServerName string `protobuf:"bytes,3,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
   183  	// Lists of string as ALPN values.
   184  	NextProtocol []string `protobuf:"bytes,4,rep,name=next_protocol,json=nextProtocol,proto3" json:"next_protocol,omitempty"`
   185  	// Whether or not to enable session (ticket) resumption.
   186  	EnableSessionResumption bool `protobuf:"varint,5,opt,name=enable_session_resumption,json=enableSessionResumption,proto3" json:"enable_session_resumption,omitempty"`
   187  	// If true, root certificates on the system will not be loaded for
   188  	// verification.
   189  	DisableSystemRoot bool `protobuf:"varint,6,opt,name=disable_system_root,json=disableSystemRoot,proto3" json:"disable_system_root,omitempty"`
   190  	// The minimum TLS version.
   191  	MinVersion string `protobuf:"bytes,7,opt,name=min_version,json=minVersion,proto3" json:"min_version,omitempty"`
   192  	// The maximum TLS version.
   193  	MaxVersion string `protobuf:"bytes,8,opt,name=max_version,json=maxVersion,proto3" json:"max_version,omitempty"`
   194  	// Specify cipher suites, except for TLS 1.3.
   195  	CipherSuites string `protobuf:"bytes,9,opt,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
   196  	// Whether the server selects its most preferred ciphersuite.
   197  	PreferServerCipherSuites bool `protobuf:"varint,10,opt,name=prefer_server_cipher_suites,json=preferServerCipherSuites,proto3" json:"prefer_server_cipher_suites,omitempty"`
   198  	// TLS Client Hello fingerprint (uTLS).
   199  	Fingerprint      string `protobuf:"bytes,11,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
   200  	RejectUnknownSni bool   `protobuf:"varint,12,opt,name=reject_unknown_sni,json=rejectUnknownSni,proto3" json:"reject_unknown_sni,omitempty"`
   201  	// @Document A pinned certificate chain sha256 hash.
   202  	// @Document If the server's hash does not match this value, the connection will be aborted.
   203  	// @Document This value replace allow_insecure.
   204  	// @Critical
   205  	PinnedPeerCertificateChainSha256 [][]byte `protobuf:"bytes,13,rep,name=pinned_peer_certificate_chain_sha256,json=pinnedPeerCertificateChainSha256,proto3" json:"pinned_peer_certificate_chain_sha256,omitempty"`
   206  }
   207  
   208  func (x *Config) Reset() {
   209  	*x = Config{}
   210  	if protoimpl.UnsafeEnabled {
   211  		mi := &file_transport_internet_tls_config_proto_msgTypes[1]
   212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   213  		ms.StoreMessageInfo(mi)
   214  	}
   215  }
   216  
   217  func (x *Config) String() string {
   218  	return protoimpl.X.MessageStringOf(x)
   219  }
   220  
   221  func (*Config) ProtoMessage() {}
   222  
   223  func (x *Config) ProtoReflect() protoreflect.Message {
   224  	mi := &file_transport_internet_tls_config_proto_msgTypes[1]
   225  	if protoimpl.UnsafeEnabled && x != nil {
   226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   227  		if ms.LoadMessageInfo() == nil {
   228  			ms.StoreMessageInfo(mi)
   229  		}
   230  		return ms
   231  	}
   232  	return mi.MessageOf(x)
   233  }
   234  
   235  // Deprecated: Use Config.ProtoReflect.Descriptor instead.
   236  func (*Config) Descriptor() ([]byte, []int) {
   237  	return file_transport_internet_tls_config_proto_rawDescGZIP(), []int{1}
   238  }
   239  
   240  func (x *Config) GetAllowInsecure() bool {
   241  	if x != nil {
   242  		return x.AllowInsecure
   243  	}
   244  	return false
   245  }
   246  
   247  func (x *Config) GetCertificate() []*Certificate {
   248  	if x != nil {
   249  		return x.Certificate
   250  	}
   251  	return nil
   252  }
   253  
   254  func (x *Config) GetServerName() string {
   255  	if x != nil {
   256  		return x.ServerName
   257  	}
   258  	return ""
   259  }
   260  
   261  func (x *Config) GetNextProtocol() []string {
   262  	if x != nil {
   263  		return x.NextProtocol
   264  	}
   265  	return nil
   266  }
   267  
   268  func (x *Config) GetEnableSessionResumption() bool {
   269  	if x != nil {
   270  		return x.EnableSessionResumption
   271  	}
   272  	return false
   273  }
   274  
   275  func (x *Config) GetDisableSystemRoot() bool {
   276  	if x != nil {
   277  		return x.DisableSystemRoot
   278  	}
   279  	return false
   280  }
   281  
   282  func (x *Config) GetMinVersion() string {
   283  	if x != nil {
   284  		return x.MinVersion
   285  	}
   286  	return ""
   287  }
   288  
   289  func (x *Config) GetMaxVersion() string {
   290  	if x != nil {
   291  		return x.MaxVersion
   292  	}
   293  	return ""
   294  }
   295  
   296  func (x *Config) GetCipherSuites() string {
   297  	if x != nil {
   298  		return x.CipherSuites
   299  	}
   300  	return ""
   301  }
   302  
   303  func (x *Config) GetPreferServerCipherSuites() bool {
   304  	if x != nil {
   305  		return x.PreferServerCipherSuites
   306  	}
   307  	return false
   308  }
   309  
   310  func (x *Config) GetFingerprint() string {
   311  	if x != nil {
   312  		return x.Fingerprint
   313  	}
   314  	return ""
   315  }
   316  
   317  func (x *Config) GetRejectUnknownSni() bool {
   318  	if x != nil {
   319  		return x.RejectUnknownSni
   320  	}
   321  	return false
   322  }
   323  
   324  func (x *Config) GetPinnedPeerCertificateChainSha256() [][]byte {
   325  	if x != nil {
   326  		return x.PinnedPeerCertificateChainSha256
   327  	}
   328  	return nil
   329  }
   330  
   331  var File_transport_internet_tls_config_proto protoreflect.FileDescriptor
   332  
   333  var file_transport_internet_tls_config_proto_rawDesc = []byte{
   334  	0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65,
   335  	0x72, 0x6e, 0x65, 0x74, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
   336  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e,
   337  	0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74,
   338  	0x6c, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
   339  	0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
   340  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
   341  	0x63, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
   342  	0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18,
   343  	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61,
   344  	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e,
   345  	0x74, 0x6c, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e,
   346  	0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d,
   347  	0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20,
   348  	0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x69, 0x6e,
   349  	0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
   350  	0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x65, 0x72,
   351  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08,
   352  	0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
   353  	0x6b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x4f, 0x6e, 0x65, 0x5f, 0x74,
   354  	0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
   355  	0x08, 0x52, 0x0e, 0x4f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e,
   356  	0x67, 0x22, 0x44, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e,
   357  	0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
   358  	0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59,
   359  	0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f,
   360  	0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x02, 0x22, 0xf3, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66,
   361  	0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x65,
   362  	0x63, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f,
   363  	0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x65, 0x72,
   364  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28,
   365  	0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e,
   366  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x43, 0x65, 0x72,
   367  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
   368  	0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
   369  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76,
   370  	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
   371  	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6e,
   372  	0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x65,
   373  	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
   374  	0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17,
   375  	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
   376  	0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62,
   377  	0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06,
   378  	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x73,
   379  	0x74, 0x65, 0x6d, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x76,
   380  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x69,
   381  	0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f,
   382  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d,
   383  	0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x70,
   384  	0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
   385  	0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x12, 0x3d,
   386  	0x0a, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
   387  	0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20,
   388  	0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
   389  	0x72, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a,
   390  	0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01,
   391  	0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12,
   392  	0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
   393  	0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x6a,
   394  	0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6e, 0x69, 0x12, 0x4e, 0x0a,
   395  	0x24, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72,
   396  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73,
   397  	0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x20, 0x70, 0x69, 0x6e,
   398  	0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
   399  	0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x73, 0x0a,
   400  	0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,
   401  	0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x6c, 0x73,
   402  	0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78,
   403  	0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x74, 0x72,
   404  	0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
   405  	0x2f, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x1b, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e,
   406  	0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54,
   407  	0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   408  }
   409  
   410  var (
   411  	file_transport_internet_tls_config_proto_rawDescOnce sync.Once
   412  	file_transport_internet_tls_config_proto_rawDescData = file_transport_internet_tls_config_proto_rawDesc
   413  )
   414  
   415  func file_transport_internet_tls_config_proto_rawDescGZIP() []byte {
   416  	file_transport_internet_tls_config_proto_rawDescOnce.Do(func() {
   417  		file_transport_internet_tls_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_transport_internet_tls_config_proto_rawDescData)
   418  	})
   419  	return file_transport_internet_tls_config_proto_rawDescData
   420  }
   421  
   422  var file_transport_internet_tls_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   423  var file_transport_internet_tls_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
   424  var file_transport_internet_tls_config_proto_goTypes = []interface{}{
   425  	(Certificate_Usage)(0), // 0: xray.transport.internet.tls.Certificate.Usage
   426  	(*Certificate)(nil),    // 1: xray.transport.internet.tls.Certificate
   427  	(*Config)(nil),         // 2: xray.transport.internet.tls.Config
   428  }
   429  var file_transport_internet_tls_config_proto_depIdxs = []int32{
   430  	0, // 0: xray.transport.internet.tls.Certificate.usage:type_name -> xray.transport.internet.tls.Certificate.Usage
   431  	1, // 1: xray.transport.internet.tls.Config.certificate:type_name -> xray.transport.internet.tls.Certificate
   432  	2, // [2:2] is the sub-list for method output_type
   433  	2, // [2:2] is the sub-list for method input_type
   434  	2, // [2:2] is the sub-list for extension type_name
   435  	2, // [2:2] is the sub-list for extension extendee
   436  	0, // [0:2] is the sub-list for field type_name
   437  }
   438  
   439  func init() { file_transport_internet_tls_config_proto_init() }
   440  func file_transport_internet_tls_config_proto_init() {
   441  	if File_transport_internet_tls_config_proto != nil {
   442  		return
   443  	}
   444  	if !protoimpl.UnsafeEnabled {
   445  		file_transport_internet_tls_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   446  			switch v := v.(*Certificate); i {
   447  			case 0:
   448  				return &v.state
   449  			case 1:
   450  				return &v.sizeCache
   451  			case 2:
   452  				return &v.unknownFields
   453  			default:
   454  				return nil
   455  			}
   456  		}
   457  		file_transport_internet_tls_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   458  			switch v := v.(*Config); i {
   459  			case 0:
   460  				return &v.state
   461  			case 1:
   462  				return &v.sizeCache
   463  			case 2:
   464  				return &v.unknownFields
   465  			default:
   466  				return nil
   467  			}
   468  		}
   469  	}
   470  	type x struct{}
   471  	out := protoimpl.TypeBuilder{
   472  		File: protoimpl.DescBuilder{
   473  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   474  			RawDescriptor: file_transport_internet_tls_config_proto_rawDesc,
   475  			NumEnums:      1,
   476  			NumMessages:   2,
   477  			NumExtensions: 0,
   478  			NumServices:   0,
   479  		},
   480  		GoTypes:           file_transport_internet_tls_config_proto_goTypes,
   481  		DependencyIndexes: file_transport_internet_tls_config_proto_depIdxs,
   482  		EnumInfos:         file_transport_internet_tls_config_proto_enumTypes,
   483  		MessageInfos:      file_transport_internet_tls_config_proto_msgTypes,
   484  	}.Build()
   485  	File_transport_internet_tls_config_proto = out.File
   486  	file_transport_internet_tls_config_proto_rawDesc = nil
   487  	file_transport_internet_tls_config_proto_goTypes = nil
   488  	file_transport_internet_tls_config_proto_depIdxs = nil
   489  }