Skip to content

Commit 12d48d4

Browse files
skydreamerrAndrei Nazarov
authored andcommitted
Fix keyStore bug in GatewayAutoConfiguration
Fixes java.security.KeyStoreException: Uninitialized keystore Per JDK documentation keystore should be initialized before use. Signed-off-by: Andrei <skydreamerr@gmail.com>
1 parent 74fd106 commit 12d48d4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
package org.springframework.cloud.gateway.config;
1818

19+
import java.io.IOException;
1920
import java.security.KeyStore;
2021
import java.security.KeyStoreException;
2122
import java.security.NoSuchAlgorithmException;
23+
import java.security.cert.CertificateException;
2224
import java.util.List;
2325
import java.util.Set;
2426
import java.util.function.Supplier;
@@ -354,10 +356,12 @@ public JsonToGrpcGatewayFilterFactory jsonToGRPCFilterFactory(GrpcSslConfigurer
354356
@ConditionalOnMissingBean(GrpcSslConfigurer.class)
355357
@ConditionalOnClass(name = "io.grpc.Channel")
356358
public GrpcSslConfigurer grpcSslConfigurer(HttpClientProperties properties)
357-
throws KeyStoreException, NoSuchAlgorithmException {
359+
throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
358360
TrustManagerFactory trustManagerFactory = TrustManagerFactory
359361
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
360-
trustManagerFactory.init(KeyStore.getInstance(KeyStore.getDefaultType()));
362+
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
363+
keyStore.load(null);
364+
trustManagerFactory.init(keyStore);
361365

362366
return new GrpcSslConfigurer(properties.getSsl());
363367
}

0 commit comments

Comments
 (0)