func splitPreMasterSecret(secret []byte) (s1, s2 []byte) { … }
func pHash(result, secret, seed []byte, hash func() hash.Hash) { … }
func prf10(result, secret, label, seed []byte) { … }
func prf12(hashFunc func() hash.Hash) func(result, secret, label, seed []byte) { … }
const masterSecretLength …
const finishedVerifyLength …
var masterSecretLabel …
var extendedMasterSecretLabel …
var keyExpansionLabel …
var clientFinishedLabel …
var serverFinishedLabel …
func prfAndHashForVersion(version uint16, suite *cipherSuite) (func(result, secret, label, seed []byte), crypto.Hash) { … }
func prfForVersion(version uint16, suite *cipherSuite) func(result, secret, label, seed []byte) { … }
func masterFromPreMasterSecret(version uint16, suite *cipherSuite, preMasterSecret, clientRandom, serverRandom []byte) []byte { … }
func extMasterFromPreMasterSecret(version uint16, suite *cipherSuite, preMasterSecret, transcript []byte) []byte { … }
func keysFromMasterSecret(version uint16, suite *cipherSuite, masterSecret, clientRandom, serverRandom []byte, macLen, keyLen, ivLen int) (clientMAC, serverMAC, clientKey, serverKey, clientIV, serverIV []byte) { … }
func newFinishedHash(version uint16, cipherSuite *cipherSuite) finishedHash { … }
type finishedHash …
func (h *finishedHash) Write(msg []byte) (n int, err error) { … }
func (h finishedHash) Sum() []byte { … }
func (h finishedHash) clientSum(masterSecret []byte) []byte { … }
func (h finishedHash) serverSum(masterSecret []byte) []byte { … }
func (h finishedHash) hashForClientCertificate(sigType uint8, hashAlg crypto.Hash) []byte { … }
func (h *finishedHash) discardHandshakeBuffer() { … }
func noEKMBecauseRenegotiation(label string, context []byte, length int) ([]byte, error) { … }
func noEKMBecauseNoEMS(label string, context []byte, length int) ([]byte, error) { … }
func ekmFromMasterSecret(version uint16, suite *cipherSuite, masterSecret, clientRandom, serverRandom []byte) func(string, []byte, int) ([]byte, error) { … }