用于 CA 管理的 YaST 模块

YaST 提供了两个用于基本 CA 管理的模块。使用这些模块进行的主要管理任务论述如下:

创建根 CA

设置 PKI 的第一步是创建根 CA。执行下列操作:

  1. 启动 YaST 并转至安全和用户+ CA 管理

  2. 单击 创建根 CA

  3. 在第一个对话框中输入 CA 的基本数据,如图 图 42.1 “YaST CA 模块 - 根 CA 的基本数据” 所示。文本字段的意义如下:

    图 42.1. YaST CA 模块 - 根 CA 的基本数据

    YaST CA 模块 - 根 CA 的基本数据

    CA 名称:

    输入 CA 的技术名相比其他名,目录名尤其是从技术名派生的,这就是只能使用帮助中指定的字符的原因。当启动模块时,此技术性名称也会在概述中显示出来。

    通用名称

    参考 CA 输入要用的名称。

    “电子邮件地址”

    可以输入 CA 用户能够看到的多个电子邮件地址。这对于查询会很有用。

    国家/地区

    在国家/地区中选择 CA 运营所在的国家/地区。

    组织, 组织单位, 地点, 国家/地区

    可选值。

  4. 单击下一步

  5. 在第二个对话框中输入密码当使用 CA(创建子 CA 或生成证书)时,将始终需要此密码。文本字段的意义如下:

    密钥长度

    密钥长度 包含一个有意义的默认值。除非某个应用程序不能处理此密钥长度,否则通常不需要更改它。

    有效期(天)

    CA 默认有效期是 3650 天(大约 10 年)。之所以选择这么长的时间是因为替换被删除的 CA 涉及很多管理工作。

    单击 高级选项 打开一个对话框,在其中设置 X.509 扩展的不同属性(图 图 42.4 “YaST CA 模块 - 扩展设置”)。这些值都有合理的默认设置,如非确有必要请勿更改它们。

  6. YaST 会显示当前设置以供确认。单击创建。就创建了根 CA,并显示在预览里。

[Tip]

通常情况下,最好不要允许根 CA 发行用户证书。最好创建至少一个子 CA,然后在该子 CA 中创建用户证书。这样做的好处在于可以将根 CA 隔离起来并保证它的安全,例如,可以将它放在位于安全场所并被孤立开来的计算机上。这就使攻击者很难攻击到根 CA。

创建或撤消子 CA

子 CA 的创建完全与根 CA 的创建方法一致。执行下列操作:

  1. 启动 YaST 并打开 CA 模块。

  2. 选择需要的 CA 并单击 输入 CA

    [Note]

    子 CA 的有效期必须完全在“” CA 的有效期内。因为始终在创建“” CA 之后创建子 CA,所以默认值将引发错误消息。为避免这一点,请为有效期输入一个允许使用的值。

  3. 如果是第一次输入某 CA,请输入密码。YaST 在说明选项卡上显示 CA 密钥信息(请参见图 42.2)。

    图 42.2. YaST CA 模块 - 使用 CA

    YaST CA 模块 - 使用 CA

  4. 单击高级并选择创建子 CA。这时将打开与创建根 CA 一样的对话框。

  5. 操作过程,参见 第 42.2.1 节 “创建根 CA”

  6. 选择选项卡证书。在此使用撤消以重设置已暴露或因其他原因而不需要的子 CA。仅执行撤消操作并不能停用子 CA。还需要在 CRL 中发布已撤消的子 CA。一节中介绍了如何创建 CRL。第 42.2.5 节 “创建 CRL ”

  7. 单击 确认 完成。

创建或撤消用户证书

创建客户机和服务器证书与第 42.2.1 节 “创建根 CA”中描述的创建 CA 的方法很类似。同样的原则也在此适用。为了签名目的证书里必须包含发信人(私人密钥持有人)的邮箱地址,以便邮件程序指派正确的证书。为了在加密期间进行证书指派,需要使收件人(公共密钥拥有者)的电子邮件地址包含在证书中。此外,对于服务器和客户证书,必须将服务器的主机名输入到 常用名字段中。证书的默认有效期是 365 天。

创建客户和服务器证书,操作步骤如下:

  1. 启动 YaST 并打开 CA 模块。

  2. 选择需要的 CA 并单击 输入 CA

  3. 如果是第一次输入某 CA,请输入密码。YaST 在说明选项卡中显示 CA 密钥的信息。

  4. 单击 证书 (参见 图 42.3 “CA 的证书”)。

    图 42.3. CA 的证书

    CA 的证书

  5. 单击 添加添加服务器证书+ 添加一个服务器证书。

  6. 单击添加+添加客户机证书添加一个客户机证书。记得输入一个电子邮件地址。

  7. 单击 确认 完成。

撤消受到损坏或不需要的证书,操作步骤如下:

  1. 启动 YaST 并打开 CA 模块。

  2. 选择需要的 CA 并单击 输入 CA

  3. 如果是第一次输入某 CA,请输入密码。YaST 在说明选项卡中显示 CA 密钥的信息。

  4. 单击 证书 (参见 第 42.2.2 节 “创建或撤消子 CA”)。

  5. 选择要配置的扫描仪,然后单击 编辑

  6. 选择撤消该证书的原因。

  7. 单击 确认 完成。

[Note]

但仅执行“撤消”并不足以取消一个证书。同样,在一个 CRL 中发布已撤消的证书。第 42.2.5 节 “创建 CRL ”中说明了如何创建 CRL。发布到 CRL 中的撤消证书,可使用 删除将其完全删除。

修改默认值

前面几节介绍了如何创建子 CA、客户机证书和服务器证书。在 X.509 证书的扩展中使用了一些特殊设置。已根据每种证书类型而为这些设置提供了合理的默认值,通常不需要更改。但是,您可能对这些扩展有特殊要求。如果是这样,修改默认值就变得有意义了。否则,每次创建证书时都要从头开始。

  1. 启动 YaST 并打开 CA 模块。

  2. 按照 第 42.2.2 节 “创建或撤消子 CA” 里的描述,输入相应的 CA。

  3. 单击高级+编辑默认值

  4. 选择要修改设置的类型。列出的修改默认值对话框,便会打开。图 42.4 “YaST CA 模块 - 扩展设置”

    图 42.4. YaST CA 模块 - 扩展设置

    YaST CA 模块 - 扩展设置

  5. 临界 改变右端的联合值或创建/删除临界设置。

  6. 单击 下一步 显示摘要。

  7. 选择 保存 完成修改。

[Tip]

只有在此操作之后,对默认值的所有更改才生效。不会修改经存在的 CA 和证书。

创建 CRL

如果要排除已泄漏或因其他原因而不想要的证书防止它们继续被使用,必须首先将它们撤消。第 42.2.3 节 “创建或撤消用户证书”(针对子 CA)和第 42.2.2 节 “创建或撤消子 CA”(针对用户证书)两节中介绍了此过程。此后,必须使用此信息创建和发布一个 CRL。

系统只为每个 CA 保留一个 CRL。创建或更新此 CRL,操作如下:

  1. 启动 YaST 并打开 CA 模块。

  2. 按照 第 42.2.2 节 “创建或撤消子 CA” 里的描述,输入相应的 CA。

  3. 单击 CRL。随后出现的对话框将显示此 CA 的上最后一个 CRL 的摘要。

  4. 如果您从创建一开始就废除了新子 CA 或证书,用 生成 CRL 创建新 CRL。

  5. 然后为新 CRL 指定有效期(默认为 30 天)。

  6. 单击 确定 创建,并显示该新建 CRL。然后,必须发布此 CRL。

[Tip]

如果 CRL 不可用或满期,评估 CRL 的应用软件将拒绝所有证书。在当前 CRL 满期(超过有效期)之前经常创建和发布新的 CRL 是 PKI 供应商的职责。YaST 不支持此过程的自动化。

将 CA 对象导出到 LDAP

要进行 LDAP 导出,执行计算机应配置有 YaST LDAP 客户机。它运行时提供 LDAP 服务器信息,填写对话框字段的时候需要这些信息。否则,虽然可以进行导出,但必须手动输入所有 LDAP 数据。您总是要输入多个密码(请参见表 表 42.3 “LDAP 导出期间的密码”)。

表 42.3. LDAP 导出期间的密码

密码

含义

LDAP 密码

授权用户进入 LDAP 树。

证书密码

受权用户导出证书。

新“证书密码”

在 LDAP 导出期间使用 PKCS12 格式。此格式强制为所导出的证书指派新密码。


可以将证书、CA 和 CRLs 导出到 LDAP。

将 CA 导出到 LDAP

要导出 CA,输入 第 42.2.2 节 “创建或撤消子 CA” 一节中介绍的CA。在随后的对话框中选择扩展+导出到 LDAP,打开用于输入 LDAP 数据的对话框。如果您的系统已配置 YaST LDAP 客户机,则这些字段已填写了一部分。否则,请手动输入所有数据。输入是在 LDAP 中具有“caCertificate”属性的一个单独的树中进行的。

将证书导出到 LDAP

进入包含要导出的证书的 CA,然后选择证书。从对话框上部的证书列表中选择所需的证书,然后选择导出+导出到 LDAP。在这里输入 LDAP 数据,方式与为 CA 输入数据时相同。证书将以“用户证书”(PEM 格式) 和 “用户PKCS12” (PKCS12 格式)为属性,以用户项目保存到 LDAP 树。

将 CRL 导出到 LDAP

输入包含要导出的 CRL 的 CA,然后选择 CRL。如果需要,创建新的 CRL,然后单击导出。打开的对话框中将显示导出参数。您可以一次性导出此 CA 的 CRL 或定期导出。通过选择导出到 LDAP 激活该导出,然后输入相应的 LDAP 数据。要定期执行此操作,选择反复再创建并导出单选按钮,并更改间隔(如果适合)。

将 “CA 项目”导出为文件

如果已经在计算机上设置了一个用来管理 CA 的储存库,则可以使用此选项在正确的位置直接以文件形式创建 CA 对象。有多种输出格式可用,如 PEM、DER 和 PKCS12。在 PEM 情况下, 可以选择是否使用密钥将证书导出,以及该密钥是否要加密。在 PKCS12 情况下,可以导出证书路径。

可以采取与使用 LDAP 相同的方式导出证书、CA 文件,只是要选择以文件导出,而不是导出到 LDAP,详见第 42.2.6 节 “将 CA 对象导出到 LDAP ”。完成上述操作后将进入一个对话框,在其中可选择所需输出格式并输入密码和文件名。单击确定后,即将证书储存在所需位置。

对于 CRL,单击导出,选择导出到文件,选择导出格式(PEM 或 DER),然后输入路径。继续单击确定,将其保存到相应的位置。

[Tip]

您可以选择文件系统中的任何储存位置。此选项也可用于将 CA 项目保存在传输媒体(例如 USB 储存棒)上。/媒体 目录通常包含除系统硬盘驱动器之外的各类驱动器。

导入“普通服务器证书”

如果已经在孤立的 CA 管理计算机上使用 YaST 将服务器证书导出到媒体,则可以将此证书作为普通服务器证书导入到服务器上。使用 YaST 在安装期间或稍后的步骤中执行此操作。

[Note]

要成功地导入证书,您需要一个 PKCS12 格式。

公共服务器证书储存在 /etc/ssl/servercerts 中,任何支持 CA 的服务均可在此使用它。此证书失效时,则可以使用相同的机制方便地替换此证书。要使用替代证书运行各事件,重启动这些参与的服务。

[Tip]

如果在这里选择了导入,则可以在文件系统中选择导入源。此选项也可用从传输媒体导入证书,例如 USB 储存棒。

导如一个一般服务器证书,操作如下:

  1. 启动 YaST 并打开安全和用户下的普通服务器证书

  2. 在 YaST 启动后,在说明字段中可查看当前证书的数据。

  3. 选择 导如 和证书文件。

  4. 输入密码并单击下一步。这样,导入的证书便会显示在说明字段里。

  5. 单击完成,关闭 YaST。