通过SSL连接到PGSQL我会在哪里能够通过我的客户端证书连接到PostgreSQL数据库?我是否必须在PDO构造函数的dsn
或options
参数中传递这些证书?我无法在线找到任何文档。通过PHP PDO
我使用Ubuntu的16.04.1 PHP 7.0.22。我为pgsql驱动程序启用了SSL支持。我确实在PDO类中找到了这些常量:PDO::MYSQL_ATTR_SSL_CA
,PDO::MYSQL_ATTR_SSL_KEY
和其他几个,但这些显然是mySQL而不是PGSQL。
编辑
这是基于下面的答案工作安全的实现:
$dbh = new PDO('pgsql:localhost=host;port=26257;dbname=bank;sslmode=require;sslcert=[path]/client.maxroach.crt;sslkey=[path]/client.maxroach.key;sslrootcert=[path]/ca.crt;',
'maxroach', null, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => true,
));