tls

package
v3.50.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2018 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Certificate_Usage_name = map[int32]string{
	0: "ENCIPHERMENT",
	1: "AUTHORITY_VERIFY",
	2: "AUTHORITY_ISSUE",
}
View Source
var Certificate_Usage_value = map[string]int32{
	"ENCIPHERMENT":     0,
	"AUTHORITY_VERIFY": 1,
	"AUTHORITY_ISSUE":  2,
}

Functions

func Client

func Client(c net.Conn, config *tls.Config) net.Conn

Client initiates a TLS client handshake on the given connection.

func Server

func Server(c net.Conn, config *tls.Config) net.Conn

Server initiates a TLS server handshake on the given connection.

Types

type Certificate

type Certificate struct {
	// TLS certificate in x509 format.
	Certificate []byte `protobuf:"bytes,1,opt,name=Certificate,proto3" json:"Certificate,omitempty"`
	// TLS key in x509 format.
	Key                  []byte            `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"`
	Usage                Certificate_Usage `protobuf:"varint,3,opt,name=usage,proto3,enum=v2ray.core.transport.internet.tls.Certificate_Usage" json:"usage,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func ParseCertificate added in v3.17.1

func ParseCertificate(c *cert.Certificate) *Certificate

ParseCertificate converts a cert.Certificate to Certificate.

func (*Certificate) Descriptor

func (*Certificate) Descriptor() ([]byte, []int)

func (*Certificate) GetCertificate

func (m *Certificate) GetCertificate() []byte

func (*Certificate) GetKey

func (m *Certificate) GetKey() []byte

func (*Certificate) GetUsage added in v3.17.1

func (m *Certificate) GetUsage() Certificate_Usage

func (*Certificate) ProtoMessage

func (*Certificate) ProtoMessage()

func (*Certificate) Reset

func (m *Certificate) Reset()

func (*Certificate) String

func (m *Certificate) String() string

func (*Certificate) XXX_DiscardUnknown added in v3.23.1

func (m *Certificate) XXX_DiscardUnknown()

func (*Certificate) XXX_Marshal added in v3.23.1

func (m *Certificate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Certificate) XXX_Merge added in v3.23.1

func (m *Certificate) XXX_Merge(src proto.Message)

func (*Certificate) XXX_Size added in v3.23.1

func (m *Certificate) XXX_Size() int

func (*Certificate) XXX_Unmarshal added in v3.23.1

func (m *Certificate) XXX_Unmarshal(b []byte) error

type Certificate_Usage added in v3.17.1

type Certificate_Usage int32
const (
	Certificate_ENCIPHERMENT     Certificate_Usage = 0
	Certificate_AUTHORITY_VERIFY Certificate_Usage = 1
	Certificate_AUTHORITY_ISSUE  Certificate_Usage = 2
)

func (Certificate_Usage) EnumDescriptor added in v3.17.1

func (Certificate_Usage) EnumDescriptor() ([]byte, []int)

func (Certificate_Usage) String added in v3.17.1

func (x Certificate_Usage) String() string

type Config

type Config struct {
	// Whether or not to allow self-signed certificates.
	AllowInsecure bool `protobuf:"varint,1,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"`
	// Whether or not to allow insecure cipher suites.
	AllowInsecureCiphers bool `protobuf:"varint,5,opt,name=allow_insecure_ciphers,json=allowInsecureCiphers,proto3" json:"allow_insecure_ciphers,omitempty"`
	// List of certificates to be served on server.
	Certificate []*Certificate `protobuf:"bytes,2,rep,name=certificate,proto3" json:"certificate,omitempty"`
	// Override server name.
	ServerName string `protobuf:"bytes,3,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
	// Lists of string as ALPN values.
	NextProtocol []string `protobuf:"bytes,4,rep,name=next_protocol,json=nextProtocol,proto3" json:"next_protocol,omitempty"`
	// Whether or not to disable session (ticket) resumption.
	DisableSessionResumption bool     `` /* 136-byte string literal not displayed */
	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
	XXX_unrecognized         []byte   `json:"-"`
	XXX_sizecache            int32    `json:"-"`
}

func ConfigFromContext added in v3.8.1

func ConfigFromContext(ctx context.Context) *Config

ConfigFromContext fetches Config from context. Nil if not found.

func (*Config) BuildCertificates

func (c *Config) BuildCertificates() []tls.Certificate

BuildCertificates builds a list of TLS certificates from proto definition.

func (*Config) Descriptor

func (*Config) Descriptor() ([]byte, []int)

func (*Config) GetAllowInsecure

func (m *Config) GetAllowInsecure() bool

func (*Config) GetAllowInsecureCiphers added in v3.23.1

func (m *Config) GetAllowInsecureCiphers() bool

func (*Config) GetCertificate

func (m *Config) GetCertificate() []*Certificate

func (*Config) GetDisableSessionResumption added in v3.32.1

func (m *Config) GetDisableSessionResumption() bool

func (*Config) GetNextProtocol added in v3.8.1

func (m *Config) GetNextProtocol() []string

func (*Config) GetServerName

func (m *Config) GetServerName() string

func (*Config) GetTLSConfig

func (c *Config) GetTLSConfig(opts ...Option) *tls.Config

GetTLSConfig converts this Config into tls.Config.

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

func (*Config) XXX_DiscardUnknown added in v3.23.1

func (m *Config) XXX_DiscardUnknown()

func (*Config) XXX_Marshal added in v3.23.1

func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Config) XXX_Merge added in v3.23.1

func (m *Config) XXX_Merge(src proto.Message)

func (*Config) XXX_Size added in v3.23.1

func (m *Config) XXX_Size() int

func (*Config) XXX_Unmarshal added in v3.23.1

func (m *Config) XXX_Unmarshal(b []byte) error

type Option added in v3.8.1

type Option func(*tls.Config)

Option for building TLS config.

func WithDestination added in v3.8.1

func WithDestination(dest net.Destination) Option

WithDestination sets the server name in TLS config.

func WithNextProto added in v3.8.1

func WithNextProto(protocol ...string) Option

WithNextProto sets the ALPN values in TLS config.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL