delphi做mysql服务器_通过SSL从Delphi程序连接到远程MySQL服务器

我对SSL原理不太了解,只是想让加密对我有用.

我有一个数据库和一个指定了“ REQUIRE X509”的用户.

已按照MySQL文档中的说明创建了必要的证书,并且可以正常工作-我可以从Windows命令行连接到服务器.

当我尝试使用MySQL Client API从我的程序中执行相同操作时(如果没有SSL,该程序也可以正常工作),就会出现问题.

使用的单位是:http://www.audio-data.de/mysql.html.

这些是我的操作路径:

1)如果我只是在mysql_real_connect()之前添加mysql_ssl_set()调用(使用适当的参数),则最后一个会给出通用SSL连接错误.

2)en / mysql-ssl-set.html中的MySQL文档说,该函数始终返回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下远程运行;但是,通过SSL连接到它时5.0 mysql-client程序没有麻烦),但没有成功.

有人熟悉这个问题吗?非常感谢您的帮助&对于这个问题中的错误感到抱歉.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值