vagrantからPDOでazure mysqlにssl接続する

以下のURLから証明書を取得し、BaltimoreCyberTrustRoot.crt.pemで、vagrantに保存する。
https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem

azure mysqlのadminで接続のセキュリティがSSLを強制する、となっているか確認する。

optionで、PDO::MYSQL_ATTR_SSL_CA => ‘BaltimoreCyberTrustRoot.crt.pem’ と書きます。

$dsn = "mysql:dbname=sier;host=namysql.database.windows.net";
$user = "hoge";
$password = "hogehoge";
$options = array(
  PDO::MYSQL_ATTR_SSL_CA => 'BaltimoreCyberTrustRoot.crt.pem' 
);
try {
    $dbh = new PDO($dsn, $user, $password, $options);
} catch (PDOException $e){
    print('connection failed:'.$e->getMessage());
} 

$sql = "select * from forein";
// $sql = "show status like 'ssl_cipher'";
$stmt = $dbh->query($sql);
 
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r('<pre>');
var_dump($result);
print_r('</pre>');

$sql = “show status like ‘ssl_cipher'”;と書くと、ssl通信の場合、[“Value”]=>string(10) “AES256-SHA” で返ってきます。

> .pemは、Base64で符号化された証明書です。.pem SSL サーバ証明書(連結SSLサーバ証明書)では複数のサーバ証明書を1ファイルに連結させることができ、SSLサーバ証明書のインストール用によく使われます。

いいね~
しかし、azure始めた途端、参照するブログ書いている方のレベルが高くなった気が。。。

では、続いてgit commit/pushしましょう。