Я написал плагин аутентификации MySQL, для которого в настоящее время требуется клиентский плагин mysql_clear_password. Я хочу использовать шифрование для большей безопасности, в то же время позволяя серверу расшифровывать пароль и обрабатывать его как открытый текст.
Похоже, это единственный встроенный плагин, который поддерживает двустороннее шифрование. (в отличие от одностороннего хеширования) — это плагин sha256_password. Этот плагин делает именно то, что мне нужно, поэтому вместо того, чтобы изобретать велосипед, я бы хотел использовать его в качестве клиентского плагина (используя свойство client_auth_plugin).
Это избавит меня от необходимости 1) писать собственный клиентский плагин и 2) требовать от каждого пользователя установки указанного плагина. Однако мне все еще нужно настроить обмен ключами и расшифровку на стороне сервера. Для этого требуется доступ к открытому и закрытому ключам сервера, поэтому я посмотрел исходный код sha256_password на наличие подсказок по получению пары ключей. Похоже, он использует структуру Rsa_authentication_keys, которая не определена в общедоступном заголовочном файле (т. е. я не могу включить заголовочный файл в свой плагин), а также системные переменные.
В идеале я хотел бы получить доступ к указателю g_caching_sha2_rsa_keys, чтобы ключи не загружались в память дважды. Однако я не думаю, что это возможно, поскольку файлы заголовков не видны моему плагину. Я надеюсь, что существует способ получить ключевые файлы из системных переменных и загрузить их самостоятельно, но я не знаю, можно ли получить доступ к системным переменным за пределами исходного файла, который их определяет.
Возможно ли это?
Подробнее здесь: https://stackoverflow.com/questions/784 ... n-a-plugin
Могу ли я получить доступ к паре ключей MySQL в плагине? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение