3.5. 为证书设置签名算法


CA 的签名证书可以签署它通过 CA 支持的任何公钥算法发布的证书。例如,ECC 签名证书可以同时为 ECC 和 RSA 证书请求签名,只要 CA 支持 ECC 和 RSA 算法。RSA 签名证书可以使用 EC 密钥为 PKCS11410 请求签名,但如果 ECC 模块没有可用于 CA 验证 CRMF 概念验证(POP),则可能无法使用 ECC 模块为 CRMF 证书签名。
ECC 和 RSA 是公钥加密和解密算法。公钥算法都支持不同的密码套件,用于加密和解密数据的算法。CA 签名证书的功能部分就是使用其其中一个支持的密码套件发布和签署证书。
每个配置集可以定义 CA 应该用来为通过该配置集处理的证书签名的密码套件。如果没有设置签名算法,则配置集会使用任何默认签名算法。

3.5.1. 设置 CA 的默认签名算法

  1. 打开 CA 控制台。
    pkiconsole https://server.example.com:8443/ca
  2. Configuration 选项卡中,展开 证书管理器 树。
  3. General Settings 选项卡中,在 Algorithm 下拉菜单中选择要使用的算法。
注意
pkiconsole 已被弃用。

3.5.2. 在配置文件中设置签名算法默认值

每个配置集都定义了 Signing Algorithm Default 扩展。默认有两个设置:如果证书请求指定了不同的算法,则默认算法和允许的算法列表。如果没有指定签名算法,则配置集将使用任何设置为 CA 的默认值。
在配置文件的 .cfg 文件中,算法使用两个参数设置:
policyset.cmcUserCertSet.8.constraint.class_id=signingAlgConstraintImpl
policyset.cmcUserCertSet.8.constraint.name=No Constraint
policyset.cmcUserCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
policyset.cmcUserCertSet.8.default.class_id=signingAlgDefaultImpl
policyset.cmcUserCertSet.8.default.name=Signing Alg
policyset.cmcUserCertSet.8.default.params.signingAlg=-
通过控制台配置 Signing Algorithm Default:
注意
在编辑配置集前,必须首先由代理禁用它。
  1. 打开 CA 控制台。
    pkiconsole https://server.example.com:8443/ca
  2. Configuration 选项卡中,展开 证书管理器 树。
  3. Certificate Profiles 项。
  4. Policies 选项卡。
  5. 选择 Signing Alg 策略,然后单击 Edit 按钮。
  6. 要设置默认签名算法,请在 Defaults 选项卡中设置值。如果设置为 -,则配置文件将使用 CA 的默认值。
  7. 要设置可在证书请求中可接受的允许签名算法列表,请打开 Constraints 选项卡,并在 Value 字段中为 signingAlgsAllowed 设置算法列表。
    约束的可能值列在 第 B.2.10 节 “签名算法约束” 中。
注意
pkiconsole 已被弃用。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.