7.2. 将证书添加到用户
当您设置基于证书的身份验证时,您可以配置服务器,以便用于身份验证的证书必须与用户 userCertificate
二进制文件中存储的证书匹配。如果您启用了这个功能,您必须将受影响用户的证书添加到其目录条目中。
前提条件
- 在 Directory 服务器中启用了基于证书的身份验证。
- 您有一个由服务器信任的证书颁发机构(CA)发布的客户端证书。
- 客户端证书是可分辨的编码规则(DER)格式。
-
客户端证书满足服务器上
/etc/dirsrv/slapd-instance_name/certmap.conf
中设置的要求。
流程
如果证书不是 DER 格式,请将其转换。例如,要将证书从隐私增强的邮件(PEM)转换为 DER,请输入:
# openssl x509 -in /home/user_name/certificate.pem -out /home/user_name/certificate.der -outform DER
将证书添加到用户的
userCertificate
属性中:# ldapmodify -D "cn=Directory Manager" -W -H ldaps://server.example.com -x dn: uid=user_name,ou=People,dc=example,dc=com changetype: modify add: userCertificate userCertificate:< file:///home/user_name/example.der
验证
使用基于证书的身份验证以用户身份进行身份验证:
将以下环境变量设置为 CA 证书、用户密钥和用户证书的对应路径:
LDAPTLS_CACERT=/home/user_name/CA.crt LDAPTLS_KEY=/home/user_name/user.key LDAPTLS_CERT=/home/user_name/user.der
另外,还可在当前用户的
~/.ldaprc
文件中设置TLS_CACERT
、TLS_KEY
和TLS_CERT
参数。连接到服务器:
# ldapwhoami -H ldaps://server.example.com -Y EXTERNAL dn: uid=example,ou=people,dc=example,dc=com
其他资源
-
ldap.conf (5)
man page 中的TLS OPTIONS
部分