В Spring Boot я создаю микро-сервис, который должен взаимодействовать с существующим сервисом аутентификации.
Я настроил конфигурацию OAuth в Spring Boot, но при попытке соединения с внешней службой аутентификации я вижу следующую ошибку.
Could not fetch user details: class org.springframework.web.client.ResourceAccessException, I/O error on GET request for "https://somedomain.com/profile": sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Это происходит потому, чтосертификат в службе удаленной аутентификации недействителен, поэтому ему не нравится.
Как мне решить эту проблему?
Я пытался использовать openssl для загрузки сертификата доменов, иЯ добавил это в хранилище ключей Java, но это не решило проблему.
Чтобы получить и установить сертификат, я сделал следующее:
openssl s_client -showcerts -connect somedomain.com:443
keytool -importcert -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -file /Users/myuser/Downloads/plplpl.crt
Меня спросили, хочу ли ячтобы доверять сертификату, я выбрал «да».