-
Notifications
You must be signed in to change notification settings - Fork 41.5k
Closed
Description
SslHealthIndicator throws NullPointerException when using SslBundle with SslStoreBundle.NONE.
Stacktrace
java.lang.NullPointerException: Cannot invoke "java.security.KeyStore.aliases()" because "keyStore" is null
at org.springframework.boot.info.SslInfo$BundleInfo.extractCertificateChains(SslInfo.java:80) ~[spring-boot-3.4.0-RC1.jar:3.4.0-RC1]
at org.springframework.boot.info.SslInfo$BundleInfo.<init>(SslInfo.java:75) ~[spring-boot-3.4.0-RC1.jar:3.4.0-RC1]
at org.springframework.boot.info.SslInfo.lambda$getBundles$0(SslInfo.java:60) ~[spring-boot-3.4.0-RC1.jar:3.4.0-RC1]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[na:na]
at org.springframework.boot.info.SslInfo.getBundles(SslInfo.java:61) ~[spring-boot-3.4.0-RC1.jar:3.4.0-RC1]
at org.springframework.boot.actuate.ssl.SslHealthIndicator.doHealthCheck(SslHealthIndicator.java:51) ~[spring-boot-actuator-3.4.0-RC1.jar:3.4.0-RC1]
Steps to Reproduce
- Create a project with
spring-boot-starter-web
andspring-boot-starter-actuator
- Register an
SslBundle
usingSslStoreBundle.NONE
@Bean
public SslBundleRegistrar registrar() {
final String[] ciphers = new String[] {
"TLS_AES_256_GCM_SHA384"
};
final String[] protocols = new String[] {
"TLSv1.2"
};
return registry -> registry.registerBundle("sample", SslBundle.of(SslStoreBundle.NONE,
SslBundleKey.NONE, SslOptions.of(ciphers, protocols)));
}
- Observe error in logs and at /actuator/health endpoint.
This was observed using Spring Boot 3.4.0-RC1
Metadata
Metadata
Assignees
Labels
type: bugA general bugA general bug