| 395 | } |
| 396 | |
| 397 | func (b *Birc) getTLSConfig() (*tls.Config, error) { |
| 398 | server, _, _ := net.SplitHostPort(b.GetString("server")) |
| 399 | |
| 400 | tlsConfig := &tls.Config{ |
| 401 | InsecureSkipVerify: b.GetBool("skiptlsverify"), //nolint:gosec |
| 402 | ServerName: server, |
| 403 | } |
| 404 | |
| 405 | if filename := b.GetString("TLSClientCertificate"); filename != "" { |
| 406 | cert, err := tls.LoadX509KeyPair(filename, filename) |
| 407 | if err != nil { |
| 408 | return nil, err |
| 409 | } |
| 410 | |
| 411 | tlsConfig.Certificates = []tls.Certificate{cert} |
| 412 | } |
| 413 | |
| 414 | return tlsConfig, nil |
| 415 | } |