第 9 章 管理 EST 用户数据库


您可以在以下部分中找到 DS Realm 管理和 PostgreSQL 域管理的信息。

9.1. 管理 DS Realm

用户 DB 需要包含用户 inetOrgPerson 的节点,以及包含 groups groupOfUniqueNames 的节点。因此,如果基础 dn 是 dc=pki,dc=example,dc=com,则可以使用以下命令将用户添加到 EST Users 组:

ldapadd -x -H ldap://estds.example.com:389 \
    -D "cn=Directory Manager"  -w Secret.123 << EOF
dn: uid=est-test-user,ou=people,dc=est,dc=pki,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: est-test-user
sn: EST TEST USER
cn: EST TEST USER
userPassword: Secret.123
EOF


ldapmodify -x -H ldap://estds.example.com:389 \
    -D "cn=Directory Manager"  -w Secret.123 << EOF
dn: cn=EST Users,ou=groups,dc=est,dc=pki,dc=example,dc=com
changetype: modify
add: uniqueMember
uniqueMember: uid=est-test-user,ou=People,dc=est,dc=pki,dc=example,dc=com
EOF

9.1.1. TLS mutual 身份验证

以上配置允许使用 用户名/密码 进行客户端身份验证。在某些情况下,或 用于特定操作,如重新注册新证书,则需要使用客户端证书进行 mutual 身份验证。

域配置已经支持基于证书的身份验证,但为了验证用户,需要一些额外的信息。更加详细,用户条目必须包含包含一些证书详情和二进制证书 的描述

描述 的格式有 < Version>;<Serial>;<Issuer>;<subject >。version 是十六进制值(不包括 0x),串行是十进制和签发者,subject 是可分辨名称(DN)。DN 的格式是从更具体的属性到更常规的属性(注意:一些工具,如 OpenSSL,具有不同的顺序),用逗号分开。例如,如果用户有以下值的证书:

$ openssl x509 -in cert.pem -subject -serial -issuer -text -noout |head -11
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            33:1c:9e:b7:9a:2d:cc:17:69:24:a2:81:4e:06:07:40
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=EXAMPLE, OU=pki-tomcat, CN=CA Signing Certificate
        Validity
            Not Before: Jan 16 11:31:11 2025 GMT
            Not After : Apr 16 11:31:11 2025 GMT
        Subject: CN=test.example.com

然后,可以使用命令在 DS 问题单中修改上面定义的用户条目 est-test-user

$ ldapmodify -H ldap://ds.example.com:3389 \
    -D "cn=Directory Manager" -w Secret.123 <<EOF
dn: uid=est-test-user,ou=people,dc=est,dc=pki,dc=example,dc=com
changetype: modify
add: description
description: 2;67939231264256858734977554404570695488;CN=CA Signing Certificate,OU=pki-tomcat,O=EXAMPLE;CN=test.example.com
-
add: userCertificate
userCertificate::<certificate_base64>
EOF

将 & lt;certificate_base64& gt; 替换为实际值。要从 DER 证书获取值,可以使用以下命令:

$ openssl base64 -in cert.der | sed 's/^/ /'
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.