core: v2ray.com/core/transport/internet/tls Index | Files

package tls

import "v2ray.com/core/transport/internet/tls"

Index

Package Files

config.go config.pb.go config_other.go errors.generated.go tls.go tls13_workaround.go

Variables

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

func Client Uses

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

Client initiates a TLS client handshake on the given connection.

func Server Uses

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

Server initiates a TLS server handshake on the given connection.

func UClient Uses

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

type Certificate Uses

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 Uses

func ParseCertificate(c *cert.Certificate) *Certificate

ParseCertificate converts a cert.Certificate to Certificate.

func (*Certificate) Descriptor Uses

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

func (*Certificate) GetCertificate Uses

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

func (*Certificate) GetKey Uses

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

func (*Certificate) GetUsage Uses

func (m *Certificate) GetUsage() Certificate_Usage

func (*Certificate) ProtoMessage Uses

func (*Certificate) ProtoMessage()

func (*Certificate) Reset Uses

func (m *Certificate) Reset()

func (*Certificate) String Uses

func (m *Certificate) String() string

func (*Certificate) XXX_DiscardUnknown Uses

func (m *Certificate) XXX_DiscardUnknown()

func (*Certificate) XXX_Marshal Uses

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

func (*Certificate) XXX_Merge Uses

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

func (*Certificate) XXX_Size Uses

func (m *Certificate) XXX_Size() int

func (*Certificate) XXX_Unmarshal Uses

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

type Certificate_Usage Uses

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 Uses

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

func (Certificate_Usage) String Uses

func (x Certificate_Usage) String() string

type Config Uses

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 `protobuf:"varint,6,opt,name=disable_session_resumption,json=disableSessionResumption,proto3" json:"disable_session_resumption,omitempty"`
    // If true, root certificates on the system will not be loaded for verification.
    DisableSystemRoot    bool     `protobuf:"varint,7,opt,name=disable_system_root,json=disableSystemRoot,proto3" json:"disable_system_root,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func ConfigFromStreamSettings Uses

func ConfigFromStreamSettings(settings *internet.MemoryStreamConfig) *Config

ConfigFromStreamSettings fetches Config from stream settings. Nil if not found.

func (*Config) BuildCertificates Uses

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

BuildCertificates builds a list of TLS certificates from proto definition.

func (*Config) Descriptor Uses

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

func (*Config) GetAllowInsecure Uses

func (m *Config) GetAllowInsecure() bool

func (*Config) GetAllowInsecureCiphers Uses

func (m *Config) GetAllowInsecureCiphers() bool

func (*Config) GetCertificate Uses

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

func (*Config) GetDisableSessionResumption Uses

func (m *Config) GetDisableSessionResumption() bool

func (*Config) GetDisableSystemRoot Uses

func (m *Config) GetDisableSystemRoot() bool

func (*Config) GetNextProtocol Uses

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

func (*Config) GetServerName Uses

func (m *Config) GetServerName() string

func (*Config) GetTLSConfig Uses

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

GetTLSConfig converts this Config into tls.Config.

func (*Config) IsExperiment8357 Uses

func (c *Config) IsExperiment8357() bool

func (*Config) ProtoMessage Uses

func (*Config) ProtoMessage()

func (*Config) Reset Uses

func (m *Config) Reset()

func (*Config) String Uses

func (m *Config) String() string

func (*Config) XXX_DiscardUnknown Uses

func (m *Config) XXX_DiscardUnknown()

func (*Config) XXX_Marshal Uses

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

func (*Config) XXX_Merge Uses

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

func (*Config) XXX_Size Uses

func (m *Config) XXX_Size() int

func (*Config) XXX_Unmarshal Uses

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

type Option Uses

type Option func(*tls.Config)

Option for building TLS config.

func WithDestination Uses

func WithDestination(dest net.Destination) Option

WithDestination sets the server name in TLS config.

func WithNextProto Uses

func WithNextProto(protocol ...string) Option

WithNextProto sets the ALPN values in TLS config.

Package tls imports 15 packages (graph) and is imported by 29 packages. Updated 2019-07-17. Refresh now. Tools for package owners.