github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/transport/internet/tls/config.pb.go (about)

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