Skip to content

Commit e6a3695

Browse files
committed
Make use of SocketCAFile config
1 parent 8c26237 commit e6a3695

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

tls.go

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,33 +35,36 @@ func loadTLSConfig(settings *SessionSettings) (tlsConfig *tls.Config, err error)
3535
}
3636

3737
if !settings.HasSetting(config.SocketPrivateKeyFile) && !settings.HasSetting(config.SocketCertificateFile) {
38-
if allowSkipClientCerts {
39-
tlsConfig = defaultTLSConfig()
40-
tlsConfig.ServerName = serverName
41-
tlsConfig.InsecureSkipVerify = insecureSkipVerify
42-
setMinVersionExplicit(settings, tlsConfig)
38+
if !allowSkipClientCerts {
39+
return
4340
}
44-
return
45-
}
46-
47-
privateKeyFile, err := settings.Setting(config.SocketPrivateKeyFile)
48-
if err != nil {
49-
return
50-
}
51-
52-
certificateFile, err := settings.Setting(config.SocketCertificateFile)
53-
if err != nil {
54-
return
5541
}
5642

5743
tlsConfig = defaultTLSConfig()
58-
tlsConfig.Certificates = make([]tls.Certificate, 1)
5944
tlsConfig.ServerName = serverName
6045
tlsConfig.InsecureSkipVerify = insecureSkipVerify
6146
setMinVersionExplicit(settings, tlsConfig)
6247

63-
if tlsConfig.Certificates[0], err = tls.LoadX509KeyPair(certificateFile, privateKeyFile); err != nil {
64-
return
48+
if settings.HasSetting(config.SocketPrivateKeyFile) && settings.HasSetting(config.SocketCertificateFile) {
49+
50+
var privateKeyFile string
51+
var certificateFile string
52+
53+
privateKeyFile, err = settings.Setting(config.SocketPrivateKeyFile)
54+
if err != nil {
55+
return
56+
}
57+
58+
certificateFile, err = settings.Setting(config.SocketCertificateFile)
59+
if err != nil {
60+
return
61+
}
62+
63+
tlsConfig.Certificates = make([]tls.Certificate, 1)
64+
65+
if tlsConfig.Certificates[0], err = tls.LoadX509KeyPair(certificateFile, privateKeyFile); err != nil {
66+
return
67+
}
6568
}
6669

6770
if !settings.HasSetting(config.SocketCAFile) {
@@ -86,7 +89,10 @@ func loadTLSConfig(settings *SessionSettings) (tlsConfig *tls.Config, err error)
8689

8790
tlsConfig.RootCAs = certPool
8891
tlsConfig.ClientCAs = certPool
89-
tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
92+
93+
if !allowSkipClientCerts {
94+
tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
95+
}
9096

9197
return
9298
}

0 commit comments

Comments
 (0)