第 13 章 设置自动化作业
证书系统提供可自定义的作业调度程序,它支持调度 cron 任务的各种机制。本章解释了如何配置证书系统,以使用特定的作业插件模块来完成作业。
13.1. 关于自动化作业
证书管理器控制台包含一个 Job Scheduler 选项,可在指定时间执行特定的作业。作业调度程序与传统的 Unix cron 守护进程类似,它会获取注册 cron 作业,并在预先配置的日期和时间中执行它们。如果配置,调度程序会按照指定间隔检查等待执行的作业;如果指定的执行时间已经到达,调度程序会自动启动作业。
作业作为 Java™ 类实施,然后作为插件模块注册到证书系统。作业模块的一个实现可用于配置作业的多个实例。每个实例必须具有唯一名称(没有空格的字母字符串),并且可以包含要应用到不同作业的不同的输入参数值。
13.1.1. 设置自动化作业
通过执行以下操作来设置自动化作业功能:
- 启用和配置作业调度程序 ; 如需更多信息,请参阅 第 13.2 节 “设置作业调度程序”。
- 启用和配置作业模块并为这些作业模块设置首选项 ; 如需更多信息,请参阅 第 13.3 节 “设置特定作业”。
- 通过更改与通知类型关联的模板来自定义与这些作业发送的电子邮件通知消息。消息内容由纯文本消息和 HTML 消息组成;通过更改 HTML 模板来修改外观。请参阅 第 12.3.1 节 “自定义 CA 通知消息” 了解更多信息。
13.1.2. 自动的作业类型
自动作业的类型是 RenewalNotificationJob,RequestInQueueJob,PublishCertsJob, 和 UnpublishExpiredJob。在部署证书系统时,会创建每种作业类型的一个实例。
13.1.2.1. certRenewalNotifier (RenewalNotificationJob)
certRenewalNotifier 作业检查内部数据库中要过期的证书。找到证书的所有者时,它会自动发送电子邮件,并继续在配置的时间段内发送电子邮件提醒,或直到证书被替换为止。该作业会收集所有续订通知的摘要,并将摘要发送给配置的代理或管理员。
作业决定使用电子邮件解析器发送通知的电子邮件地址。默认情况下,电子邮件地址位于证书本身或证书的相关注册请求中。
13.1.2.2. requestInQueueNotifier (RequestInQueueJob)
requestInQueueNotifier 作业以预先配置的时间间隔检查请求队列的状态。如果队列中等待任何延迟注册请求,作业会构建电子邮件消息总结其发现并将其发送到指定的代理。
13.1.2.3. publishCerts (PublishCertsJob)
publishCerts 作业检查已添加到尚未发布的发布目录中的新证书。添加这些新证书时,由 publishCerts 作业会自动发布到 LDAP 目录或文件。
注意
大多数时间,发布者会立即向适当的发布目录发布与规则匹配的任何证书。
如果在创建证书时成功发布证书,则 publishCerts 作业不会重新发布证书。因此,新证书不会列在作业摘要报告中,因为摘要仅列出了 publishCerts 作业发布的证书。
13.1.2.4. unpublishExpiredCerts (UnpublishExpiredJob)
未 发布的 Certs 作业检查已过期且仍然在配置的时间间隔内发布的证书。作业连接到发布目录并删除这些证书;然后在内部数据库中将 这些证书标记为未发布。作业收集已删除的过期证书的摘要,并将摘要发送给配置指定的代理或管理员。
注意
此作业会自动从目录中删除过期的证书。也可以手动删除过期的证书 ; 有关此内容的更多信息,请参阅 第 9.12 节 “更新目录中的证书和 CRL”。