我应该在哪里传递客户端证书以连接到PostgreSQL数据库?我需要将这些证书传递给PDO构造函数中的dsn或options参数吗?我在网上找不到任何文档。
我在Ubuntu 16.04.1上使用PHP 7.0.22。 我已启用了pgsql驱动程序的SSL支持。 我在PDO类中发现了这些常量:PDO :: MYSQL_ATTR_SSL_CA,PDO :: MYSQL_ATTR_SSL_KEY和其他几个,但显然这些是针对MySQL而不是PGSQL。
编辑:
以下是基于下面答案的可行安全实现。
我在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,
));