質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

Q&A

解決済

2回答

2126閲覧

HTTP_Client で外部サーバのSSL証明書の情報を取得

Clementine

総合スコア157

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

0グッド

0クリップ

投稿2016/12/13 04:27

表記の件につきまして質問いたします。

PEAR::HTTP_Clientを使用して外部サーバが利用しているSSL証明書の情報を取得する
ロジックを考えております。

php

1 require_once 'HTTP/Client.php'; 2 $client = new HTTP_Client(); 3 4 $responseCode = $client->get('https://example.com'); 5 if($responseCode!=200) { 6 exit; 7 } 8 // 以下にSSL証明書の取得ロジックを追記

Javaではhttp-client outputstreamという機能があり、これで取得できそうだと想像していますが、
PEAR::HTTP_Clientにoutputstramの機能は探したところ見当たりませんでした。

情報がありましたらご教授の程、お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

php

1<?php 2 3$domain_name = 'teratail.com'; 4 5$stream_context = stream_context_create(array( 6 'ssl' => array('capture_peer_cert' => true) 7 )); 8$resource = stream_socket_client( 9 'ssl://' . $domain_name . ':443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $stream_context 10); 11$cont = stream_context_get_params($resource); 12$parsed = openssl_x509_parse($cont['options']['ssl']['peer_certificate']); 13 14var_dump($parsed); 15

投稿2016/12/13 05:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Clementine

2016/12/13 08:03

ありがとうございます。 頂いた見本にて解決しました。 大変助かりました。
guest

0

以下のサイトが参考になるのではないでしょうか。
参考サイト

php

1$g = stream_context_create (array("ssl" => array("capture_peer_cert" => true))); 2$r = fopen("https://www.google.com/", "rb", false, $g); 3$cont = stream_context_get_params($r); 4$parsed = openssl_x509_parse($cont['options']['ssl']['peer_certificate']);

$parsedの中に、SSLの情報が入ります。

投稿2016/12/13 05:13

編集2016/12/13 05:21
motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問