2017-01-08 5 views
0

私はPHPの初心者ですが、勉強してSSL証明書のステータスを表示する簡単なWebページを作成しようとしています。 (予期日) また、各サーバ(共通名)とポートはMySQL DBに格納され、PDOによって読み込まれます。 通常、サーバが有効な証明書を返す場合、これは機能します。 ただし、証明書の有効期限が切れた場合、または不一致のCommon Nameなどのその他の理由により、読み込みに失敗します。PHPで期限切れ/エラーの証明書に "openssl_x509_parse"を使用するにはどうすればよいですか?

コードは以下の通り:

<?php 
    $get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE))); 
    $read = stream_socket_client("ssl://".$row["domain"].":".$row["port"], $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get); 
    $cert = stream_context_get_params($read); 
    $certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']); 
?> 

私はこの問題を解決する方法をしてくださいお勧めすることはできますか?

ありがとうございました!

答えて

0

愚かな自分自身、発見された解決策からスタックオーバーフロー。

$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE))); 

$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE, 'verify_peer' => false, 'verify_peer_name' => false))); 
最初の行を修飾 SSL error SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

関連する問題