10.6. 注册自定义身份验证插件
注意
要编写自定义插件,请参阅 身份验证插件教程。
- 创建自定义身份验证类。在本例中,自定义身份验证插件名为
UidPwdDirAuthenticationTestms.java
。 - 编译新类。
javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
- 在 CA 的
WEB-INF
web 目录中创建一个目录来保存自定义类,以便 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 https://server.example.com:8443/ca
- 注册插件。
- 在 Configuration 选项卡中,点导航树中的 Authentication。
- 在右侧窗格中,点 Authentication Plug-in Registration 选项卡。这个选项卡列出了已经注册的模块。
- 要注册插件,请点击。此时会出现 Register Authentication Plug-in Implementation 窗口。
- 通过填写两个字段来指定要注册哪个模块:
- 插件名称。模块的名称。
- 类名称。此模块的类的完整名称。这是实施 Java™ 类的路径。如果这个类是软件包的一部分,请包含软件包名称。例如,若要在名为 com.customplugins 的软件包中注册名为 customAuth 的类,类名称为 com.customplugins.customAuth。
- 注册该模块后,将模块添加为活跃的身份验证实例。
- 在 Configuration 选项卡中,点导航树中的 Authentication。
- 在右侧窗格中,点 Authentication Instance 选项卡。
- 点击。
- 从列表中选择自定义模块
UidPwdDirAuthenticationTestms.java
来添加模块。填写该模块的适当配置。
注意pkiconsole
已被弃用。 - 创建新的最终用户注册表单,以使用新的身份验证模块。
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