在inetOrgPerson的userSMIMECertificate属性中添加证书

时间:2013-09-11 18:31:44

标签: ldap x509certificate smime ldif adlds

我将使用LDAP为我的电子邮件发布证书。 我已经在Windows 2012上启动并运行了LDAP(AD LDS)。 我将使用ldif文件添加记录。

这里是其内容

dc: dc=mysubdomain,dc=mydomain,dc=com

dn: dc=mysubdomain,dc=mydomain,dc=com
objectClass: top
objectClass: domain
dc: mydomain
dc: mysubdomain
description: Some root stuff

dn: ou=mysubdomaincertificates,dc=mysubdomain,dc=mydomain,dc=com
objectClass: top
objectClass: organizationalUnit
ou: mysubdomaincertificates

dn: Mail=test@mysubdomain.mydomain.com,ou=mysubdomaincertificates,dc=mysubdomain,dc=mydomain,dc=com
objectClass: top
objectClass: person
objectClass: inetOrgPerson
cn: Test Test
sn: Test
Mail: test@mysubdomain.mydomain.com
userSMIMECertificate: #<What to put?>

我一直在编译我的ldif文件。据我所知,我需要在Base64中添加一些二进制编码,并带有一些前缀{CERT}或其他东西。

我的问题是

  1. 这个ldif文件会对目录进行修改吗?
  2. 除了userSMIMECertificate字段外,我有问题吗?
    • 例如,我在域对象中使用了两次dc,可以吗?
    • 我错过了其他一些重要的路线吗?
  3. userSMIMECertificate中放置证书内容的确切语法是什么? (我已经进行了搜索,但找不到示例)

2 个答案:

答案 0 :(得分:1)

以下是您的LDIF,并进行了相应的更改:

dn: dc=mysubdomain,dc=mydomain,dc=com
changetype: add
objectClass: top
objectClass: domain
dc: mysubdomain
description: Some root stuff

dn: ou=mysubdomaincertificates,dc=mysubdomain,dc=mydomain,dc=com
changetype: add
objectClass: top
objectClass: organizationalUnit
ou: mysubdomaincertificates
description: Provide some descriptive text here.

dn: Mail=test@mysubdomain.mydomain.com,ou=mysubdomaincertificates,dc=mysubdomain,dc=mydomain,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: inetOrgPerson
cn: Test Test
sn: Test
Mail: test@mysubdomain.mydomain.com
userSMIMECertificate: file:///path-cert-file

答案 1 :(得分:0)

作为对 Terry Gardner 现有答案的有用补充

为了避免您的 ldif 依赖于外部文件,您可能需要以这种方式指定 userSMIMECertificate:

userSMIMECertificate:: Q29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsKCWZpbGVuY
 W1lPXNtaW1lLnA3cwpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZTsK
[...]

这基本上是base64编码的文件内容。

为了摆脱文件依赖,最简单的方法是导入带有文件依赖的ldif,然后将对象导出到一个新的ldif。导出应创建上述格式。