Проблема с SSL-сертификат

Рейтинг: 0Ответов: 0Опубликовано: 11.06.2023

Используя я для приложения на 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, и может подсказать, так как у меня есть предположение, что подключение не полное. Может дело в самом сертификате, как например указания пути? Прошу помощи и совета.

Ответы

Ответов пока нет.