有什么办法可以
- 使用VBA检索附加到邮件项目的数字签名?
- 使用 VBA 验证其有效性?
在这方面,我几乎仅限于 VBA。 我尝试检查发件人和邮件项目对象,但我看不到有关签名对象的任何信息。
始终将签名/加密的邮件表示为常规"IPM.Note MailItem"
对象。它甚至从 MailItem.MAPIOBJECT
属性返回假IMessage
MAPI 接口。
中看到这一点(我是它的作者) - 选择一个签名的邮件,单击OutlookSpy功能区上的IMessage按钮。PR_MESSAGE_CLASS将是IPM。注意。选择PR_ENTRYID属性,右键单击,选择IMAPISession::OpenEntry。您将得到真正的消息,PR_MESSAGE_CLASS
= IPM.Note.SMIME.MultipartSigned
。您可以看到包含数据的附件。
区分签名/加密邮件和常规邮件,您几乎仅限于扩展 MAPI(仅限 C++ 或 Delphi)或赎回(我是它的作者 - 任何语言 - 它包装扩展 MAPI)。Redemption 公开 RDOEncryptedMessage 对象。可以使用从 OOM 中的MailItem.EntryID
属性检索的条目 ID 从RDOSession.GetMessageFromID
检索它。