8.5. 注册自定义验证插件
自定义身份验证插件模块可以通过 CA 控制台注册。身份验证插件模块也可以通过 CA 控制台删除。在删除模块之前,删除基于该模块的实例。
要编写自定义插件,请参阅 身份验证插件教程。
-
创建自定义身份验证类。在本例中,自定义身份验证插件名为
UidPwdDirAuthenticationTestms.java。 编译新类。
# javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java在 CA 的
WEB-INFWeb 目录中创建目录来保存自定义类,以便 CA 可以访问它们以获取注册表单。# mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes将新插件文件复制到新
类目录中,并将所有者设置为证书系统用户(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登录到控制台。
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/ca注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。注册插件。
- 在 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 ...将新配置集添加到 CA 的
CS.cfg文件中。TIP在编辑前备份
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重启 CA。
# pki-server restart instance_name