我到处寻找方法,希望能够将现有用户的 GPG 密钥存储在 OpenLDAP 服务器中。我找到的唯一相关操作方法是这。但是,我无法让此方法与现有的 OpenLDAP 数据库配合使用。我已成功导入架构,但我不知道如何实际向架构中指定的字段添加信息。
如果我可以提供任何其他信息,请告诉我。
答案1
您可以使用 LDIF 文件导入数据,前提是您已在架构中正确设置属性。
您引用的这个操作指南用于设置以 LDAP 作为后备存储的密钥服务器,而不是用于将 PGP 密钥添加到现有架构中的 LDAP 用户。区别很重要,因为在引用的架构中,PGP 密钥是目录中的单个实体,而不是用户。
如何完成这项任务完全取决于您打算如何使用它。如果您只想将密钥放入目录中,则只需将 1.3.6.1.4.1.3401.8.2.11 (pgpKey) 属性添加到目录中,然后将其作为用户类的可选属性添加到架构中即可。
如果您想将此信息与 GPG 一起使用(作为密钥服务器),问题会变得稍微困难一些。您可以按原样添加架构,并将 PGP 密钥与您的其他数据并行存储。这将是最容易设置的,但从长远来看更难管理。您也可以尝试制作混合架构,但这需要大量规划,而范围太广,无法在此详述。但是,要考虑的事情是您希望如何写入密钥(谁有写权限?也许只是管理员?),以及应该通过哪些属性来搜索密钥。最有可能的是,您将能够将 PGP 密钥属性添加到pgpCertID $ pgpKey $ pgpDisabled $ pgpKeyID $ pgpKeyType $ pgpUserID $ pgpKeyCreateTime $ pgpSignerID $ pgpRevoked $ pgpSubKeyID $ pgpKeySize $ pgpKeyExpireTime
您的用户对象,根据需要使它们成为必需的或可选的。但是,如果 GPG 使用的 LDAP 查询恰好进行检查objectClass=pgpKeyInfo
,这可能会很困难,您可能不得不对用户使用子对象。
尽管如此,我建议您不要这样做,而是设置一个单独的 LDAP 密钥服务器,其中只包含密钥,其中keys.example.net
example.net 是您的域。这将得到更多支持,并防止密钥服务器负载影响您的一般目录性能。