通過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,
));