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