创建从属证书授权机构
本页面介绍了如何在 CA 池中创建从属证书授权机构 (CA)。
从属 CA 负责直接向 最终用户、计算机和设备等最终实体。从属 CA 以加密形式 由父 CA(通常是根 CA)签名。因此,信任根 CA 的系统会自动信任从属 CA 以及从属 CA 颁发的最终实体证书。
准备工作
- 确保您拥有 CA Service Operation Manager (
roles/privateca.caManager
) 或 CA Service Admin (roles/privateca.admin
) IAM 角色。有关详情,请参阅 配置 IAM 政策。 - 创建 CA 池。
- 选择您的根 CA。
创建从属 CA
从属 CA 比根 CA 更容易撤消和轮替。如果您有 多个证书颁发场景,您可以为 每种场景下在 CA 池中添加多个从属 CA 有助于您 可以更好地对证书请求进行负载均衡 总有效 QPS。
如需创建从属 CA,请执行以下操作:
控制台
前往 Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 管理员标签页。
点击创建 CA。
选择 CA 类型
- 点击从属 CA。
- 点击根 CA 位于 Google Cloud 中。
- 在有效期字段中,输入所需的时长 CA 证书才有效
- 可选:为 CA 选择层级。默认层级为企业。如需了解详情,请参阅选择操作层级。
- 点击区域,为 CA 选择一个位置。有关 相关信息,请参阅位置。
- 可选:在初始化状态下,选择 CA 必须的州 所有角色
- 可选:在设置发证场景下,点击证书配置文件,然后从列表中选择最符合您要求的证书配置文件。如需了解详情,请参阅证书配置文件。
- 点击下一步。
- 在组织 (O) 字段中,输入贵公司的名称。
- 可选:在组织部门 (OU) 字段中,输入公司 下属行政单位或业务部门。
- 可选:在国家/地区名称字段中,输入两个字母的国家/地区代码。
- 可选:在州或省名称字段中,输入您所在的州/省的名称。
- 可选:在地理位置名称字段中,输入您所在的城市的名称。
- 在 CA 通用名称 (CN) 字段中,输入 CA 名称。
- 在池 ID 字段中,输入 CA 池名称。您无法更改 在创建 CA 后创建的 CA 池。
- 点击下一步。
- 选择最符合您需求的密钥算法。相关信息 如何确定合适的密钥算法,请参阅 选择密钥算法。
- 点击下一步。
以下步骤是可选的。如果您跳过这些步骤,系统会应用默认设置。
- 选择要使用 Google 管理的 Cloud Storage 存储桶还是自行管理的 Cloud Storage 存储桶。
- 选择是否要禁止发布证书 吊销列表 (CRL) 和 CA 证书传送到 Cloud Storage 存储桶。
- 点击下一步。
如果您未选择自有 Cloud Storage 存储桶,CA Service 会在与 CA 相同的位置创建一个 Google 管理的存储桶。
默认情况下,系统会启用在 Cloud Storage 存储桶中发布 CRL 和 CA 证书的功能。要停用这些设置,请点击切换开关。
以下步骤是可选的。
如果要向 CA 添加标签,请执行以下操作:
- 点击 添加一项。
- 在密钥 1 字段中,输入标签键。
- 在值 1 字段中,输入标签值。
- 如果您想添加其他标签,请点击 Add item(添加项)。然后,添加标签键和值(如第 2 步和第 3 步所述)。
- 点击下一步。
仔细检查所有设置,然后点击创建以创建 CA。
gcloud
为从属 CA 创建 CA 池:
gcloud privateca pools create SUBORDINATE_POOL_ID
将 SUBORDINATE_POOL_ID 替换为 CA 池的名称。
如需详细了解如何创建 CA 池,请参阅创建 CA 池。
如需详细了解
gcloud privateca pools create
命令,请参阅 gcloud privateca buckets create。在创建的 CA 池中创建从属 CA。
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --issuer-pool=POOL_ID \ --key-algorithm="ec-p256-sha256" \ --subject="CN=Example Server TLS CA, O=Example LLC"
创建从属 CA 时,系统会返回以下语句。
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
如需查看完整的设置列表,请运行以下
gcloud
命令:gcloud privateca subordinates create --help
该命令会返回一些示例,用于创建其颁发者位于 CA 服务上或位于其他位置的从属 CA。
Terraform
Java
如需向 CA 服务进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
启用从属 CA
如需启用子 CA,请执行以下操作:
控制台
转到 Certificate Authority Service 页面: Google Cloud 控制台
点击 CA 管理员标签页。
在证书授权机构下,选择要启用的 CA。
点击
Activate(启用)。在打开的对话框中,点击下载 CSR 以下载 PEM 编码的 CSR 文件,证书颁发机构可以签署该文件。
点击下一步。
在上传证书链字段中,点击浏览。
上传扩展名为
.crt
的已签名证书文件。点击激活。
gcloud
如需启用新创建的子 CA,请运行以下命令:
gcloud privateca subordinates enable SUBORDINATE_CA_ID --pool=SUBORDINATE_POOL_ID
替换以下内容:
- SUBORDINATE_CA_ID:从属 CA 的唯一标识符。
- SUBORDINATE_POOL_ID:包含从属 CA 的 CA 池的名称。
如需详细了解 gcloud privateca subordinates enable
命令,请参阅 gcloud privateca subordinates enable。
Terraform
将从属 CA 上的 desired_state
字段设置为 ENABLED
,然后运行 terraform apply
。