github.com/xraypb/xray-core@v1.6.6/transport/internet/xtls/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/xtls/config.proto
     6  
     7  package xtls
     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_xtls_config_proto_enumTypes[0].Descriptor()
    57  }
    58  
    59  func (Certificate_Usage) Type() protoreflect.EnumType {
    60  	return &file_transport_internet_xtls_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_xtls_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.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  
    91  func (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  
   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_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.
   119  func (*Certificate) Descriptor() ([]byte, []int) {
   120  	return file_transport_internet_xtls_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  	RejectUnknownSni         bool `protobuf:"varint,12,opt,name=reject_unknown_sni,json=rejectUnknownSni,proto3" json:"reject_unknown_sni,omitempty"`
   199  	// @Document A pinned certificate chain sha256 hash.
   200  	// @Document If the server's hash does not match this value, the connection will be aborted.
   201  	// @Document This value replace allow_insecure.
   202  	// @Critical
   203  	PinnedPeerCertificateChainSha256 [][]byte `protobuf:"bytes,13,rep,name=pinned_peer_certificate_chain_sha256,json=pinnedPeerCertificateChainSha256,proto3" json:"pinned_peer_certificate_chain_sha256,omitempty"`
   204  }
   205  
   206  func (x *Config) Reset() {
   207  	*x = Config{}
   208  	if protoimpl.UnsafeEnabled {
   209  		mi := &file_transport_internet_xtls_config_proto_msgTypes[1]
   210  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   211  		ms.StoreMessageInfo(mi)
   212  	}
   213  }
   214  
   215  func (x *Config) String() string {
   216  	return protoimpl.X.MessageStringOf(x)
   217  }
   218  
   219  func (*Config) ProtoMessage() {}
   220  
   221  func (x *Config) ProtoReflect() protoreflect.Message {
   222  	mi := &file_transport_internet_xtls_config_proto_msgTypes[1]
   223  	if protoimpl.UnsafeEnabled && x != nil {
   224  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   225  		if ms.LoadMessageInfo() == nil {
   226  			ms.StoreMessageInfo(mi)
   227  		}
   228  		return ms
   229  	}
   230  	return mi.MessageOf(x)
   231  }
   232  
   233  // Deprecated: Use Config.ProtoReflect.Descriptor instead.
   234  func (*Config) Descriptor() ([]byte, []int) {
   235  	return file_transport_internet_xtls_config_proto_rawDescGZIP(), []int{1}
   236  }
   237  
   238  func (x *Config) GetAllowInsecure() bool {
   239  	if x != nil {
   240  		return x.AllowInsecure
   241  	}
   242  	return false
   243  }
   244  
   245  func (x *Config) GetCertificate() []*Certificate {
   246  	if x != nil {
   247  		return x.Certificate
   248  	}
   249  	return nil
   250  }
   251  
   252  func (x *Config) GetServerName() string {
   253  	if x != nil {
   254  		return x.ServerName
   255  	}
   256  	return ""
   257  }
   258  
   259  func (x *Config) GetNextProtocol() []string {
   260  	if x != nil {
   261  		return x.NextProtocol
   262  	}
   263  	return nil
   264  }
   265  
   266  func (x *Config) GetEnableSessionResumption() bool {
   267  	if x != nil {
   268  		return x.EnableSessionResumption
   269  	}
   270  	return false
   271  }
   272  
   273  func (x *Config) GetDisableSystemRoot() bool {
   274  	if x != nil {
   275  		return x.DisableSystemRoot
   276  	}
   277  	return false
   278  }
   279  
   280  func (x *Config) GetMinVersion() string {
   281  	if x != nil {
   282  		return x.MinVersion
   283  	}
   284  	return ""
   285  }
   286  
   287  func (x *Config) GetMaxVersion() string {
   288  	if x != nil {
   289  		return x.MaxVersion
   290  	}
   291  	return ""
   292  }
   293  
   294  func (x *Config) GetCipherSuites() string {
   295  	if x != nil {
   296  		return x.CipherSuites
   297  	}
   298  	return ""
   299  }
   300  
   301  func (x *Config) GetPreferServerCipherSuites() bool {
   302  	if x != nil {
   303  		return x.PreferServerCipherSuites
   304  	}
   305  	return false
   306  }
   307  
   308  func (x *Config) GetRejectUnknownSni() bool {
   309  	if x != nil {
   310  		return x.RejectUnknownSni
   311  	}
   312  	return false
   313  }
   314  
   315  func (x *Config) GetPinnedPeerCertificateChainSha256() [][]byte {
   316  	if x != nil {
   317  		return x.PinnedPeerCertificateChainSha256
   318  	}
   319  	return nil
   320  }
   321  
   322  var File_transport_internet_xtls_config_proto protoreflect.FileDescriptor
   323  
   324  var file_transport_internet_xtls_config_proto_rawDesc = []byte{
   325  	0x0a, 0x24, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65,
   326  	0x72, 0x6e, 0x65, 0x74, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   327  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61,
   328  	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e,
   329  	0x78, 0x74, 0x6c, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
   330  	0x63, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
   331  	0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69,
   332  	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
   333  	0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67,
   334  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74,
   335  	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
   336  	0x74, 0x2e, 0x78, 0x74, 0x6c, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
   337  	0x74, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12,
   338  	0x23, 0x0a, 0x0d, 0x6f, 0x63, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67,
   339  	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x63, 0x73, 0x70, 0x53, 0x74, 0x61, 0x70,
   340  	0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
   341  	0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
   342  	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12,
   343  	0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28,
   344  	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x4f, 0x6e,
   345  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07,
   346  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x4f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x61,
   347  	0x64, 0x69, 0x6e, 0x67, 0x22, 0x44, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a,
   348  	0x0c, 0x45, 0x4e, 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12,
   349  	0x14, 0x0a, 0x10, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52,
   350  	0x49, 0x46, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49,
   351  	0x54, 0x59, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x02, 0x22, 0xd2, 0x04, 0x0a, 0x06, 0x43,
   352  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69,
   353  	0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61,
   354  	0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x4b, 0x0a, 0x0b,
   355  	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
   356  	0x0b, 0x32, 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
   357  	0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x78, 0x74, 0x6c, 0x73,
   358  	0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65,
   359  	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72,
   360  	0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
   361  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65,
   362  	0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28,
   363  	0x09, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12,
   364  	0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
   365  	0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
   366  	0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
   367  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64,
   368  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x6f,
   369  	0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
   370  	0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
   371  	0x69, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
   372  	0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
   373  	0x6d, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
   374  	0x09, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
   375  	0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x09,
   376  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74,
   377  	0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72,
   378  	0x76, 0x65, 0x72, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65,
   379  	0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x53,
   380  	0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65,
   381  	0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x6e, 0x6b, 0x6e,
   382  	0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72,
   383  	0x65, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x6e, 0x69, 0x12,
   384  	0x4e, 0x0a, 0x24, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63,
   385  	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e,
   386  	0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x20, 0x70,
   387  	0x69, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
   388  	0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42,
   389  	0x76, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x74, 0x72, 0x61, 0x6e,
   390  	0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x78,
   391  	0x74, 0x6c, 0x73, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
   392  	0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65,
   393  	0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
   394  	0x6e, 0x65, 0x74, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x1c, 0x58, 0x72, 0x61, 0x79, 0x2e,
   395  	0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
   396  	0x65, 0x74, 0x2e, 0x58, 0x74, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   397  }
   398  
   399  var (
   400  	file_transport_internet_xtls_config_proto_rawDescOnce sync.Once
   401  	file_transport_internet_xtls_config_proto_rawDescData = file_transport_internet_xtls_config_proto_rawDesc
   402  )
   403  
   404  func file_transport_internet_xtls_config_proto_rawDescGZIP() []byte {
   405  	file_transport_internet_xtls_config_proto_rawDescOnce.Do(func() {
   406  		file_transport_internet_xtls_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_transport_internet_xtls_config_proto_rawDescData)
   407  	})
   408  	return file_transport_internet_xtls_config_proto_rawDescData
   409  }
   410  
   411  var file_transport_internet_xtls_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   412  var file_transport_internet_xtls_config_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
   413  var file_transport_internet_xtls_config_proto_goTypes = []interface{}{
   414  	(Certificate_Usage)(0), // 0: xray.transport.internet.xtls.Certificate.Usage
   415  	(*Certificate)(nil),    // 1: xray.transport.internet.xtls.Certificate
   416  	(*Config)(nil),         // 2: xray.transport.internet.xtls.Config
   417  }
   418  var file_transport_internet_xtls_config_proto_depIdxs = []int32{
   419  	0, // 0: xray.transport.internet.xtls.Certificate.usage:type_name -> xray.transport.internet.xtls.Certificate.Usage
   420  	1, // 1: xray.transport.internet.xtls.Config.certificate:type_name -> xray.transport.internet.xtls.Certificate
   421  	2, // [2:2] is the sub-list for method output_type
   422  	2, // [2:2] is the sub-list for method input_type
   423  	2, // [2:2] is the sub-list for extension type_name
   424  	2, // [2:2] is the sub-list for extension extendee
   425  	0, // [0:2] is the sub-list for field type_name
   426  }
   427  
   428  func init() { file_transport_internet_xtls_config_proto_init() }
   429  func file_transport_internet_xtls_config_proto_init() {
   430  	if File_transport_internet_xtls_config_proto != nil {
   431  		return
   432  	}
   433  	if !protoimpl.UnsafeEnabled {
   434  		file_transport_internet_xtls_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   435  			switch v := v.(*Certificate); i {
   436  			case 0:
   437  				return &v.state
   438  			case 1:
   439  				return &v.sizeCache
   440  			case 2:
   441  				return &v.unknownFields
   442  			default:
   443  				return nil
   444  			}
   445  		}
   446  		file_transport_internet_xtls_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   447  			switch v := v.(*Config); i {
   448  			case 0:
   449  				return &v.state
   450  			case 1:
   451  				return &v.sizeCache
   452  			case 2:
   453  				return &v.unknownFields
   454  			default:
   455  				return nil
   456  			}
   457  		}
   458  	}
   459  	type x struct{}
   460  	out := protoimpl.TypeBuilder{
   461  		File: protoimpl.DescBuilder{
   462  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   463  			RawDescriptor: file_transport_internet_xtls_config_proto_rawDesc,
   464  			NumEnums:      1,
   465  			NumMessages:   2,
   466  			NumExtensions: 0,
   467  			NumServices:   0,
   468  		},
   469  		GoTypes:           file_transport_internet_xtls_config_proto_goTypes,
   470  		DependencyIndexes: file_transport_internet_xtls_config_proto_depIdxs,
   471  		EnumInfos:         file_transport_internet_xtls_config_proto_enumTypes,
   472  		MessageInfos:      file_transport_internet_xtls_config_proto_msgTypes,
   473  	}.Build()
   474  	File_transport_internet_xtls_config_proto = out.File
   475  	file_transport_internet_xtls_config_proto_rawDesc = nil
   476  	file_transport_internet_xtls_config_proto_goTypes = nil
   477  	file_transport_internet_xtls_config_proto_depIdxs = nil
   478  }