Use context class loader when loading auto-configured SSL bundles
Update `SslAutoConfiguration` to the `ApplicationContext` class loader
when loading SSL resources. Prior to this commit, the thread context
class loader was used to load resources which could be incorrect.
Specifically, when using a `ForkJoinPool` the thread context classloader
defaults to the JRE `AppClassLoader` which does not include uber jar
content.
The underlying `JksSslStoreBundle` class and `PemSslStore.load(...)`
method have been updated so support using a provided `ResourceLoader`.
Fixes gh-42468
@ -97,18 +99,31 @@ public final class PropertiesSslBundle implements SslBundle {
@@ -97,18 +99,31 @@ public final class PropertiesSslBundle implements SslBundle {
@ -128,14 +143,25 @@ public final class PropertiesSslBundle implements SslBundle {
@@ -128,14 +143,25 @@ public final class PropertiesSslBundle implements SslBundle {
@ -45,6 +45,8 @@ public class JksSslStoreBundle implements SslStoreBundle {
@@ -45,6 +45,8 @@ public class JksSslStoreBundle implements SslStoreBundle {
privatefinalJksSslStoreDetailskeyStoreDetails;
privatefinalResourceLoaderresourceLoader;
privatefinalSupplier<KeyStore>keyStore;
privatefinalSupplier<KeyStore>trustStore;
@ -55,8 +57,22 @@ public class JksSslStoreBundle implements SslStoreBundle {
@@ -55,8 +57,22 @@ public class JksSslStoreBundle implements SslStoreBundle {
@ -116,8 +132,7 @@ public class JksSslStoreBundle implements SslStoreBundle {
@@ -116,8 +132,7 @@ public class JksSslStoreBundle implements SslStoreBundle {