PHP

  (最終更新日:2014.08.26)

PHPでクライアント証明書(CA証明書)を使ってアクセスする方法

PHPで、所有しているクライアント証明書(CA証明書)を使ってクライアント認証サイトにアクセスする方法です。 NagiosでCA証明書を利用したHTTPアクセスの可否監視プラグインを作成したくて利用しました。

まず事前にクライアント証明書(P12ファイル)からPEMファイルを作成しておく必要があります。 サーバのopensslコマンドで作成できます。

# openssl pkcs12 -in client.p12 -nodes -clcerts -out client.pem

続いて実際に作成したCA証明書(client.pem)を利用してサイトに接続してオープンする処理です。 処理にはstream_context_create関数とstream_context_set_option関数、そしてfsockopen関数を利用します。

$context = stream_context_create();
stream_context_set_option($context, ssl, local_cert, "client.pem");
$fp = fsockopen("ssl://".[対象のドメイン], 443, $errno, $errstr, 30, $context);

これでOKです。
正常に接続できたか失敗したかは $fp===false などで確認することができます。案外簡単。

スポンサーリンク
スポンサーリンク

関連記事

  1. PHP

    PHP PhantomJSでFatal error: Uncaught exceptionエラーに遭…

    PHP PhantomJSを利用してキャプチャを取得しようとしたところ…

  2. PHP

    【PHP】cURLをインストールして有効化する手順

    PHPのソースインストール時にcURLを有効化する手順のご紹介です。…

  3. PHP

    【PHP】cURLでベーシック認証のページへPOSTして結果を取得する方法

    ベーシック認証のかかったページへPHP+cURLを利用してPOSTでア…

  4. PHP

    CentOS7のPHP5.6にPhpSpreadsheetをインストールする

    CentOS 7にインストールしたPHP 5.6に、PhpSpread…

  5. PHP

    【解決済】PHPのocilogonでORA-24408が発生するときの対処方法

    PHPのocilogon関数で、エラー《ORA-24408: coul…

  6. PHP

    【PHP】oci8関数を利用してsysdba権限でOracleに接続する方法

    PHPのoci_connectを利用して、sysdba権限でOracl…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. ColdFusion 2018にUpdate 8を適用したら…
  2. 【vsftpdを守る】CentOS 7にfail2banをイ…
  3. nologinを指定したユーザーでFTP接続するとパスワード…
  4. CentOS 7にTomcatをインストールして起動したらエ…
  5. NetApp / cDot : AutoSupport Ma…
PAGE TOP