MySQL Connector / NET SSL выключает сервер - PullRequest
3 голосов
/ 29 марта 2010

при попытке подключиться к моему серверу через MySQL Connector / NET с использованием SSL с сертификатом PFX У меня проблема с установлением соединения. Я получаю тайм-аут соединения. И сервер, вероятно, падает (я точно не знаю, потому что я не управляю сервером).

В Windows XP все работает нормально, но не в Windows 7.

Где проблема? В Windows 7 или на сервере (MySQL 5.0)? Иногда я получаю сообщение об ошибке «Вызов интерфейса SSPI Failed», но не каждый раз. Иногда только ошибка времени ожидания соединения.

1 Ответ

1 голос
/ 08 ноября 2011

XP и Windows 7 используют разные структуры разрешений в сертификатах. Если вы используете PFX из хранилища сертификатов, Win7 будет запрашивать повышение прав при попытке установить соединение. Если вы не можете предоставить его - например, если ваше приложение не имеет заголовка - время соединения истекло.

Откройте диспетчер сертификатов (, попробуйте это ) и найдите сертификат, который вы используете для аутентификации в MySQL. Вам может понадобиться доступный открытый ключ, а ваш открытый ключ может иметь неправильные разрешения. Смотрите здесь для получения подробной информации о том, как изменить разрешения.

Существует также вероятность того, что ваш сертификат окажется в неправильном хранилище, но это также можно исправить с помощью оснастки MMC хранилища сертификатов.

Если вы используете свой PFX из файла и можете импортировать его в хранилище, попробуйте это. В противном случае вам, скорее всего, потребуется установить разрешения для сертификата после импорта перед подключением.

Журналы сервера, если таковые имеются, могут также дать вам информацию о том, почему не удалось установить соединение. Вот несколько вариантов:

  • Если сервер вообще не видит сертификат, это, вероятно, проблема с разрешениями на стороне клиента при доступе к сертификату.
  • Если сервер видит сертификат, но не может его аутентифицировать, это часто проблема с открытым ключом. Формат PFX является метаформатом-держателем, и не все файлы PFX содержат правильные компоненты. Это также может подсказать вам, что сказал @Dremation, возможно, ваш сертификат просто не установлен на сервере.
  • Существует также вероятность того, что ваши часы не синхронизированы. Если вы можете проверить часы сервера, убедитесь, что они правильно и часто синхронизируются с некоторыми стандартными часами. Затем убедитесь, что ваш клиент тоже. Максимальное отклонение по эмпирическому правилу составляет 5 минут, поэтому 2,5 минуты в противоположных направлениях на клиенте и сервере могут вызвать ошибку аутентификации.
  • Где-то на вашем клиенте должна быть опция для настройки количества повторных попыток. Если это ошибка сертификата, и вы можете получить ее с ошибкой с первой попытки, по крайней мере, вы получите ошибку сертификата немедленно, вместо того, чтобы проблема была включена в тайм-аут соединения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...