code: func (c *MutableTLSCreds) ServerHandshake(rawConn net.Conn) (net.Conn, credentials.AuthInfo, error) {
  	c.Lock()
  	conn := tls.Server(rawConn, c.config)
  	c.Unlock()
  	if err := conn.Handshake(); err != nil {
  		rawConn.Close()
  		return nil, nil, err
  	}
  
  	return conn, credentials.TLSInfo{State: conn.ConnectionState()}, nil
  }
docs: // ServerHandshake implements the credentials.TransportCredentials interface