1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.27.1
4// 	protoc        v3.18.0
5// source: transport/internet/xtls/config.proto
6
7package xtls
8
9import (
10	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
11	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
12	reflect "reflect"
13	sync "sync"
14)
15
16const (
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
23type Certificate_Usage int32
24
25const (
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.
32var (
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
45func (x Certificate_Usage) Enum() *Certificate_Usage {
46	p := new(Certificate_Usage)
47	*p = x
48	return p
49}
50
51func (x Certificate_Usage) String() string {
52	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
53}
54
55func (Certificate_Usage) Descriptor() protoreflect.EnumDescriptor {
56	return file_transport_internet_xtls_config_proto_enumTypes[0].Descriptor()
57}
58
59func (Certificate_Usage) Type() protoreflect.EnumType {
60	return &file_transport_internet_xtls_config_proto_enumTypes[0]
61}
62
63func (x Certificate_Usage) Number() protoreflect.EnumNumber {
64	return protoreflect.EnumNumber(x)
65}
66
67// Deprecated: Use Certificate_Usage.Descriptor instead.
68func (Certificate_Usage) EnumDescriptor() ([]byte, []int) {
69	return file_transport_internet_xtls_config_proto_rawDescGZIP(), []int{0, 0}
70}
71
72type 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.xtls.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
91func (x *Certificate) Reset() {
92	*x = Certificate{}
93	if protoimpl.UnsafeEnabled {
94		mi := &file_transport_internet_xtls_config_proto_msgTypes[0]
95		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
96		ms.StoreMessageInfo(mi)
97	}
98}
99
100func (x *Certificate) String() string {
101	return protoimpl.X.MessageStringOf(x)
102}
103
104func (*Certificate) ProtoMessage() {}
105
106func (x *Certificate) ProtoReflect() protoreflect.Message {
107	mi := &file_transport_internet_xtls_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.
119func (*Certificate) Descriptor() ([]byte, []int) {
120	return file_transport_internet_xtls_config_proto_rawDescGZIP(), []int{0}
121}
122
123func (x *Certificate) GetCertificate() []byte {
124	if x != nil {
125		return x.Certificate
126	}
127	return nil
128}
129
130func (x *Certificate) GetKey() []byte {
131	if x != nil {
132		return x.Key
133	}
134	return nil
135}
136
137func (x *Certificate) GetUsage() Certificate_Usage {
138	if x != nil {
139		return x.Usage
140	}
141	return Certificate_ENCIPHERMENT
142}
143
144func (x *Certificate) GetOcspStapling() uint64 {
145	if x != nil {
146		return x.OcspStapling
147	}
148	return 0
149}
150
151func (x *Certificate) GetCertificatePath() string {
152	if x != nil {
153		return x.CertificatePath
154	}
155	return ""
156}
157
158func (x *Certificate) GetKeyPath() string {
159	if x != nil {
160		return x.KeyPath
161	}
162	return ""
163}
164
165func (x *Certificate) GetOneTimeLoading() bool {
166	if x != nil {
167		return x.OneTimeLoading
168	}
169	return false
170}
171
172type 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	RejectUnknownSni         bool `protobuf:"varint,12,opt,name=reject_unknown_sni,json=rejectUnknownSni,proto3" json:"reject_unknown_sni,omitempty"`
199}
200
201func (x *Config) Reset() {
202	*x = Config{}
203	if protoimpl.UnsafeEnabled {
204		mi := &file_transport_internet_xtls_config_proto_msgTypes[1]
205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
206		ms.StoreMessageInfo(mi)
207	}
208}
209
210func (x *Config) String() string {
211	return protoimpl.X.MessageStringOf(x)
212}
213
214func (*Config) ProtoMessage() {}
215
216func (x *Config) ProtoReflect() protoreflect.Message {
217	mi := &file_transport_internet_xtls_config_proto_msgTypes[1]
218	if protoimpl.UnsafeEnabled && x != nil {
219		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
220		if ms.LoadMessageInfo() == nil {
221			ms.StoreMessageInfo(mi)
222		}
223		return ms
224	}
225	return mi.MessageOf(x)
226}
227
228// Deprecated: Use Config.ProtoReflect.Descriptor instead.
229func (*Config) Descriptor() ([]byte, []int) {
230	return file_transport_internet_xtls_config_proto_rawDescGZIP(), []int{1}
231}
232
233func (x *Config) GetAllowInsecure() bool {
234	if x != nil {
235		return x.AllowInsecure
236	}
237	return false
238}
239
240func (x *Config) GetCertificate() []*Certificate {
241	if x != nil {
242		return x.Certificate
243	}
244	return nil
245}
246
247func (x *Config) GetServerName() string {
248	if x != nil {
249		return x.ServerName
250	}
251	return ""
252}
253
254func (x *Config) GetNextProtocol() []string {
255	if x != nil {
256		return x.NextProtocol
257	}
258	return nil
259}
260
261func (x *Config) GetEnableSessionResumption() bool {
262	if x != nil {
263		return x.EnableSessionResumption
264	}
265	return false
266}
267
268func (x *Config) GetDisableSystemRoot() bool {
269	if x != nil {
270		return x.DisableSystemRoot
271	}
272	return false
273}
274
275func (x *Config) GetMinVersion() string {
276	if x != nil {
277		return x.MinVersion
278	}
279	return ""
280}
281
282func (x *Config) GetMaxVersion() string {
283	if x != nil {
284		return x.MaxVersion
285	}
286	return ""
287}
288
289func (x *Config) GetCipherSuites() string {
290	if x != nil {
291		return x.CipherSuites
292	}
293	return ""
294}
295
296func (x *Config) GetPreferServerCipherSuites() bool {
297	if x != nil {
298		return x.PreferServerCipherSuites
299	}
300	return false
301}
302
303func (x *Config) GetRejectUnknownSni() bool {
304	if x != nil {
305		return x.RejectUnknownSni
306	}
307	return false
308}
309
310var File_transport_internet_xtls_config_proto protoreflect.FileDescriptor
311
312var file_transport_internet_xtls_config_proto_rawDesc = []byte{
313	0x0a, 0x24, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65,
314	0x72, 0x6e, 0x65, 0x74, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
315	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61,
316	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e,
317	0x78, 0x74, 0x6c, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
318	0x63, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
319	0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69,
320	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
321	0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67,
322	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74,
323	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
324	0x74, 0x2e, 0x78, 0x74, 0x6c, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
325	0x74, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12,
326	0x23, 0x0a, 0x0d, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67,
327	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70,
328	0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
329	0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
330	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12,
331	0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28,
332	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x4f, 0x6e,
333	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07,
334	0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x4f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x61,
335	0x64, 0x69, 0x6e, 0x67, 0x22, 0x44, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a,
336	0x0c, 0x45, 0x4e, 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12,
337	0x14, 0x0a, 0x10, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52,
338	0x49, 0x46, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49,
339	0x54, 0x59, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x02, 0x22, 0x82, 0x04, 0x0a, 0x06, 0x43,
340	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69,
341	0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61,
342	0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x4b, 0x0a, 0x0b,
343	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
344	0x0b, 0x32, 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
345	0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x78, 0x74, 0x6c, 0x73,
346	0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65,
347	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72,
348	0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
349	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65,
350	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28,
351	0x09, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12,
352	0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
353	0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
354	0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
355	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64,
356	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x6f,
357	0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
358	0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
359	0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
360	0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
361	0x6d, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
362	0x09, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
363	0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x09,
364	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74,
365	0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72,
366	0x76, 0x65, 0x72, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65,
367	0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x53,
368	0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65,
369	0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e,
370	0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72,
371	0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6e, 0x69, 0x42,
372	0x76, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e,
373	0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x78,
374	0x74, 0x6c, 0x73, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
375	0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65,
376	0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
377	0x6e, 0x65, 0x74, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x1c, 0x58, 0x72, 0x61, 0x79, 0x2e,
378	0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
379	0x65, 0x74, 0x2e, 0x58, 0x74, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
380}
381
382var (
383	file_transport_internet_xtls_config_proto_rawDescOnce sync.Once
384	file_transport_internet_xtls_config_proto_rawDescData = file_transport_internet_xtls_config_proto_rawDesc
385)
386
387func file_transport_internet_xtls_config_proto_rawDescGZIP() []byte {
388	file_transport_internet_xtls_config_proto_rawDescOnce.Do(func() {
389		file_transport_internet_xtls_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_transport_internet_xtls_config_proto_rawDescData)
390	})
391	return file_transport_internet_xtls_config_proto_rawDescData
392}
393
394var file_transport_internet_xtls_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
395var file_transport_internet_xtls_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
396var file_transport_internet_xtls_config_proto_goTypes = []interface{}{
397	(Certificate_Usage)(0), // 0: xray.transport.internet.xtls.Certificate.Usage
398	(*Certificate)(nil),    // 1: xray.transport.internet.xtls.Certificate
399	(*Config)(nil),         // 2: xray.transport.internet.xtls.Config
400}
401var file_transport_internet_xtls_config_proto_depIdxs = []int32{
402	0, // 0: xray.transport.internet.xtls.Certificate.usage:type_name -> xray.transport.internet.xtls.Certificate.Usage
403	1, // 1: xray.transport.internet.xtls.Config.certificate:type_name -> xray.transport.internet.xtls.Certificate
404	2, // [2:2] is the sub-list for method output_type
405	2, // [2:2] is the sub-list for method input_type
406	2, // [2:2] is the sub-list for extension type_name
407	2, // [2:2] is the sub-list for extension extendee
408	0, // [0:2] is the sub-list for field type_name
409}
410
411func init() { file_transport_internet_xtls_config_proto_init() }
412func file_transport_internet_xtls_config_proto_init() {
413	if File_transport_internet_xtls_config_proto != nil {
414		return
415	}
416	if !protoimpl.UnsafeEnabled {
417		file_transport_internet_xtls_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
418			switch v := v.(*Certificate); i {
419			case 0:
420				return &v.state
421			case 1:
422				return &v.sizeCache
423			case 2:
424				return &v.unknownFields
425			default:
426				return nil
427			}
428		}
429		file_transport_internet_xtls_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
430			switch v := v.(*Config); i {
431			case 0:
432				return &v.state
433			case 1:
434				return &v.sizeCache
435			case 2:
436				return &v.unknownFields
437			default:
438				return nil
439			}
440		}
441	}
442	type x struct{}
443	out := protoimpl.TypeBuilder{
444		File: protoimpl.DescBuilder{
445			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
446			RawDescriptor: file_transport_internet_xtls_config_proto_rawDesc,
447			NumEnums:      1,
448			NumMessages:   2,
449			NumExtensions: 0,
450			NumServices:   0,
451		},
452		GoTypes:           file_transport_internet_xtls_config_proto_goTypes,
453		DependencyIndexes: file_transport_internet_xtls_config_proto_depIdxs,
454		EnumInfos:         file_transport_internet_xtls_config_proto_enumTypes,
455		MessageInfos:      file_transport_internet_xtls_config_proto_msgTypes,
456	}.Build()
457	File_transport_internet_xtls_config_proto = out.File
458	file_transport_internet_xtls_config_proto_rawDesc = nil
459	file_transport_internet_xtls_config_proto_goTypes = nil
460	file_transport_internet_xtls_config_proto_depIdxs = nil
461}
462