创建从属证书授权机构
本页介绍了如何在 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 池中添加多个从属 CA 有助于您更好地对证书请求进行负载均衡,并提高总有效 QPS。
如需创建子 CA,请执行以下操作:
前往 Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 管理器标签页。
点击创建 CA。
选择 CA 类型
- 点击从属 CA。
- 点击根 CA 位于 Google Cloud 中。
- 在有效期字段中,输入您希望 CA 证书有效的时长。
- 可选:为 CA 选择层级。默认层级为企业。如需了解详情,请参阅选择操作层级。
- 点击区域,为 CA 选择一个位置。如需了解详情,请参阅位置。
- 可选:在初始化状态下,选择 CA 在创建时必须处于的状态。
- 可选:在设置发行场景下,点击证书配置文件,然后从列表中选择最符合您要求的证书配置文件。如需了解详情,请参阅证书配置文件。
- 点击下一步。
- 在组织 (O) 字段中,输入贵公司的名称。
- 可选:在组织部门 (OU) 字段中,输入公司分支或业务部门。
- 可选:在国家/地区名称 (C) 字段中,输入一个由两个字母组成的国家/地区代码。
- 可选:在州或省名称字段中,输入您所在的州/省的名称。
- 可选:在地理位置名称字段中,输入您所在的城市的名称。
- 在 CA 通用名称 (CN) 字段中,输入 CA 名称。
- 点击继续。
- 选择最符合您需求的密钥算法。如需了解如何确定合适的密钥算法,请参阅选择密钥算法。
- 点击继续。
- 选择要使用 Google 管理的 Cloud Storage 存储分区还是客户管理的 Cloud Storage 存储分区。
- 对于 Google 管理的 Cloud Storage 存储分区,CA Service 会在 CA 所在的位置创建 Google 管理的存储分区。
- 对于客户管理的 Cloud Storage 存储分区,请点击“浏览”,然后选择其中一个现有 Cloud Storage 存储分区。
- 点击继续。
以下步骤是可选的。
如果您想向 CA 添加标签,请执行以下操作:
- 点击 Add item(添加内容)。
- 在密钥 1 字段中,输入标签键。
- 在值 1 字段中,输入标签值。
- 如果您想添加其他标签,请点击 Add item(添加项)。然后,添加标签键和值(如第 2 步和第 3 步所述)。
- 点击继续。
仔细检查所有设置,然后点击完成以创建 CA。
为从属 CA 创建 CA 池:
gcloud privateca pools create
SUBORDINATE_POOL_ID --location=LOCATION 替换以下内容:
- SUBORDINATE_POOL_ID:CA 池的名称。
- LOCATION:您要在其中创建 CA 池的位置。如需查看位置的完整列表,请参阅位置。
如需详细了解如何创建 CA 池,请参阅创建 CA 池。
如需详细了解
gcloud privateca pools create
命令,请参阅 gcloud privateca pools create。在创建的 CA 池中创建从属 CA。
gcloud privateca subordinates create
SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=POOL_ID \ --issuer-location=ISSUER_LOCATION \ --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。
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
启用从属 CA
如需启用子 CA,请执行以下操作:
前往 Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 管理器标签页。
在证书授权机构下,选择要激活的 CA。
点击
Activate(激活)。在打开的对话框中,点击 Download CSR(下载 CSR),下载可供签发 CA 签名的 PEM 编码 CSR 文件。
点击下一步。
在上传证书链字段中,点击浏览。
上传扩展名为
.crt
的已签名证书文件。点击激活。
如需启用新创建的子 CA,请运行以下命令:
gcloud privateca subordinates enable SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION
替换以下内容:
- SUBORDINATE_CA_ID:从属 CA 的唯一标识符。
- SUBORDINATE_POOL_ID:包含从属 CA 的 CA 池的名称。
- LOCATION:CA 池的位置。如需查看位置的完整列表,请参阅位置。
如需详细了解 gcloud privateca subordinates enable
命令,请参阅 gcloud privateca subordinates enable。
将从属 CA 上的 desired_state
字段设置为 ENABLED
,然后运行 terraform apply
。