如何使用“在本地计算机上获取Lotus Notes密码”;Interop.Domino.dll“;(C#)??

如何使用“在本地计算机上获取Lotus Notes密码”;Interop.Domino.dll“;(C#)??,c#,lotus-domino,interop-domino,C#,Lotus Domino,Interop Domino,我正在制作一个应用程序,其中我正在阅读来自LotusNotes的邮件。 我已经使这个应用程序与Domino服务器相互依赖 但在本例中,如果用户的LotusNotes配置了Domino服务器,则会显示密码弹出窗口 我不想显示弹出窗口,也不想在UI中添加文本框 是否仍然可以通过编程方式获取NSF密码?使用Domino.dll。我认为没有API函数来检索Domino密码 有一个API函数来重置密码,但旧密码是一个参数 肖恩,你当然不能这么做。密码不存储在任何地方,而是用于访问RSA私钥,而RSA私钥实

我正在制作一个应用程序,其中我正在阅读来自LotusNotes的邮件。 我已经使这个应用程序与Domino服务器相互依赖

但在本例中,如果用户的LotusNotes配置了Domino服务器,则会显示密码弹出窗口

我不想显示弹出窗口,也不想在UI中添加文本框


是否仍然可以通过编程方式获取NSF密码?使用Domino.dll。

我认为没有API函数来检索Domino密码

有一个API函数来重置密码,但旧密码是一个参数


肖恩,你当然不能这么做。密码不存储在任何地方,而是用于访问RSA私钥,而RSA私钥实际上是进行身份验证的。听起来好像您要访问服务器上的邮件文件,但是…“如果用户的Lotus Notes配置了Domino服务器…”。如果存在未加密的邮件文件的本地副本,则无需进行身份验证即可访问该副本。如果它是加密的,或者您需要访问服务器,那么用户绝对需要进行身份验证。

如果这是一个在客户端工作站上运行的应用程序,并且用户在该工作站上运行Notes客户端,则可以“共享”密码,这样您的应用程序就不需要提示用户。这是一个从Notes客户端启用的选项。在R8中,此选项位于“文件>安全>用户安全”下,然后在“安全基础”选项卡下,有一个标记为“不提示从其他基于Notes的程序输入密码”的复选框。(在R7和更早版本中,它位于类似的菜单项下,我认为仅标记为“用户ID”)

来自帮助路径:IBM Domino Designer基本用户指南和参考>LotusScript/COM/OLE类>LotusScript类编码指南>通过COM访问Domino对象

Call session.initializeSingNotesUserName(“名称”、“密码可选”)

这是在您将会话设置为新创建的Lotus.NotesSession对象之后


(在使用Domino API解锁ID后,您无法从该API获取用户密码。但是,您可以从该用户处获取密码,然后通过互操作将其提交给Domino。)

如果存在获取密码的API,这将是一个严重的安全漏洞。大多数安全系统(Notes/Domino非常安全)从不将密码存储在磁盘或内存中。他们只从用户那里查询它,验证它(通常使用加密哈希或类似的方法),然后丢弃它(即覆盖内存)。你永远不会从这样的系统中获得纯文本密码!这是故意的!