Python MySQLDB SSL-соединение - PullRequest
6 голосов
/ 04 июля 2010

Я установил в своей базе данных требование ssl.Я подтвердил, что могу подключиться к БД через командную строку, передав открытый ключ [и подтвердил, что не могу подключиться, если не передам открытый ключ]

Я получаю ту же ошибку в своем приложении djangoкак, когда я не передаю ключ.Кажется, я неправильно настроил мои settings.py, чтобы передать путь к открытому ключу.

Что не так с моими настройками?Я использую python-mysqldb.

DATABASES['default'] = {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': 'my-host-goes-here',
    'USER': 'my-user-goes-here',
    'NAME': 'my-db-name-goes-here',
    'PASSWORD': 'my-db-pass-goes-here',
    'OPTIONS': {
        'SSL': '/path/to/cert.pem',
    }
}

Ответы [ 2 ]

8 голосов
/ 04 июля 2010

Нашел ответ.ВАРИАНТЫ должны выглядеть следующим образом:

'OPTIONS': {'ssl': {'ca':'/path/to/cert.pem',},},

Убедитесь, что вы держите запятые, в противном случае синтаксический анализ не удался?

1 голос
/ 05 сентября 2012

Клиент mysql должен быть снабжен тремя ключами:

CA сертификат сертификат клиента клиентский ключ

Инструкции по созданию этих ключей и настройке сервера см. В документации Mysql: http://dev.mysql.com/doc/refman/5.5/en/creating-ssl-certs.html

ПРИМЕЧАНИЕ. Существует открытая проблема, связанная с использованием openssl v1.0.1 для создания сертификатов для mysql 5.5.x (http://bugs.mysql.com/bug.php?id=64870)

Это пример записи для файла настроек Django:

DATABASES = {
'default': {
              'ENGINE': 'django.db.backends.mysql',  
              'NAME': '<DATABASE NAME>',                     
              'USER': '<USER NAME>',
              'PASSWORD': '<PASSWORD>',
              'HOST': '<HOST>', 
              'PORT': '3306'    
              'OPTIONS':  {
                        'ssl': {'ca': '<PATH TO CA CERT>',
                                'cert': '<PATH TO CLIENT CERT>',
                                'key': '<PATH TO CLIENT KEY>'
                                }
                          }
            }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...