2025年12月19日 星期五

[研究]Thunderbird 146.0 收加簽信件中兩種「數位簽章無效」的差異?

[研究]Thunderbird 146.0 收加簽信件中兩種「數位簽章無效」的差異?

2025-12-19

********************************************************************************

第一種


郵件安全 - S/MIME
數位簽章無效
此郵件包含不正確的數位簽章。
用來簽署此郵件的憑證的發行者是您所不信任的。

簽署者:
電子郵件地址:
憑證發行者: TWCA InfoSec User CA

郵件未加密
此討郵件沒被加密過。它在傅送中有可能被偷看。

********************************************************************************

第二種


郵件安全 - S/MIME

數位簽章無效
此郵件包含不正確的數位簽章。
此數位簽章有不明的錯誤。請與寄件者確認郵件的内文·(1)

郵件未加密
此封郵件沒被加密過。它在傅送中有可能被偷看。

********************************************************************************

ChatGPT

第一種,用來簽署此郵件的憑證的發行者是您所不信任的。

原因:

  • Thunderbird 無法認證簽章的憑證鏈。
  • 你的 Thunderbird 或作業系統中 沒有信任 TWCA InfoSec User CA 的根憑證或中繼憑證。
  • 雖然簽章本身正確,但由於「憑證來源不在信任列表」,所以會顯示無效。

解決方式:

  • 匯入 TWCA InfoSec User CA 的根憑證到 Thunderbird 的「證書管理」 → 「權威憑證」。
  • 設定信任此 CA 用於「電子郵件簽章」。
  • 重新開 Thunderbird 讀取該郵件,就應該會顯示簽章有效。


第二種,此數位簽章有不明的錯誤。請與寄件者確認郵件的内容。

原因:

  • 這裡不是「憑證不信任」的問題,而是簽章本身有錯誤或被破壞。
  • 常見原因:
    • 郵件在傳輸過程中被修改(例如某些郵件伺服器自動加上文字、修改編碼)。
    • 郵件簽章對應的原始內容和收到的內容不一致(例如 HTML → plain text 轉換破壞簽章)。
    • Thunderbird 匯入的簽章或憑證有損壞。

解決方式:

  • 確認寄件者是否用相容的郵件軟體簽章。
  • 嘗試用 Gmail Web 或 Outlook 收看原始郵件,確認簽章是否有效。
  • 如果寄件者使用 S/MIME,請寄件者重新簽署郵件並寄送。

簡單區分
畫面類型根本原因Thunderbird 顯示原因
第一種憑證未被信任「憑證發行者不信任」
第二種簽章內容錯誤或被修改「數位簽章有不明錯誤」

********************************************************************************
第二種,開發機、測試機正常,但正式機寄出來的信件,收到後檢視憑證有此訊息

ChatGPT

可能原因包括:

1️⃣ 郵件內容被修改或編碼不同
  • 正式機可能在寄信過程中,對郵件做了 自動換行、編碼轉換或附加標頭。
  • S/MIME 簽章是對 郵件原始內容計算的,如果中途被改動,即使憑證正確也會顯示「不明錯誤」。
檢查方式:
  • 對比開發/測試/正式機寄出的郵件 原始原始檔 (View Source / Show Original)
  • 注意 Content-Type、Content-Transfer-Encoding、換行符號(CRLF vs LF)
  • 特別是 HTML → Plain Text 或附加簽名的自動處理

2️⃣ 郵件簽章方式或函式庫差異

  • 正式機可能使用不同的 S/MIME 簽章函式庫版本 或 郵件寄送組件(例如 System.Net.Mail vs MailKit)
  • 某些函式庫對 MIME 邊界或編碼處理不一致,會導致 Thunderbird 認為簽章無效。

3️⃣ 憑證使用方式差異
  • 正式機是否有使用 同一個 .pfx 憑證?
  • 是否存在 憑證序號不同、或中繼憑證未正確匯入 的情況?
  • 如果正式機用的是加密過的 Web.config 讀取序號,但序號或憑證格式錯誤,也會產生簽章錯誤。

4️⃣ 正式機郵件伺服器影響
  • 如果正式機走的是企業郵件伺服器或 GWS relay,伺服器可能在郵件傳送過程中 修改標頭、加上 DKIM、簽名或防病毒標記
  • 這種修改也會破壞 S/MIME 原始簽章,導致 Thunderbird 顯示「不明錯誤」。
🔹 建議排查流程
  1. 匯出正式機寄出的原始 EML 檔
  2. 對比開發/測試機寄出的 EML
    • 檢查 MIME 部分、換行、Content-Type、附件順序
  3. 確認正式機使用的憑證及中繼憑證是否完整
  4. 嘗試在開發/測試機使用正式機相同程式碼 & 憑證寄信
    • 如果出錯,就確認是程式碼/環境差異
  5. 檢查郵件伺服器是否修改郵件
    • 可嘗試直接用 SMTP 寄信,不經過公司 Relay,看看簽章是否正常

(完)

相關

沒有留言:

張貼留言