@@ -17,6 +17,7 @@ import scala.collection.immutable
1717import scala .language .existentials
1818
1919import com .typesafe .config .Config
20+ import com .typesafe .config .ConfigFactory
2021import com .typesafe .sslconfig .util .EnrichedConfig
2122import com .typesafe .sslconfig .util .LoggerFactory
2223
@@ -477,7 +478,9 @@ class SSLConfigParser(c: EnrichedConfig, classLoader: ClassLoader, loggerFactory
477478
478479 val trustManagers = parseTrustManager(c.get[EnrichedConfig ](" trustManager" ))
479480
480- val sslParametersConfig = parseSSLParameters(c.get[EnrichedConfig ](" sslParameters" ))
481+ val sslParametersConfig = parseSSLParameters(
482+ c.getOptional[EnrichedConfig ](" sslParameters" ).getOrElse(new EnrichedConfig (ConfigFactory .empty()))
483+ )
481484
482485 new SSLConfigSettings (
483486 default = default,
@@ -504,7 +507,7 @@ class SSLConfigParser(c: EnrichedConfig, classLoader: ClassLoader, loggerFactory
504507 val allowMessages = config.getOptional[Boolean ](" allowLegacyHelloMessages" )
505508 val allowUnsafeRenegotiation = config.getOptional[Boolean ](" allowUnsafeRenegotiation" )
506509 val disableHostnameVerification = config.getOptional[Boolean ](" disableHostnameVerification" ).getOrElse(false )
507- val disableSNI = config.get [Boolean ](" disableSNI" )
510+ val disableSNI = config.getOptional [Boolean ](" disableSNI" ).getOrElse( false )
508511 val acceptAnyCertificate = config.get[Boolean ](" acceptAnyCertificate" )
509512
510513 new SSLLooseConfig (
@@ -626,7 +629,11 @@ class SSLConfigParser(c: EnrichedConfig, classLoader: ClassLoader, loggerFactory
626629 case None | Some (_) => ClientAuth .Default
627630 }
628631
629- val protocols = config.getSeq[String ](" protocols" )
632+ val protocols = if (config.underlying.hasPath(" protocols" )) {
633+ config.getSeq[String ](" protocols" )
634+ } else {
635+ immutable.Seq .empty[String ]
636+ }
630637
631638 new SSLParametersConfig (clientAuth, protocols)
632639 }
0 commit comments