[英]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.