Summary / Описание проблемы
Ранее в рамках PR #260 (feat(connections): add UI for PostgreSQL SSL client certificates) в форму PostgreSQL были добавлены поля выбора клиентских SSL-сертификатов (Root CA, Client Certificate, Client Key).
При проверке остальных драйверов и форм подключения выявилось, что эта функциональность отсутствует для других баз данных:
- MySQL (mysql_connection_form.dart): Присутствует только базовый чекбокс Use SSL/TLS (_useSSL), но нет UI и обработки путей к сертификатам Root CA, Client Cert и Client Key для mTLS/SSL аутентификации.
- MongoDB (mongodb_connection_form.dart): Присутствует только базовый чекбокс Use SSL/TLS (_useSSL), без возможности указать клиентские сертификаты и Root CA.
- Redis (redis_connection_form.dart и redis_connection.dart): В драйвере и форме Redis поддержка SSL/TLS (rediss:// / SecureSocket) и клиентских сертификатов полностью отсутствует — подключение возможно только по открытому незашифрованному TCP сокету.
Scope & Component
- Scope: desktop
- Component: Connections / Drivers
- Kind: enhancement
- Severity: medium
- Detected in version: dev / 0.5.0
Местоположение в коде
- Файлы:
- lib/features/mysql/mysql_connection_form.dart (строка ~360) и lib/core/database/mysql_connection.dart
- lib/features/mongodb/mongodb_connection_form.dart (строка ~427) и lib/core/database/mongodb_connection.dart
- lib/features/redis/redis_connection_form.dart и lib/core/database/redis_connection.dart
Шаги воспроизведения
- Открыть диалог создания нового подключения для MySQL, MongoDB или Redis.
- Обратить внимание на блок настроек безопасности.
- Фактический результат: В MySQL и MongoDB есть только чекбокс Use SSL/TLS, в Redis настройки SSL/TLS отсутствуют вовсе. Указать клиентские сертификаты (.pem, .crt, .key) или Root CA для защищенных корпоративных или облачных БД (AWS RDS/ElastiCache, Google Cloud SQL, Atlas) невозможно.
- Ожидаемый результат: Во всех драйверах и формах подключения должен быть унифицированный блок выбора SSL-сертификатов (Root CA, Client Certificate, Client Key) с корректной передачей SecurityContext на низком уровне драйвера.
Acceptance Criteria / Критерии приемки
- В форму mysql_connection_form.dart добавлены поля выбора SSL-сертификатов (Root CA, Client Cert, Client Key) по аналогии с postgresql_connection_form.dart, а драйвер mysql_connection.dart передает эти сертификаты при установке соединения.
- В форму mongodb_connection_form.dart и сервис mongodb_connection.dart добавлена поддержка клиентских сертификатов при TLS-подключении (mongo_dart / SecurityContext).
- В форму redis_connection_form.dart и драйвер redis_connection.dart добавлена поддержка SecureSocket.connect для rediss:// соединений с опциональными SSL-сертификатами.
Reactions are currently unavailable
Summary / Описание проблемы
Ранее в рамках PR #260 (feat(connections): add UI for PostgreSQL SSL client certificates) в форму PostgreSQL были добавлены поля выбора клиентских SSL-сертификатов (Root CA, Client Certificate, Client Key).
При проверке остальных драйверов и форм подключения выявилось, что эта функциональность отсутствует для других баз данных:
Scope & Component
Местоположение в коде
Шаги воспроизведения
Acceptance Criteria / Критерии приемки