创建从属证书授权机构
本页介绍了如何在 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。
gcloud
为从属 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。
Terraform
Java
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
启用从属 CA
如需启用子 CA,请执行以下操作:
控制台
前往 Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 管理器标签页。
在证书授权机构下,选择要激活的 CA。
点击
Activate(激活)。在打开的对话框中,点击 Download CSR(下载 CSR),下载可供签发 CA 签名的 PEM 编码 CSR 文件。
点击下一步。
在上传证书链字段中,点击浏览。
上传扩展名为
.crt
的已签名证书文件。点击激活。
gcloud
如需启用新创建的子 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。
Terraform
将从属 CA 上的 desired_state
字段设置为 ENABLED
,然后运行 terraform apply
。