type CipherSuite …
var supportedUpToTLS12 …
var supportedOnlyTLS12 …
var supportedOnlyTLS13 …
func CipherSuites() []*CipherSuite { … }
func InsecureCipherSuites() []*CipherSuite { … }
func CipherSuiteName(id uint16) string { … }
const suiteECDHE …
const suiteECSign …
const suiteTLS12 …
const suiteSHA384 …
type cipherSuite …
var cipherSuites …
func selectCipherSuite(ids, supportedIDs []uint16, ok func(*cipherSuite) bool) *cipherSuite { … }
type cipherSuiteTLS13 …
var cipherSuitesTLS13 …
var cipherSuitesPreferenceOrder …
var cipherSuitesPreferenceOrderNoAES …
var disabledCipherSuites …
var rsaKexCiphers …
var tdesCiphers …
var hasGCMAsmAMD64 …
var hasGCMAsmARM64 …
var hasGCMAsmS390X …
var hasAESGCMHardwareSupport …
var aesgcmCiphers …
func aesgcmPreferred(ciphers []uint16) bool { … }
func cipherRC4(key, iv []byte, isRead bool) any { … }
func cipher3DES(key, iv []byte, isRead bool) any { … }
func cipherAES(key, iv []byte, isRead bool) any { … }
func macSHA1(key []byte) hash.Hash { … }
func macSHA256(key []byte) hash.Hash { … }
type aead …
const aeadNonceLength …
const noncePrefixLength …
type prefixNonceAEAD …
func (f *prefixNonceAEAD) NonceSize() int { … }
func (f *prefixNonceAEAD) Overhead() int { … }
func (f *prefixNonceAEAD) explicitNonceLen() int { … }
func (f *prefixNonceAEAD) Seal(out, nonce, plaintext, additionalData []byte) []byte { … }
func (f *prefixNonceAEAD) Open(out, nonce, ciphertext, additionalData []byte) ([]byte, error) { … }
type xorNonceAEAD …
func (f *xorNonceAEAD) NonceSize() int { … }
func (f *xorNonceAEAD) Overhead() int { … }
func (f *xorNonceAEAD) explicitNonceLen() int { … }
func (f *xorNonceAEAD) Seal(out, nonce, plaintext, additionalData []byte) []byte { … }
func (f *xorNonceAEAD) Open(out, nonce, ciphertext, additionalData []byte) ([]byte, error) { … }
func aeadAESGCM(key, noncePrefix []byte) aead { … }
func aeadAESGCMTLS13(key, nonceMask []byte) aead { … }
func aeadChaCha20Poly1305(key, nonceMask []byte) aead { … }
type constantTimeHash …
type cthWrapper …
func (c *cthWrapper) Size() int { … }
func (c *cthWrapper) BlockSize() int { … }
func (c *cthWrapper) Reset() { … }
func (c *cthWrapper) Write(p []byte) (int, error) { … }
func (c *cthWrapper) Sum(b []byte) []byte { … }
func newConstantTimeHash(h func() hash.Hash) func() hash.Hash { … }
func tls10MAC(h hash.Hash, out, seq, header, data, extra []byte) []byte { … }
func rsaKA(version uint16) keyAgreement { … }
func ecdheECDSAKA(version uint16) keyAgreement { … }
func ecdheRSAKA(version uint16) keyAgreement { … }
func mutualCipherSuite(have []uint16, want uint16) *cipherSuite { … }
func cipherSuiteByID(id uint16) *cipherSuite { … }
func mutualCipherSuiteTLS13(have []uint16, want uint16) *cipherSuiteTLS13 { … }
func cipherSuiteTLS13ByID(id uint16) *cipherSuiteTLS13 { … }
const TLS_RSA_WITH_RC4_128_SHA …
const TLS_RSA_WITH_3DES_EDE_CBC_SHA …
const TLS_RSA_WITH_AES_128_CBC_SHA …
const TLS_RSA_WITH_AES_256_CBC_SHA …
const TLS_RSA_WITH_AES_128_CBC_SHA256 …
const TLS_RSA_WITH_AES_128_GCM_SHA256 …
const TLS_RSA_WITH_AES_256_GCM_SHA384 …
const TLS_ECDHE_ECDSA_WITH_RC4_128_SHA …
const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA …
const TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA …
const TLS_ECDHE_RSA_WITH_RC4_128_SHA …
const TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA …
const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA …
const TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA …
const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 …
const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 …
const TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 …
const TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 …
const TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 …
const TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 …
const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 …
const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 …
const TLS_AES_128_GCM_SHA256 …
const TLS_AES_256_GCM_SHA384 …
const TLS_CHACHA20_POLY1305_SHA256 …
const TLS_FALLBACK_SCSV …
const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 …
const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 …