Ошибка SSL сертификата при отправке GET запроса в Telegram Bot

Пишу бота для телеграмма, понадобилось перевести БД (MongoDB) в облако. Платформа, на которой я её разместил подразумевает защиту SSL сертификатом. Долго с этим провозился, но в итоге получилось.

Чтобы использовать сертификат у меня прописано

System.setProperty("javax.net.ssl.trustStore", "C:/Users/krugl/.mongodb/mongostore")
System.setProperty("javax.net.ssl.trustStorePassword", "password")

Подключаюсь к БД строкой

KMongo.createClient("mongodb://user:password@HOSTADRESS:PORT/BOTNAME?ssl=true")

И все работает. Но когда я пытаюсь отправить боту GET запрос для смены webhook

val url =
        URL("https://api.telegram.org/bot${mySuperTelegramBot.botToken}/setWebhook?url=${conf.webHookPath}")
    val con = url.openConnection() as HttpURLConnection
    con.requestMethod = "GET"
    con.setRequestProperty("Content-Type", "application/json")
    con.connectTimeout = 1000
    con.readTimeout = 1000
    con.inputStream
    con.disconnect()

Или отправить пользователю сообщение методом execute() мне выдает ошибку

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Как я понимаю, что отправке этих запросов мешает сертификат, который я использую для подключения к БД, но как сделать, чтобы они не конфликтовали, я не понимаю.


Ответы (1 шт):

Автор решения: KaRtoHHka

Благодаря комментариям Eugene Krivenja у меня получилось решить проблему, действительно хватило того, чтобы удалить созданный мной trustStore и добавить сертификат в базовый trustStore java

В PowerShell командой

\keytool -import -trustcacerts -keystore C:\pathToJDK\lib\security\cacerts -storepass changeit -noprompt -alias yourAliasName -file path\to\certificate.crt
→ Ссылка