我已经发送加密电子邮件到Lotus笔记内置,如果我从我的本地访问该电子邮件它给出了真实,如果相同的电子邮件运行不同的系统它给予错误。 是设置问题吗? 我的代码看起来像 logger.debug(“此电子邮件已加密?”+ document.isEncrypted()); 我的本地记录器正在打印 “此电子邮件已加密?是的” 如果我在其他系统上运行相同的电子邮件进行打印 “此电子邮件已加密?false” 这是文档属性。 字段名称:加密。 数据类型:文本 数据长度:1个字节 Seq Num:1 Dup Item ID:0 Field Flags:SUMMARY
“1”
我不知道我的代码在不同的地方表现不同。
感谢您的帮助。
答案 0 :(得分:3)
isEncrypted()属性与“加密”字段无关。该字段只是一个UI切换。 isEncrypted()属性基于$ Seal项,如果邮件是MIME格式,则基于SMIME内容。
有两个问题可能与您所看到的有关:
如果在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。