我對SSL原理並不瞭解,但只是希望加密適用於我。 我有一個DB和一個指定了「REQUIRE X509」的用戶。 必要的證書已按照MySQL文檔中的描述創建,並且運行良好 - 我可以從Windows命令行連接到服務器。通過SSL從Delphi程序連接到遠程MySQL服務器
問題出現了,當我試圖從我的程序使用MySQL客戶端API(沒有SSL,程序也可以正常工作)做同樣的事情。 使用的單位是:http://www.audio-data.de/mysql.html。 1)如果我只是在mysql_real_connect()之前添加了mysql_ssl_set()調用(具有適當的參數),最後一個給出了通用的SSL連接錯誤。 2)MySQL文檔在en/mysql-ssl-set.html中說,函數總是返回0.但是,當我檢查它時,它看起來結果是編號11150848.然後我寫它像那樣:
showmessage(inttostr(mysql_ssl_set(mys, '.\certs\client-key.pem', '.\certs\client-cert.pem', '.\certs\ca-cert.pem', nil)));
...並重復該行8次。 每次它返回一個稍大的數字 - 11158528,11158784,11159040,...和最後兩次調用的兩個零。
之後mysql_real_connect()終於成功了!該程序甚至設法執行一些查詢,爲它們返回適當的結果(我知道這些數據),但之後它崩潰,出現訪問衝突:寫地址...在某個地方。 碰撞點在運行和代碼的輕微變化之間變化。
它看起來很像版本不兼容問題。我嘗試了MySQL 5.0和5.1 Windows安裝的庫(服務器是5.1並且遠程運行在Linux下;但是,當5.0連接到它時,5.0 mysql-client程序沒有麻煩),但沒有成功。
有人熟悉這個問題嗎?非常感謝幫助&抱歉的問題中的錯誤。
這樣做。你可能節省了很多我的時間。 Tnanks。 – hhyhbpen 2010-11-28 15:34:43