go version

go1.19.2 darwin/amd64

What did you do?

Start a crypto/tls-based webserver with mtls config as show below. tlsConfig := &tls.Config{ ClientCAs: caCertPool, ClientAuth: tls.RequireAndVerifyClientCert, }

What did you expect to see?

You may expect to see a client certificate is getting exchanged for verification.

What did you see instead?

A TLS handshake without client certificate exchange. image

I have tried with other option requestClientCertificate etc but none of them worked. seems a bug.