加密的电子邮件提供虚假的Notes api

时间:2012-09-28 15:16:57

标签: lotus-notes lotus-domino lotus lotusscript lotus-formula

我已经发送加密电子邮件到Lotus笔记内置,如果我从我的本地访问该电子邮件它给出了真实,如果相同的电子邮件运行不同的系统它给予错误。 是设置问题吗? 我的代码看起来像     logger.debug(“此电子邮件已加密?”+ document.isEncrypted()); 我的本地记录器正在打印 “此电子邮件已加密?是的” 如果我在其他系统上运行相同的电子邮件进行打印 “此电子邮件已加密?false” 这是文档属性。 字段名称:加密。 数据类型:文本 数据长度:1个字节 Seq Num:1 Dup Item ID:0 Field Flags:SUMMARY

“1”

我不知道我的代码在不同的地方表现不同。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

isEncrypted()属性与“加密”字段无关。该字段只是一个UI切换。 isEncrypted()属性基于$ Seal项,如果邮件是MIME格式,则基于SMIME内容。

有两个问题可能与您所看到的有关:

  • 您是否使用两个不同的Notes ID文件来阅读邮件?
  • 您是否在两个系统上使用相同版本的Lotus Notes?

如果在Notes API中打开加密邮件,并且当前Notes标识文件包含用于解密邮件的正确私钥,则会自动解密邮件。这发生在LotusScrpt和Java API下面的一层中,因此这些API看到文档未加密并返回false。但显然IBM在8.5.2版本中对此进行了更改。这是link报告在8.5.2中isEncrypted()将返回true。似乎IBM修复了代码,即使自动解密已经完成,它现在也知道正确的答案。

当然,如果您使用Notes ID文件在Notes API中打开加密邮件,该文件不包含正确的私钥来解密邮件,则IsEncrypted()将始终返回true。