From c6c16cd488fe9c4aa44ecd4bee21ed96b0e072f0 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 15 Aug 2017 12:39:05 +0300 Subject: [PATCH] ssl database --- application/Espo/Core/Loaders/EntityManager.php | 5 ++++- application/Espo/ORM/EntityManager.php | 13 ++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/Loaders/EntityManager.php b/application/Espo/Core/Loaders/EntityManager.php index a53a9c0f78..2fc30406a0 100644 --- a/application/Espo/Core/Loaders/EntityManager.php +++ b/application/Espo/Core/Loaders/EntityManager.php @@ -45,7 +45,10 @@ class EntityManager extends Base 'metadata' => $this->getContainer()->get('ormMetadata')->getData(), 'repositoryFactoryClassName' => '\\Espo\\Core\\ORM\\RepositoryFactory', 'driver' => $config->get('database.driver'), - 'platform' => $config->get('database.platform') + 'platform' => $config->get('database.platform'), + 'sslCA' => $config->get('database.sslCA'), + 'sslCert' => $config->get('database.sslCert'), + 'sslKey' => $config->get('database.sslKey') ); $entityManager = new \Espo\Core\ORM\EntityManager($params); diff --git a/application/Espo/ORM/EntityManager.php b/application/Espo/ORM/EntityManager.php index 75d784ebf4..0b38429438 100644 --- a/application/Espo/ORM/EntityManager.php +++ b/application/Espo/ORM/EntityManager.php @@ -135,7 +135,18 @@ class EntityManager $platform = strtolower($params['platform']); - $this->pdo = new \PDO($platform . ':host='.$params['host'].';'.$port.'dbname=' . $params['dbname'] . ';charset=' . $params['charset'], $params['user'], $params['password']); + $options = array(); + if (isset($params['sslCA'])) { + $options[\PDO::MYSQL_ATTR_SSL_CA] = $params['sslCA']; + } + if (isset($params['sslCert'])) { + $options[\PDO::MYSQL_ATTR_SSL_CERT] = $params['sslCert']; + } + if (isset($params['sslKey'])) { + $options[\PDO::MYSQL_ATTR_SSL_KEY] = $params['sslKey']; + } + + $this->pdo = new \PDO($platform . ':host='.$params['host'].';'.$port.'dbname=' . $params['dbname'] . ';charset=' . $params['charset'], $params['user'], $params['password'], $options); $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); }