13.3.3. 为 Java 管理控制台启用 SSL
						对证书证书证书系统nbsp 的基于证书的验证可以启用系统控制台,以便管理员必须先使用客户端证书进行身份验证,然后才能登录到证书证书系统nbsp;System Console.在启用基于证书的身份验证前,存储管理员的证书。
					
						要在控制台中启用 SSL,请同时配置客户端和服务器。
					
重要
							如果 CA 配置了通过管理端口进行客户端身份验证,并且该 CA 是安全域管理器,则无法配置将 CA 用于其安全域 的新 PKI 子系统。新的 PKI 实例通过 admin 端口注册到安全域 CA,但不使用客户端身份验证。如果 CA 需要客户端身份验证,则注册尝试会失败。
						
						首先,设置证书Certificate Systemnbsp;System server 以使用 SSL 客户端验证:
					
- 使用这个系统的任何管理员存储证书。证书应该来自 CA 本身,或者从哪个 CA 签署该子系统的证书。- 打开子系统控制台。
- 选择左侧的 "用户和组" 选项。
- 在 Users 选项卡中,选择管理用户,再单击 。
- 点 。
- 粘贴到 base-64 编码的 SSL 客户端证书中,如保存在 web 浏览器中的管理员证书。
 确保客户端证书适用于 SSL 客户端身份验证;否则,服务器将不接受客户端证书,并将在/var/log/instanceID/system中的错误日志中发布错误消息:failure (14290): Error receiving connection SEC_ERROR_INADEQUATE_CERT_TYPE - Certificate type not approved for application.) failure (14290): Error receiving connection SEC_ERROR_INADEQUATE_CERT_TYPE - Certificate type not approved for application.)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 停止子系统。systemctl stop pki-tomcatd@instance_name.service systemctl stop pki-tomcatd@instance_name.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 打开实例配置目录/var/lib/pki/instance_name/subsystem_type/conf。
- 打开文件CS.cfg。
- 将 authType 参数的值从 pwd 更改为 sslclientauth :authType=sslclientauth authType=sslclientauthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 保存该文件。
- 打开server.xml文件。
- 将 admin 接口连接器部分中的 clientAuth="false" 属性更改为 clientAuth="want "。Copy to Clipboard Copied! Toggle word wrap Toggle overflow want 值表示首选客户端身份验证,但不是必需的。这样,客户端通过可轻松使用它(如控制台)的接口进行身份验证,同时仍然允许客户端验证(安全域内的其他子系统)使用常规连接进行连接。
- 启动子系统。systemctl start pki-tomcatd@instance_name.service systemctl start pki-tomcatd@instance_name.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
						设置服务器后,将客户端配置为使用 SSL 客户端身份验证。
					
						控制台必须具有对服务器 SSL 客户端身份验证的管理员证书和密钥的访问权限。控制台的默认证书和密钥数据库存储在 
.redhat-idm-console 目录中。
					
						要提供对管理员证书和密钥的访问,请从管理员的浏览器中将它们导出到 
.p12 文件中,然后使用 pk12util 导入该文件,或者将浏览器的证书和密钥数据库复制到 .redhat-idm-console 目录中。(这个步骤假定证书从浏览器导出到 .p12 文件中。)
					- 将管理员用户证书和密钥从浏览器导出到文件,如admin.p12。
- 打开用户的控制台目录。/user-directory/.redhat-idm-console /user-directory/.redhat-idm-consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 如有必要,创建新的安全数据库。certutil -N -d . certutil -N -d .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 停止证书证书 Systemnbsp;System 实例。systemctl stop pki-tomcatd@instance_name.service systemctl stop pki-tomcatd@instance_name.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 使用 pk12util 导入证书。pk12util -i /tmp/admin.p12 -d /user-directory/.redhat-idm-console -W [p12filepassword] # pk12util -i /tmp/admin.p12 -d /user-directory/.redhat-idm-console -W [p12filepassword]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果这个过程成功,命令会输出以下内容:pk12util: PKCS12 IMPORT SUCCESSFUL pk12util: PKCS12 IMPORT SUCCESSFULCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 从浏览器中导出发布 CA 证书的 64 位 Blob,并将其保存到类似ca.crt的文件。
- 从与 admin 用户证书关联的基本 64blob 中导入 CA 证书。certutil -A -d . -n ca -t CT,C,C -i ./ca.crt certutil -A -d . -n ca -t CT,C,C -i ./ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 启动证书证书系统nbsp;System 实例。systemctl start pki-tomcatd@instance_name.service systemctl start pki-tomcatd@instance_name.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 启动控制台;现在,它会提示输入证书。