PDO无法使用SSL

时间:2014-09-30 13:20:40

标签: php ssl pdo

如果我运行此代码需要SSL,它将无法正常工作(用户拒绝访问)但没有SSL它可以正常工作。

服务器端可能会发生什么阻止此事?显然不是密码/用户配置和使用SSL的服务器的另一个连接工作正常,所以我知道服务器正在接受加密连接。

有关信息,我已签出Connect to remote MySQL server with SSL from PHP

$dbE = new PDO(
    'mysql:dbname=DB;host=IP',
    USER,
    PASS,
    array(
        PDO::MYSQL_ATTR_SSL_KEY => 'D:\ssl\mysql\client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT => 'D:\ssl\mysql\client-cert.pem',
        PDO::MYSQL_ATTR_SSL_CA => 'D:\ssl\mysql\ca-cert.pem'
    )
);

1 个答案:

答案 0 :(得分:1)

经过大量的调查,重建证书和抨击我发现了(ptl)。问题是(我在任何地方都没有找到这个),但客户端证书必须是COPIED 从服务器到客户端。 PDO配置中使用的路径是指向ca / cert / key的CLIENTS副本的路径,而不是服务器上的路径。我没有意识到这一点,我认为需要稍微清楚一些。

即使是http://dev.mysql.com/doc/refman/5.0/en/creating-ssl-certs.html上的示例也意味着客户端密钥驻留在服务器上而不是客户端上。我希望这有用。