code: func (c *Conn) exchangeKeys() (serverKeyExchange *serverKeyExchangeMsg, err error) {
  	msg, err := c.readHandshake()
  	if err != nil {
  		return
  	}
  	serverKeyExchange, ok := msg.(*serverKeyExchangeMsg)
  	if !ok {
  		return nil, unexpectedMessageError(serverKeyExchange, msg)
  	}
  	return
  }
docs: // exchangeKeys continues the handshake to receive the serverKeyExchange message,
  // from which we can extract elliptic curve parameters