9.6. 注册自定义身份验证插件
注意
要编写自定义插件,请参阅 身份验证插件。
- 创建自定义身份验证类。在本例中,自定义身份验证插件名为
UidPwdDirAuthenticationTestms.java
。 - 编译新类。
javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
- 在 CA 的
WEB-INF
web 目录中创建一个目录来存放自定义类,以便 CA 可以访问它们以获取报名表。mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes
- 将新插件文件复制到
新类
目录中,并将所有者设置为证书证书系统nbsp;System 系统用户(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
以添加模块。填写该模块的适当配置。
- 创建新的端到端注册表,以使用新的身份验证模块。
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
文件中。提示编辑前备份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。
systemctl restart pki-tomcatd@instance_name.service