Skip to content

Commit ee4e0e5

Browse files
committed
Update tls.go load with CA only behaviour
- Return error if client key cert file pair incomplete - Add simple test for TLS load with only CA
1 parent e6a3695 commit ee4e0e5

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

tls.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func loadTLSConfig(settings *SessionSettings) (tlsConfig *tls.Config, err error)
4545
tlsConfig.InsecureSkipVerify = insecureSkipVerify
4646
setMinVersionExplicit(settings, tlsConfig)
4747

48-
if settings.HasSetting(config.SocketPrivateKeyFile) && settings.HasSetting(config.SocketCertificateFile) {
48+
if settings.HasSetting(config.SocketPrivateKeyFile) || settings.HasSetting(config.SocketCertificateFile) {
4949

5050
var privateKeyFile string
5151
var certificateFile string

tls_test.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,26 @@ func (s *TLSTestSuite) TestLoadTLSWithCA() {
8787
s.Equal(tls.RequireAndVerifyClientCert, tlsConfig.ClientAuth)
8888
}
8989

90+
func (s *TLSTestSuite) TestLoadTLSWithOnlyCA() {
91+
s.settings.GlobalSettings().Set(config.SocketUseSSL, "Y")
92+
s.settings.GlobalSettings().Set(config.SocketCAFile, s.CAFile)
93+
94+
tlsConfig, err := loadTLSConfig(s.settings.GlobalSettings())
95+
s.Nil(err)
96+
s.NotNil(tlsConfig)
97+
98+
s.NotNil(tlsConfig.RootCAs)
99+
s.NotNil(tlsConfig.ClientCAs)
100+
}
101+
102+
func (s *TLSTestSuite) TestLoadTLSWithoutSSLWithOnlyCA() {
103+
s.settings.GlobalSettings().Set(config.SocketCAFile, s.CAFile)
104+
105+
tlsConfig, err := loadTLSConfig(s.settings.GlobalSettings())
106+
s.Nil(err)
107+
s.Nil(tlsConfig)
108+
}
109+
90110
func (s *TLSTestSuite) TestServerNameUseSSL() {
91111
s.settings.GlobalSettings().Set(config.SocketUseSSL, "Y")
92112
s.settings.GlobalSettings().Set(config.SocketServerName, "DummyServerNameUseSSL")

0 commit comments

Comments
 (0)