Сервер: передать TLSConfig и сертификаты в http.Server, слушать через ListenAndServeTLS(":443", "cert.pem", "key.pem", handler). Клиент: tls.Config с RootCAs или InsecureSkipVerify (только для тестов), http.Transport с TLSClientConfig. Для production загрузка сертификатов из файлов или системы; минимум TLS 1.2.
srv := &http.Server{
Addr: ":443",
Handler: mux,
TLSConfig: &tls.Config{MinVersion: tls.VersionTLS12},
}
srv.ListenAndServeTLS("cert.pem", "key.pem")