Проблема с SSL-сертификат
Используя я для приложения на C# базу данных Postgresql, которая хранится на Yandex Cloud в Managed Service for PostgreSQL. Пробовал предлагаемый код для подключения а именно:
var host = "c-<идентификатор кластера>.rw.mdb.yandexcloud.net";
var port = "6432";
var db = "<имя БД>";
var username = "<имя пользователя>";
var password = "<пароль пользователя>";
var connString = $"Host={host};Port={port};Database={db};Username={username};Password={password};Ssl Mode=VerifyFull;";
Подставил свои параметры, не работает. Так же требовалось установить сертификат, установил его по их же документации:mkdir
$HOME\AppData\Roaming\postgresql; `
curl.exe -o $HOME\AppData\Roaming\postgresql\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Единственный способ, хоть как то подключится это установить в SSL Mode=Required. Но тогда подключение не до конца зашифрованное и допускает MiM-атаки. Я уже изменил код и в данный момент он выглядит так:
static string connString = $"Host={Properties.Resources.host};Port={Properties.Resources.port};Database={Properties.Resources.db};Username={Properties.Resources.dark};Password={Properties.Resources.souls};Ssl Mode=Required;
Но все же требуется сделать полную проверку сертификата. Если меняю параметр или делаю как в документации то получаю следующую ошибку:Npgsql.NpgsqlException: "Exception while performing SSL handshake". Может кто сталкивался с такой проблемой и не в Yandex Cloud, и может подсказать, так как у меня есть предположение, что подключение не полное. Может дело в самом сертификате, как например указания пути? Прошу помощи и совета.