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>
This commit is contained in:
Andrei
2025-03-06 20:35:51 -08:00
committed by Andrei Nazarov
parent 74fd106b21
commit 12d48d415d

View File

@@ -16,9 +16,11 @@
package org.springframework.cloud.gateway.config;
import java.io.IOException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;
@@ -354,10 +356,12 @@ public class GatewayAutoConfiguration {
@ConditionalOnMissingBean(GrpcSslConfigurer.class)
@ConditionalOnClass(name = "io.grpc.Channel")
public GrpcSslConfigurer grpcSslConfigurer(HttpClientProperties properties)
throws KeyStoreException, NoSuchAlgorithmException {
throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
TrustManagerFactory trustManagerFactory = TrustManagerFactory
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(KeyStore.getInstance(KeyStore.getDefaultType()));
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(null);
trustManagerFactory.init(keyStore);
return new GrpcSslConfigurer(properties.getSsl());
}