Passing certificate and key as string to ListenAndServeTLS

You can build your own server object and still call ListenAndServeTLS. Since your tls config has certificates, it will ignore the passed-in filenames. I'm omitting the return on error for conciseness, please do not:

// Generate a key pair from your pem-encoded cert and key ([]byte).
cert, err := tls.X509KeyPair(<cert contents>, <key contents>)

// Construct a tls.config
tlsConfig := &tls.Config{
  Certificates: []tls.Certificate{cert}
  // Other options
}

// Build a server:
server := http.Server{
    // Other options
    TLSConfig: tlsConfig,
}

// Finally: serve.
err = server.ListenAndServeTLS("", "")

Tags:

Security

Go