MCPcopy Create free account
hub / github.com/XTLS/Go / processClientKeyExchange

Method processClientKeyExchange

key_agreement.go:257–268  ·  view source on GitHub ↗
(config *Config, cert *Certificate, ckx *clientKeyExchangeMsg, version uint16)

Source from the content-addressed store, hash-verified

255}
256
257func (ka *ecdheKeyAgreement) processClientKeyExchange(config *Config, cert *Certificate, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
258 if len(ckx.ciphertext) == 0 || int(ckx.ciphertext[0]) != len(ckx.ciphertext)-1 {
259 return nil, errClientKeyExchange
260 }
261
262 preMasterSecret := ka.params.SharedKey(ckx.ciphertext[1:])
263 if preMasterSecret == nil {
264 return nil, errClientKeyExchange
265 }
266
267 return preMasterSecret, nil
268}
269
270func (ka *ecdheKeyAgreement) processServerKeyExchange(config *Config, clientHello *clientHelloMsg, serverHello *serverHelloMsg, cert *x509.Certificate, skx *serverKeyExchangeMsg) error {
271 if len(skx.key) < 4 {

Callers

nothing calls this directly

Calls 1

SharedKeyMethod · 0.65

Tested by

no test coverage detected