英文:
Encryption values not correct in HCL Notes emails
问题
我目前正在查看一个未加密的 .nsf HCL notes 文件中的成千上万封电子邮件,并且我正在使用第三方工具来访问这些电子邮件。第三方工具正在检查 'Document.isEncrypted()' 以识别加密文档,但它没有解密它们,因此,我觉得有些电子邮件实际上可能已加密,但未标记为加密。检查一些电子邮件的属性,我看到以下内容:
- 有些的 'encrypt' 值为 '1',有些为空字符串 ''
- 有些的 'encrypt' 值为 '1',但没有 '$seal' 值
因此,我创建了一个代理程序,使用 @Command( [ToolsRefreshSelectedDocs] )
,希望重置文件的属性。当我在少数几封电子邮件上测试时,似乎可以正常工作,并且第三方工具可以访问它们,但当我尝试在整个 .nsf 内容上运行它(约 45GB)时,它在运行了几千封后停止运行,进度条就消失了。
有没有关于实现与上述相同结果的文档刷新替代方法的建议?从理论上讲,我想要删除所有文档的加密。我也尝试过以下方法,但没有成功:
谢谢。
英文:
I'm currently looking at tens of thousands of emails in an unencrypted .nsf HCL notes file and I am using a third-party tool to access these emails. The third-party tool is checking for 'Document.isEncrypted()' to identify encrypted documents but it isn't decrypting them and therefore, I feel there is an issue with some of the emails actually being encrypted but not being marked as encrypted. Checking the properties of some of the emails, I see the below:-
- Some have the 'encrypt' value as '1' and some just as ''
- Some have the 'encrypt' value as '1' but have no '$seal' value
I therefore created an agent with the '@Command( [ToolsRefreshSelectedDocs] )'
with the hope of resetting properties on the files. This seems to work fine when I tested it on a handful of emails and they are are accessible by the third party tool but when I try and run this across the entire content of the .nsf (around 45GB), it stops running after a few thousand and the progress bar just disappears.
Any suggestions on alternatives to the Refresh of Documents to achieve the same outcome as the above? In theory, I'm looking to remove encryption from all documents. I did also try this but it doesn't work:-
Thanks
答案1
得分: 1
你正在寻找错误问题的解决方案。
你绝对是对的,有一些邮件不能仅通过查看项目来识别。例如,有一些真正加密的文件,但未将“Encrypt”项目设置为“1”。
但是:LotusScript函数“IsEncrypted”通常可以正常使用这些文档,因为它使用了一个C-API调用,即使项目处于“关闭”状态,也可以识别这些文档。
你的问题是另一种情况:有时数据库中有一些正确加密的文档,但仍然无法解密。
最常见的情况是这些邮件是为“其他人”加密的,而不是你当前使用的ID。
只有一个具有与文档加密所使用的密钥匹配的秘密密钥的ID才能解密消息。
有时用户会丢失他们的ID,或者人们离开并回来。然后,将使用相同名称计算一个新的ID,并且使用旧ID加密的邮件将不再可读。
因此,你需要改进你的LotusScript,以引发带有这些文档的通用ID的错误,然后手动检查是否可以找到另一种解密它们的方法(可能是使用邮件发送者的ID)。
如果找不到合适的ID,那么这封电子邮件将永远丢失...
英文:
You are looking for the solution of the wrong problem.
You are absolutely right, that there are mails that can not be identified by simply looking at the items. e.g. there are really documents that are encrypted but do not have the "Encrypt" item set to "1".
BUT: The LotusScript function "IsEncrypted" usually works fine with these documents as it uses a C-API call that identifies these documents even if the items are "off".
You problem is of another kind: Sometimes there are documents in a database that are properly encrypted but still cannot be decrypted.
Most often these are mails that are encrypted for "somebody else" and not the current ID you use.
Only one of the IDs with a secret key matching the keys that the document was encrypted with can decrypt the message.
Sometimes Users loose their IDs or people go and come back. Then a new ID is calculated with the same name and mails that had been encrypted with the old ID will not be readably anymore.
So you need to enhance your LotusScript to throw an error with the universal id of these documents and then check manually if you can find another way to decrypt them (probably with the ID of the sender of the mail).
If you can't find a proper ID then this eMail is lost forever...
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论