(config config.HTTPServerConfiguration, certs *config.HTTPServerCerts)
| 47 | } |
| 48 | |
| 49 | func createServerTLSConfig(config config.HTTPServerConfiguration, certs *config.HTTPServerCerts) *tls.Config { |
| 50 | // We let users configure the minimum TLS version, so we don't need gosec here. |
| 51 | tlsConfig := &tls.Config{ //nolint:gosec |
| 52 | MinVersion: config.TLSVersion.GetTLSVersion(), |
| 53 | CurvePreferences: config.ECDHCurves.GetList(), |
| 54 | PreferServerCipherSuites: true, |
| 55 | CipherSuites: config.CipherSuites.GetList(), |
| 56 | } |
| 57 | |
| 58 | tlsConfig.Certificates = []tls.Certificate{*certs.Cert} |
| 59 | |
| 60 | if certs.ClientCAPool != nil { |
| 61 | tlsConfig.ClientCAs = certs.ClientCAPool |
| 62 | tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert |
| 63 | } |
| 64 | return tlsConfig |
| 65 | } |
no test coverage detected