Technote (troubleshooting)
问题
你看到如下错误:“在公共通讯录中找不到您的公钥”(Your public key was not found in the Name and Address Book)
这个错误是什么原因造成的?
解决问题
当源服务器的“比较公用密钥”域设置为“对所有 Notes 用户和 Domino 服务器强制执行密钥检查”,并且目标服务器设置为“不强制执行密钥检查”,会发生这种错误。这个设置在服务器文档 -> 安全性 -> 安全性设置部分可以找到。
在一个客户案例中,这个问题是由于目标服务器的服务器文档没有被成功拷贝到其他域中的目录导致的,这个问题可以通过重建源服务器的 Domino 目录索引来解决。之所以能够通过这种方法解决,很可能是由于完成了一个必须完成的变更,即:把目标服务器的服务器文档添加到源服务器的目录中。由于源服务器的“比较公用密钥”域设置为“对所有 Notes 用户和 Domino 服务器强制执行密钥检查”,重建视图索引使得服务器能够找到目标服务器的公用密钥。
注意:如果在服务器端开启了“比较公用密钥”,每个实体,无论是一个用户还是一台服务器,都需要明确的交叉验证。
在另一个案例中,当用户试图邮件路由到服务器的时候会看到下面的信息:Error connection to server: "Your public key was not found in the Name and Address Book". (连接服务器失败:“在Domino目录中找不到您的公用密钥”)
在这个案例中,源服务器文档的“比较公用密钥”域设置为“对所有 Notes 用户和 Domino 服务器强制执行密钥检查”,(服务器文档 -> 安全性 -> 安全性设置部分),并且目标服务器文档设置为“不强制执行密钥检查”,把两个设置都统一设为“不强制执行密钥检查”,并且在源服务器端重建 Domino 目录视图索引后,问题得到解决。
帮助信息:
当你点击“比较公用密钥”选项时,可以看到详细的提示,如下:
如果选择“对所有用户强制执行密钥检查”,将检查所有用户 ID 的公用密钥与 Domino 目录中存储的公用密钥是否一致。缺省值为“不强制执行密钥检查”。如果选择“对所有用户强制执行密钥检查”,只有客户端上的公钥与 Domino 目录中的信息一致才可以通过服务器认证。这样可以避免 ID 被盗用。比如,如果未经授权的用户得到了 ID 文件的拷贝之后, ID 文件的所有者变更了 ID 的公钥,如果选择“对所有用户强制执行密钥检查”的话,可以阻止未授权的用户使用 ID 拷贝和公钥通过服务器认证。同样,这个选项可以避免当前不在 Domino 目录列出的用户,比如:其他组织的用户或者某个已经离开公司的员工通过服务器认证。