Skip to content

Commit bd4a36c

Browse files
committed
Require client certs verification when SocketUseSSL N
1 parent ee4e0e5 commit bd4a36c

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

tls.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ func loadTLSConfig(settings *SessionSettings) (tlsConfig *tls.Config, err error)
6767
}
6868
}
6969

70+
if !allowSkipClientCerts {
71+
tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
72+
}
73+
7074
if !settings.HasSetting(config.SocketCAFile) {
7175
return
7276
}
@@ -90,10 +94,6 @@ func loadTLSConfig(settings *SessionSettings) (tlsConfig *tls.Config, err error)
9094
tlsConfig.RootCAs = certPool
9195
tlsConfig.ClientCAs = certPool
9296

93-
if !allowSkipClientCerts {
94-
tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
95-
}
96-
9797
return
9898
}
9999

tls_test.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (s *TLSTestSuite) TestLoadTLSNoCA() {
6060
s.Len(tlsConfig.Certificates, 1)
6161
s.Nil(tlsConfig.RootCAs)
6262
s.Nil(tlsConfig.ClientCAs)
63-
s.Equal(tls.NoClientCert, tlsConfig.ClientAuth)
63+
s.Equal(tls.RequireAndVerifyClientCert, tlsConfig.ClientAuth)
6464
}
6565

6666
func (s *TLSTestSuite) TestLoadTLSWithBadCA() {
@@ -107,6 +107,16 @@ func (s *TLSTestSuite) TestLoadTLSWithoutSSLWithOnlyCA() {
107107
s.Nil(tlsConfig)
108108
}
109109

110+
func (s *TLSTestSuite) TestLoadTLSAllowSkipClientCerts() {
111+
s.settings.GlobalSettings().Set(config.SocketUseSSL, "Y")
112+
113+
tlsConfig, err := loadTLSConfig(s.settings.GlobalSettings())
114+
s.Nil(err)
115+
s.NotNil(tlsConfig)
116+
117+
s.Equal(tls.NoClientCert, tlsConfig.ClientAuth)
118+
}
119+
110120
func (s *TLSTestSuite) TestServerNameUseSSL() {
111121
s.settings.GlobalSettings().Set(config.SocketUseSSL, "Y")
112122
s.settings.GlobalSettings().Set(config.SocketServerName, "DummyServerNameUseSSL")

0 commit comments

Comments
 (0)