这是我的情况:
我们正在使用 Microsoft 的轻量级目录服务(带有 Server 2008 的 ADAM 的新版本)替换当前托管在 Sun 的 iPlanet 上的证书存储。
这些证书已被导入 LDS 到应用程序分区(例如 o=myorg,C=AU)。在这种结构下,我有大约 40,000 个 OU,每个代表一个客户,每个客户 OU 是一个或多个用户 (iNetOrg) 对象(总共大约 60,000 个)。每个用户的 UserCertificate 属性中都有一个或多个证书。
内部编写的应用程序代码和专有 PKI 代码的组合读取并发布这些证书以验证金融交易。
由于证书的 LDAP 路径存储在客户证书中(以及应用程序代码中),并且对更改任何代码的兴趣为零,因此我不得不将 iPlanet 目录作为一个整体提取并转储到 LDS 中相同的结构。
(我不会使用或托管 Microsoft CA,只是实施符合 LDAP 的目录来托管这些证书)
我们已经使用 LDS 中的数据对应用程序进行了全面测试,一切正常 - 这是我的困境和问题(最后,唷!)
没有为删除已撤销或过期的证书设置任何流程,因此绝大多数数据完全无用,系统已经运行了大约 8 年!我做了一个快速分析,我估计至少 80% 的数据不再有效。
当我负责管理目录时,我想从一个干净的目录开始。有谁知道如何清理这些过期的证书。我不是一个经验丰富的脚本编写者,但有一些 VB 的背景。我一直在研究 CAPICOM 的使用,感觉这可能可以使用,但我不确定具体是什么方式?
我更愿意编写一个脚本,我可以指定一个到期日期(比如任何在 2010 年之前到期的证书),然后针对 LDS 分区运行。这样我可以定期重用脚本来清理目录(如上所述 - 我无法调整正在编写证书的应用程序,这是与第三方合作的)。
另一种不太吸引人的替代方法是在导入之前按摩 LDIF 文件(270 万行!)以撕掉证书
非常感谢任何帮助和建议。
干杯
乔恩