1

リモート サイトの SSL 証明書を検証しようとしています。Curl は一般的な成功または失敗の指標を提供できますが、詳細は提供しません。私のクライアントは、証明書が失敗した理由の詳細を要求しています: 間違ったドメイン、失効または期限切れの証明書、信頼されていない CA など。

curl_error($ch) は、証明書のホスト名が間違っている場合に適切なエラーを返します。ただし、証明書の有効期限が切れているか取り消されている場合、情報は返さ"Peer certificate cannot be authenticated with known CA certificates"れず、どちらが正しくないかが返されます。

PHP を使用して、リモート サイトの証明書が無効/信頼できない正確な理由を取得するにはどうすればよいですか??

カールはこれを行うことができないようです。

4

1 に答える 1

0

有効期間を取得するには、この回答を使用しました

そしてこれを追加しました:

    $cert_info = openssl_x509_parse($cont["options"]["ssl"]["peer_certificate"]);

    if($cert_info['validFrom_time_t'] < time() < $cert_info['validTo_time_t']) {
        //Certificate is CURRENT!
    } else {
        //Certificate is Expired or not yet valid
    }
于 2013-10-30T22:47:59.330 に答える