簡體   English   中英

PHP和SSL:如何檢索遠程站點證書的“詳細”驗證結果?

[英]PHP and SSL: How can I retrieve “detailed” validation results for remote site's certificate?

我正在嘗試驗證遠程站點的SSL證書。 Curl可以給出一般的成功或失敗指示,但沒有詳細信息。 我的客戶要求證書為什么失敗的詳細說明:域錯誤,證書被吊銷或過期,不受信任的CA等。

當cert上的主機名錯誤時,curl_error($ ch)返回正確的錯誤。 但是,如果證書已過期或吊銷,它不會返回任何信息,它會返回"Peer certificate cannot be authenticated with known CA certificates" ,這是不正確的。

我如何使用PHP來獲取遠程站點的證書無效/不受信任的確切原因?

看起來Curl無法做到這一點。

為了獲得有效期,我使用了這個答案

並添加以下內容:

    $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
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM