🔗 憑證鏈驗證器
檢測憑證鏈完整性,診斷缺少的中繼憑證問題
📚 使用教學
步驟 1:取得憑證
您可以透過以下方式取得網站的憑證鏈:
🌐 方法 1:使用瀏覽器匯出
- Chrome / Edge:
- 點擊網址列左側的鎖頭圖示
- 點擊「連線安全」→「憑證有效」
- 在憑證視窗中,切換到「詳細資料」標籤
- 點擊「複製到檔案」或「匯出」
- 選擇「Base-64 編碼 X.509 (.CER)」格式
- Firefox:
- 點擊網址列左側的鎖頭圖示
- 點擊「連線安全」→「更多資訊」
- 點擊「檢視憑證」
- 在「其他」區塊選擇「PEM (cert)」
- 點擊「下載」按鈕
- Safari (Mac):
- 點擊網址列左側的鎖頭圖示
- 點擊「顯示憑證」
- 將憑證拖曳到桌面(會儲存為 .cer 檔案)
- 使用文字編輯器開啟檔案
⌨️ 方法 2:使用 OpenSSL 命令
# 取得完整憑證鏈
openssl s_client -connect example.com:443 -showcerts < /dev/null 2>/dev/null | \\
sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/p' > cert-chain.pem
步驟 2:貼上憑證鏈
- 將完整的憑證鏈貼到上方的文字框中
- 憑證必須是 PEM 格式(以
-----BEGIN CERTIFICATE-----開頭) - 可以包含多個憑證,每個憑證都要有完整的 BEGIN/END 標記
- 憑證順序不重要,工具會自動排序
步驟 3:解讀結果
- ✅ 綠色勾號「憑證鏈有效」:憑證鏈完整且所有簽章都正確
- ⚠️ 黃色警告「缺少中繼憑證」:憑證鏈不完整,請參考下方的修復建議
- ❌ 紅色錯誤:憑證驗證失敗或格式錯誤
💡 提示:如果您只有葉證書,可以使用 SSL/TLS 線上檢測器 自動檢查網站的完整憑證鏈配置。
❓ 常見問題
Q1: 什麼是中繼憑證(Intermediate Certificate)?
SSL/TLS 憑證鏈通常有三層結構:
- 🌐 葉證書(Leaf Certificate):安裝在網站伺服器上的憑證,包含網域名稱
- 🔐 中繼憑證(Intermediate Certificate):由憑證授權機構(CA)的中繼 CA 簽發,連接葉證書和根憑證
- 🏛️ 根憑證(Root Certificate):由頂層 CA 自己簽發,已內建在所有瀏覽器和作業系統中
中繼憑證的作用是建立信任鏈,證明您的憑證是由受信任的 CA 簽發的。
Q2: 為什麼會缺少中繼憑證?
常見原因包括:
- 伺服器配置錯誤:安裝憑證時只上傳了葉證書,沒有包含中繼憑證
- 憑證檔案不完整:從 CA 下載時只下載了主要憑證
- 自動更新問題:使用 Let's Encrypt 等自動化工具時配置錯誤
- 憑證合併錯誤:多個憑證檔案沒有正確合併
Q3: 缺少中繼憑證會造成什麼問題?
即使網站能正常運作,缺少中繼憑證也可能導致:
- ❌ 瀏覽器顯示「不安全」警告:特別是舊版瀏覽器或行動裝置
- 📱 行動裝置無法連線:iOS/Android 設備可能無法驗證憑證
- 🤖 API 呼叫失敗:某些程式庫和工具無法建立 HTTPS 連線
- ⚡ 效能下降:瀏覽器需要額外時間從網路下載中繼憑證
- 🔒 安全性降低:某些嚴格的安全政策會直接拒絕連線
Q4: 如何修復缺少中繼憑證的問題? ⭐
這是最重要的問題!以下提供三種解決方法:
方法 1:從 CA 官網下載中繼憑證 📥
- 找到您的憑證是由哪個 CA 簽發的(查看憑證中的「Issuer」欄位)
- 到 CA 官網搜尋「Intermediate Certificate」或「Certificate Chain」
- 下載對應的中繼憑證檔案(通常是 .pem 或 .crt 格式)
- 將中繼憑證合併到伺服器的憑證檔案中
常見 CA 的中繼憑證下載連結:
- Let's Encrypt(通常自動包含,但可手動下載)
- DigiCert
- GlobalSign
- Sectigo (Comodo)
- GeoTrust
方法 2:使用線上工具自動取得 🔧
- What's My Chain Cert - 輸入網域自動找出缺少的中繼憑證
- SSL Labs - 完整的 SSL 配置檢測,包含中繼憑證狀態
- 使用我們的 SSL/TLS 線上檢測器
方法 3:重新配置伺服器 ⚙️
Nginx 配置範例:
# 將葉證書和中繼憑證合併到一個檔案
# fullchain.pem = 葉證書 + 中繼憑證
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
Apache 配置範例:
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/privkey.pem
SSLCertificateChainFile /path/to/chain.pem
手動合併憑證檔案:
# 將葉證書和中繼憑證合併
cat cert.pem intermediate.pem > fullchain.pem
Q5: 如何驗證修復是否成功?
修復後,使用以下方式驗證:
- 使用本工具重新檢查:重新匯出憑證鏈並驗證,應該看到綠色的「憑證鏈有效」✅
- 使用 SSL Labs:到 SSL Labs 輸入您的網域,檢查評級(應該是 A 或 A+)
- 使用瀏覽器開發者工具:
- 開啟開發者工具(F12)
- 切換到「Security」或「安全性」標籤
- 檢查憑證鏈是否完整
- 使用 OpenSSL 驗證:
openssl s_client -connect yourdomain.com:443 -showcerts
Q6: 根憑證需要安裝到伺服器嗎?
不需要!根憑證已經內建在所有主流瀏覽器和作業系統中。
您只需要安裝:
- ✅ 葉證書(您的網站憑證)
- ✅ 中繼憑證
- ❌ 根憑證(不需要,也不建議安裝)
實際上,如果您在伺服器配置中包含根憑證,反而會增加不必要的傳輸量。
Q7: 我的資料會被上傳到伺服器嗎?
不會!所有憑證驗證都在您的瀏覽器本地執行,使用 JavaScript 和 forge.js 函式庫進行解析和驗證。
您的憑證資料:
- ✅ 完全保留在您的瀏覽器中
- ✅ 不會傳送到任何伺服器
- ✅ 不會被記錄或儲存
- ✅ 可以安全地分析敏感憑證
Q8: 自簽憑證(Self-Signed Certificate)可以驗證嗎?
可以!本工具可以驗證自簽憑證的結構和簽章。
但請注意:
- ⚠️ 自簽憑證不會被標記為「受信任」,因為它沒有由公認的 CA 簽發
- ✅ 如果是完整的自簽憑證鏈(包含自建的中繼和根 CA),工具會正確顯示層級結構
- 💡 自簽憑證適合內部測試、開發環境或企業內網使用
- 🔒 對外公開的網站,建議使用免費的 Let's Encrypt 憑證
Q9: Let's Encrypt 的憑證會有中繼憑證問題嗎?
通常不會!Let's Encrypt 的自動化工具(如 Certbot)會自動處理:
- ✅ 自動下載完整的憑證鏈
- ✅ 自動合併憑證檔案(fullchain.pem)
- ✅ 自動配置到伺服器
如果遇到問題,可能是:
- 手動安裝時只複製了 cert.pem 而不是 fullchain.pem
- 伺服器配置指向錯誤的檔案
- Certbot 版本過舊
解決方法:確保使用 fullchain.pem 而不是 cert.pem
Q10: 憑證鏈的順序重要嗎?
在伺服器配置中,順序非常重要:
- ✅ 正確順序:葉證書 → 中繼憑證 → (不含根憑證)
- ❌ 錯誤順序:中繼憑證 → 葉證書(瀏覽器可能無法驗證)
但在本工具中,順序不重要!工具會自動識別憑證類型並正確排序。