创建从属证书授权机构
本页面介绍了如何在 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。
- 点击 Root CA is in Google Cloud。
- 在有效期字段中,输入您希望 CA 证书的有效期。
- 可选:选择 CA 的层级。默认层级为 Enterprise。如需了解详情,请参阅选择操作层级。
- 点击区域,为 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 添加标签,请执行以下操作:
- 点击 添加项目。
- 在密钥 1 字段中,输入标签键。
- 在值 1 字段中,输入标签值。
- 如果您想添加其他标签,请点击 添加项。然后,按照第 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 Service 中或其他位置的从属 CA。
Terraform
Java
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
启用从属 CA
如需启用下级 CA,请执行以下操作:
控制台
前往Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 管理器标签页。
在证书授权机构下,选择要激活的 CA。
点击
启用。在随即打开的对话框中,点击下载 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
。