當使用OpenSSL創建S/MIME電子郵件,發送,接收電子郵件具有附加SMIME內容和簽名驗證,但電子郵件的主體通過不可見電子郵件客戶端,如Mac Mail和ThunderBird。所有網絡郵件(例如:Gmail)都能正確讀取電子郵件正文。使用Open SSL發送SMIME電子郵件,電子郵件正文不顯示
有沒有人經歷過這個?
當使用OpenSSL創建S/MIME電子郵件,發送,接收電子郵件具有附加SMIME內容和簽名驗證,但電子郵件的主體通過不可見電子郵件客戶端,如Mac Mail和ThunderBird。所有網絡郵件(例如:Gmail)都能正確讀取電子郵件正文。使用Open SSL發送SMIME電子郵件,電子郵件正文不顯示
有沒有人經歷過這個?
會要求檢查郵件正文任何解析錯誤。大多數網絡郵件程序都具有高級的MIME解析技術,這些技術通常基於實時數據。但是像outlook,mac這樣的客戶嚴格遵循郵件分析的rfc標準。
我已經看到它在rediffmail正常打開,但不是雅虎郵件,也該在Web界面打開了郵件,但對後市他們只是廢話了。雷鳥也是如此,但雷鳥的可用擴展很少。如果你安裝它們,郵件開始正確渲染。
您必須使用NO_DETACHED簽署MIME。就像這樣:
int flags = PKCS7_STREAM;
p7 = PKCS7_sign(scert, skey, NULL, in, flags);
NO_DETACHED意味着OpenSSL的將簽署和包裝所有的MIME和簽名數據的一個.p7m文件,這意味着一個普通的客戶端只能找到在電子郵件中的.p7m文件。只需使用DETACHED標誌,通過該標誌,OpenSSL將在先前的MIME結構的末尾添加一個.p7s文件作爲簽名數據,而不是打包所有這些文件。
第一:
flags |= PKCS7_DETACHED;
並簽名。
p7 = PKCS7_sign(scert, skey, NULL, in, flags);