Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AllCiphersMap = make(map[uint16]CipherSuite)
View Source
var IANA_CipherSuites = CipherSuites{}/* 332 elements not displayed */
View Source
var SSL3_CipherSuites = CipherSuites{ CipherSuite{0x001C, "SSL_FORTEZZA_KEA_WITH_NULL_SHA", PROT_SSL, KX_FORTEZZA, AU_KEA, ENC_NULL, 0, MAC_SHA}, CipherSuite{0x001D, "SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA", PROT_SSL, KX_FORTEZZA, AU_KEA, ENC_FORTEZZA_CBC, 80, MAC_SHA}, CipherSuite{0xFEFE, "SSL_RSA_FIPS_WITH_DES_CBC_SHA", PROT_SSL, KX_RSA_FIPS, AU_RSA_FIPS, ENC_DES_CBC, 56, MAC_SHA}, CipherSuite{0xFEFF, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA", PROT_SSL, KX_RSA_FIPS, AU_RSA_FIPS, ENC_3DES_EDE_CBC, 168, MAC_SHA}, CipherSuite{0xFFE0, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA", PROT_SSL, KX_RSA_FIPS, AU_RSA_FIPS, ENC_3DES_EDE_CBC, 168, MAC_SHA}, CipherSuite{0xFFE1, "SSL_RSA_FIPS_WITH_DES_CBC_SHA", PROT_SSL, KX_RSA_FIPS, AU_RSA_FIPS, ENC_DES_CBC, 56, MAC_SHA}, }
TODO this is probably incomplete
View Source
var TLS_CipherSuites = CipherSuites{}/* 213 elements not displayed */
TLS_CipherSuites tries to be a comprehensive list of all ciphers described by IANA Official source: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml This data structure was embedded in source to increase portability
Functions ¶
This section is empty.
Types ¶
type Authentication ¶
type Authentication int
const ( AU_ANON Authentication = iota AU_DHE AU_DSS AU_ECCPWD AU_ECDSA AU_EXPORT AU_KEA AU_KRB5 AU_KRB5_EXPORT AU_NULL AU_PSK AU_RSA AU_RSA_EXPORT AU_RSA_EXPORT_1024 AU_RSA_FIPS AU_SHA AU_VKO_GOST_R_34_10_2001 AU_VKO_GOST_R_34_10_94 )
func (Authentication) String ¶
func (i Authentication) String() string
type ByID ¶
type ByID CipherSuites
type CipherSuite ¶
type CipherSuite struct { ID uint16 Name string Protocol Protocol Kx KeyExchange Au Authentication Enc Encryption Bits int Mac Mac }
func ScanHost ¶
func ScanHost(hostport string) ([]CipherSuite, error)
func ScanHostWithProto ¶
func ScanHostWithProto(hostport string, p ProtVersion) ([]CipherSuite, error)
TODO if server accepts client's preference find a way to communicate it
type CipherSuites ¶
type CipherSuites []CipherSuite
var AllCiphers CipherSuites
func (CipherSuites) IDs ¶
func (cs CipherSuites) IDs() []uint16
func (CipherSuites) IDsMap ¶
func (cs CipherSuites) IDsMap() CipherSuitesMap
type CipherSuitesMap ¶
type CipherSuitesMap map[uint16]CipherSuite
func (CipherSuitesMap) Slice ¶
func (csm CipherSuitesMap) Slice() []uint16
type Encryption ¶
type Encryption int
const ( ENC_3DES_EDE_CBC Encryption = iota ENC_AES_128 ENC_AES_128_CBC ENC_AES_128_CCM ENC_AES_128_CCM_8 ENC_AES_128_GCM ENC_AES_256 ENC_AES_256_CBC ENC_AES_256_CCM ENC_AES_256_GCM ENC_ARIA_128_CBC ENC_ARIA_128_GCM ENC_ARIA_256_CBC ENC_ARIA_256_GCM ENC_CAMELLIA_128_CBC ENC_CAMELLIA_128_GCM ENC_CAMELLIA_256_CBC ENC_CAMELLIA_256_GCM ENC_CHACHA20_POLY1305 ENC_CHACHA20_POLY1305_256 ENC_DES40_CBC ENC_DES_CBC ENC_DES_CBC_40 ENC_FORTEZZA_CBC ENC_GOST28147 ENC_IDEA_CBC ENC_NULL ENC_RC2_CBC_40 ENC_RC2_CBC_56 ENC_RC4_128 ENC_RC4_40 ENC_RC4_56 ENC_SEED_CBC )
func (Encryption) String ¶
func (i Encryption) String() string
type KeyExchange ¶
type KeyExchange int
const ( KX_DH KeyExchange = iota KX_DHE KX_ECCPWD KX_ECDH KX_ECDHE KX_FORTEZZA KX_KRB5 KX_KRB5_EXPORT KX_NULL KX_PSK KX_RSA KX_RSA_EXPORT KX_RSA_EXPORT_1024 KX_RSA_FIPS KX_SRP KX_VKO_GOST_R_34_10_2001 KX_VKO_GOST_R_34_10_94 )
func (KeyExchange) String ¶
func (i KeyExchange) String() string
type ProtVersion ¶
type ProtVersion uint16
const ( SSL30 ProtVersion = tls_dirty.VersionSSL30 TLS10 ProtVersion = tls_dirty.VersionTLS10 TLS11 ProtVersion = tls_dirty.VersionTLS11 TLS12 ProtVersion = tls_dirty.VersionTLS12 )
func (ProtVersion) String ¶
func (i ProtVersion) String() string
Source Files ¶
Click to show internal directories.
Click to hide internal directories.