SSL 憑證解析器

貼上一份 PEM 憑證,把它讀成一張表:發行者、主體、涵蓋的名稱、有效期窗口、指紋——全部在你的瀏覽器中解析。可選的 crt.sh 查詢會顯示同一網域的憑證透明度歷史。想看伺服器此刻實際出示的是什麼,請改用 SSL 檢查器。

解析憑證

憑證透明度歷史(可選)

在 crt.sh 上搜尋某個網域曾經簽發過、並被公開記錄的每一份憑證。這是歷史,不是即時檢查:它顯示已經簽發過什麼,包括你可能不認識的憑證。如果 crt.sh 無法從此瀏覽器存取,本節會如實說明,上面的解析器不受影響。

如何讀懂一份憑證

憑證把三樣東西綁在一起:一個公開金鑰、一份名稱清單和一個有效期窗口——全部由發行者簽署。主體說明憑證簽發給了誰;發行者說明是哪家機構簽的名,接手基礎設施時續期就藏在這裡。序號是發行者為這份憑證分配的唯一識別碼,當一家機構只撤銷一份憑證而不動其同級憑證時很有用。簽章演算法告訴你發行者的簽章是怎麼產生的;仍在使用 MD5 或 SHA-1 的,無論到期日如何,都早過了退役日期,應當更換。

有效期窗口是帶截止日期的那一部分,本頁面把它換算成剩餘天數,配色與即時檢查器一致:超過九十天是舒適區,九十天以內變琥珀色,三十天以內變紅色,過了零就是明確的已過期。涵蓋名稱清單才是瀏覽器真正檢查的東西——通用名稱只是遺留裝飾,這份清單裡缺一個名字,是原本健康的網站出現瀏覽器警告的最常見原因。SHA-256 指紋是確切憑證位元組的緊湊識別碼:兩份憑證指紋相同就是同一份憑證,因此它是把你手裡的憑證與日誌、廠商或同事聲稱的憑證做比對的可靠方式。

解析器、即時檢查與透明度日誌的區別

三個不同的問題,三個不同的工具,混為一談會造成真正的困惑。「這個檔案裡有什麼?」是本頁面的解析器——離線、精確、只限於你手裡的檔案。「伺服器此刻出示的是什麼?」是 SSL 檢查器,它執行一次真正的 TLS 交握,因此可能與檔案不一致:磁碟上續好了憑證,在伺服器重新載入之前毫無意義。「這個網域曾經簽發過什麼?」是 crt.sh 搜尋,它讀取公開的憑證透明度日誌,能浮現出另外兩者都看不到的、被遺忘的或未經授權的簽發。用解析器讀檔案,用檢查器驗證部署,用日誌搜尋稽核歷史——當檢查器與檔案不一致時,相信檢查器。第四個問題屬於另一個工具:幾份檔案是否配套——哪把私密金鑰與這份憑證匹配、鏈應該按什麼順序出示——那是 憑證與金鑰配對器,它按共享的公開金鑰把憑證、金鑰和 CSR 分組。

憑證解析使用 node-forge,按 BSD-3-Clause 授權使用。線上查詢會把你輸入的網域傳送給 crt.sh;PEM 解析器本身不發出任何網路請求。

常見問題

這與 SSL 檢查器有什麼區別?

SSL 檢查器對伺服器執行一次即時 TLS 交握,報告伺服器此刻實際出示的憑證。本頁面解析你貼進來的憑證文字——當你手裡有一份憑證檔案、走的是 CSR 流程,或憑證來自一個從這裡無法存取的系統時很有用。能存取網站就用 SSL 檢查器;只有檔案就用本頁面。

crt.sh 增加了什麼?

crt.sh 搜尋公開的憑證透明度日誌:某個網域曾經簽發過的每一份受公共信任的憑證,附帶發行者和有效期。它回答的是「已經簽發過什麼」——包括你沒預料到的憑證。它無法告訴你伺服器今天出示什麼;只有即時交握能做到。

crt.sh 查詢為什麼可能失敗?

crt.sh 是免費的第三方服務,瀏覽器能否讀取它的答覆取決於它的跨源回應標頭。如果在這裡失敗,頁面會如實說明,上面的 PEM 解析器照常運作——線上查詢是增強功能,不是工具本身。

SAN 能告訴我通用名稱告訴不了的什麼?

現代瀏覽器忽略通用名稱,改為檢查主體備用名稱清單。一份憑證恰好只對清單裡的名稱有效:不帶 www 的裸網域,或一個被遺忘的子網域,是原本健康的網站出現瀏覽器警告的最常見原因。

貼上憑證會洩露什麼嗎?

憑證在設計上就是公開文件——它不包含私密金鑰,也沒有任何秘密。私密金鑰是單獨的檔案,絕不能貼到任何地方。而且這裡的解析無論如何都完全在你的瀏覽器中進行。