11.5. 测试注册
有关通过配置集测试注册的详情,请参考 第 3 章 证书配置文件(获取证书的规则)。要测试最终用户是否可以使用验证方法集成功注册证书:
打开 end-entities 页面。
https://server.example.com:8443/ca/ee/ca
https://server.example.com:8443/ca/ee/ca
Copy to Clipboard Copied! - 在 Enrollment 选项卡中,打开自定义注册表。
- 填写值并提交请求。
- 提示时,输入密钥数据库的密码。
输入了正确的密码时,客户端会生成密钥对。
不要中断密钥生成过程。完成密钥生成后,请求将提交到服务器以发布证书。服务器会检查对证书配置文件的请求,仅在请求满足所有要求时发布证书。
发布证书后,在浏览器中打开证书。
- 验证证书是否已安装在浏览器的证书数据库中。
- 如果使用 PIN 删除配置了基于 PIN 的目录身份验证,请使用相同的 PIN 重新注册另一个证书。请求应被拒绝。
11.5.1. 注册自定义身份验证插件
自定义身份验证插件模块可以通过 CA 控制台注册。身份验证插件模块也可以通过 CA 控制台删除。在删除模块前,删除基于该模块的实例。
要编写自定义插件,请参阅 身份验证插件教程。
-
创建自定义身份验证类。在本例中,自定义身份验证插件名为
UidPwdDirAuthenticationTestms.java
。 编译新类。
javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
Copy to Clipboard Copied! 在 CA 的
WEB-INF
Web 目录中创建目录来保存自定义类,以便 CA 可以访问它们以获取注册表单。mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes
mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes
Copy to Clipboard Copied! 将新插件文件复制到新
类
目录中,并将所有者设置为证书系统用户(pkiuser
)。cp -pr com /usr/share/pki/ca/webapps/ca/WEB-INF/classes chown -R pkiuser:pkiuser /usr/share/pki/ca/webapps/ca/WEB-INF/classes
cp -pr com /usr/share/pki/ca/webapps/ca/WEB-INF/classes chown -R pkiuser:pkiuser /usr/share/pki/ca/webapps/ca/WEB-INF/classes
Copy to Clipboard Copied! 登录到控制台。
pkiconsole https://server.example.com:8443/ca
pkiconsole https://server.example.com:8443/ca
Copy to Clipboard Copied! 注意pkiconsole
已被弃用。注册插件。
- 在 Configuration 选项卡中,单击导航树中的 Authentication。
在右侧窗格中,点 Authentication Plug-in Registration 选项卡。
这个选项卡列出了已经注册的模块。
要注册插件,请点击
。此时会出现 Register Authentication Plug-in Implementation 窗口。
通过填写两个字段来指定要注册哪个模块:
- 插件名称。模块的名称。
-
类名称。此模块的类的完整名称。这是实施 Java™ 类的路径。如果这个类是软件包的一部分,请包含软件包名称。例如,要在名为
com.customplugins
的软件包中注册一个名为customAuth
的类,类名称为com.customplugins.customAuth
。
注册该模块后,将模块添加为活跃的身份验证实例。
- 在 Configuration 选项卡中,单击导航树中的 Authentication。
- 在右侧窗格中,单击 Authentication Instance 选项卡。
- 点 。
-
从列表中选择自定义模块
UidPwdDirAuthenticationTestms.java
来添加模块。填写该模块的适当配置。
创建新的最终用户注册表单,以使用新的身份验证模块。
cd /var/lib/pki/pki-tomcat/ca/profiles/ca cp -p caDirUserCert.cfg caDirUserCertTestms.cfg vi caDirUserCertTestms.cfg desc=Test ms - This certificate profile is for enrolling user certificates with directory-based authentication. visible=true enable=true enableBy=admin name=Test ms - Directory-Authenticated User Dual-Use Certificate Enrollment auth.instance_id=testms ...
cd /var/lib/pki/pki-tomcat/ca/profiles/ca cp -p caDirUserCert.cfg caDirUserCertTestms.cfg vi caDirUserCertTestms.cfg desc=Test ms - This certificate profile is for enrolling user certificates with directory-based authentication. visible=true enable=true enableBy=admin name=Test ms - Directory-Authenticated User Dual-Use Certificate Enrollment auth.instance_id=testms ...
Copy to Clipboard Copied! 将新配置集添加到 CA 的
CS.cfg
文件中。TIP在编辑前备份
CS.cfg
文件。vim /var/lib/pki/instance-name/ca/conf/CS.cfg
# vim /var/lib/pki/instance-name/ca/conf/CS.cfg profile.list=caUserCert,caDualCert,caSignedLogCert,caTPSCert,caRARouterCert,caRouterCert,caServerCert,caOtherCert,caCACert,caInstallCACert,caRACert,caOCSPCert,caTransportCert,caDirUserCert,caAgentServerCert,caAgentFileSigning,caCMCUserCert,caFullCMCUserCert,caSimpleCMCUserCert,caTokenDeviceKeyEnrollment,caTokenUserEncryptionKeyEnrollment,caTokenUserSigningKeyEnrollment,caTempTokenDeviceKeyEnrollment,caTempTokenUserEncryptionKeyEnrollment,caTempTokenUserSigningKeyEnrollment,caAdminCert,caInternalAuthServerCert,caInternalAuthTransportCert,caInternalAuthKRAstorageCert,caInternalAuthSubsystemCert,caInternalAuthOCSPCert,DomainController,caDirUserCertTestms ... profile.caDirUserCertTestms.class_id=caEnrollImpl profile.caDirUserCertTestms.config=/var/lib/pki/pki-tomcat/ca/profiles/ca/caDirUserCertTestms.cfg
Copy to Clipboard Copied! 重启 CA。
pki-server restart instance_name
pki-server restart instance_name
Copy to Clipboard Copied!