Skip to content

Commit 199650b

Browse files
committed
Update HttpContactPointBootstrap.scala
1 parent 4cdb5c6 commit 199650b

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

management-cluster-bootstrap/src/main/scala/org/apache/pekko/management/cluster/bootstrap/internal/HttpContactPointBootstrap.scala

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,26 @@ private[bootstrap] object HttpContactPointBootstrap {
6262

6363
private case object ProbeTick extends DeadLetterSuppression
6464
private val ProbingTimerKey = "probing-key"
65+
66+
def generateSSLContext(settings: ClusterBootstrapSettings): SSLContext = {
67+
val factory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
68+
val keyStore = KeyStore.getInstance("PKCS12")
69+
keyStore.load(null)
70+
factory.init(keyStore, Array.empty)
71+
val km: Array[KeyManager] = factory.getKeyManagers
72+
val caPath = settings.contactPoint.httpClient.caPath.trim
73+
val tm: Array[TrustManager] = if (caPath.isEmpty) {
74+
Array.empty
75+
} else {
76+
val certificates = PemManagersProvider.loadCertificates(caPath)
77+
PemManagersProvider.buildTrustManagers(certificates)
78+
}
79+
val tlsVersion = settings.contactPoint.httpClient.tlsVersion.trim
80+
val random: SecureRandom = new SecureRandom
81+
val sslContext = SSLContext.getInstance(tlsVersion)
82+
sslContext.init(km, tm, random)
83+
sslContext
84+
}
6585
}
6686

6787
/**
@@ -95,28 +115,8 @@ private[bootstrap] class HttpContactPointBootstrap(
95115

96116
private implicit val sys: ActorSystem = context.system
97117

98-
private lazy val sslContext = {
99-
val factory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
100-
val keyStore = KeyStore.getInstance("PKCS12")
101-
keyStore.load(null)
102-
factory.init(keyStore, Array.empty)
103-
val km: Array[KeyManager] = factory.getKeyManagers
104-
val caPath = settings.contactPoint.httpClient.caPath.trim
105-
val tm: Array[TrustManager] = if (caPath.isEmpty) {
106-
Array.empty
107-
} else {
108-
val certificates = PemManagersProvider.loadCertificates(caPath)
109-
PemManagersProvider.buildTrustManagers(certificates)
110-
}
111-
val tlsVersion = settings.contactPoint.httpClient.tlsVersion.trim
112-
val random: SecureRandom = new SecureRandom
113-
val sslContext = SSLContext.getInstance(tlsVersion)
114-
sslContext.init(km, tm, random)
115-
sslContext
116-
}
117-
118118
private lazy val clientSslContext: HttpsConnectionContext =
119-
ConnectionContext.httpsClient(sslContext)
119+
ConnectionContext.httpsClient(HttpContactPointBootstrap.generateSSLContext(settings))
120120

121121
private val http = Http()
122122

0 commit comments

Comments
 (0)