解密Lotus Notes NSF

Jac*_*rry 3 lotus-notes lotus lotus-domino interop-domino

我想以编程方式解密 Lotus Notes NSF 文件。假设对于每个 NSF,我都有访问 NSF 所需的 ID 文件和密码。

我使用的是 Lotus Notes 8.5.2、Windows 7 SP1 64 位。我愿意使用 COM、C++ API 或 C API。

我知道 C API 函数NSFDbIsLocallyEncrypted,它报告 NSF 是否已加密。但是,我不相信它能够解密 NSF。

我知道 C++ API 函数LNNotesSession.CreateDatabaseCopy,它采用参数 3 DBOptions,其中有一个我可以设置为的成员 DBOptions.SetLocalEncryption( LNLOCALENCRYPTION::LNLOCALENCRYPTION_NONE )。然而,这个函数创建了一个新的 NSF。如果可能的话,我想就地解密源 NSF 以节省时间和磁盘空间。

如何从 NSF 中删除本地加密?

Ric*_*rtz 5

AFAIK,没有公开的 API 用于解密 NSF 文件。

另外,由于需要重写整个文件才能解密所有数据,因此我认为复制整个 NSF 不会造成任何时间或空间损失。