Драйвер npgsql поддерживает следующий параметр sslrootcert=<<certname>>
? этот параметр не учитывается в строке подключения, так как не имеет никакого эффекта. Я импортировал сертификат на веб-сервер и обновленную строку подключения.
npgsql подключается к AWS RDS PostgreSQL с помощью SSL
Ответы (1)
Npgsql в настоящее время не позволяет указывать сертификат через строку подключения, вам необходимо предоставить сертификат программно , как описано в документации. Уже отслеживается проблема с указанием сертификата через строку подключения.
Кстати, вы видели документацию, в которой говорилось, что вы можете использовать sslrootcert=<<certname>>
где угодно с Npgsql?
person
Shay Rojansky
schedule
20.11.2018
Я не вижу документации по sslrootcert ни в одной документации npgsql. Я использую npgsql и AWS RDS postgres. Одно из моих требований - использовать SSL, и документ AWS postgres имеет sslrootcert в качестве параметра
psql -h testpg.cdhmuqifdpib.us-east-1.rds.amazonaws.com -p 5432 \ "dbname=testpg user=testuser sslrootcert=rds-ca-2015-root.pem sslmode=verify-full"
- person varun7447; 20.11.2018
Параметры psql нельзя использовать в Npgsql как есть - это два разных клиента. Как я уже писал выше, вы можете использовать SSL с Npgsql, но вам нужно указать сертификат программно.
- person Shay Rojansky; 20.11.2018
Да, я знаю, что это два разных клиента, но мне интересно, достаточно ли я использую
sslmode
для подключения к AWS RDS postgresql с помощью npgsql или нужен ли sslrootcert
для rds
- person varun7447; 20.11.2018
RDS - это просто PostgreSQL, в этом нет ничего особенного. Кроме того, указание сертификата корневого ЦС необходимо только для проверки сертификата сервера, когда он подписан нестандартным ЦС - обычно это не требуется. Клиенты обычно просто должны предоставить свой собственный сертификат для аутентификации на сервере. Подробнее обо всем этом вы можете прочитать в документации PostgreSQL.
- person Shay Rojansky; 21.11.2018
Согласно документу AWS, корневой сертификат предоставляется AWS. docs.aws.amazon.com/ AmazonRDS / latest / UserGuide / есть флаг для передачи корневого сертификата. возможно, когда мы импортируем сертификат на сервер приложений, этот параметр sslrootcert не требуется.
- person varun7447; 21.11.2018
Правильно - если вы импортируете сертификат в доверенное корневое хранилище вашего сервера приложений, это, вероятно, лучший способ. Вы также можете указать
Trust Server Certificate=true
, чтобы полностью обойти проверку сертификата сервера, но это менее безопасно и не идеально. В противном случае вы можете предоставить RemoteCertificateValidationCallback
в NpgsqlConnection, см. stackoverflow.com/questions/7695438/ для получения дополнительных сведений.
- person Shay Rojansky; 21.11.2018