请求证书
本页面介绍了如何在 Certificate Authority Service 中创建证书请求。
您可以使用以下方法申请证书:
- 生成您自己的私钥或公钥,并提交证书签名请求 (CSR)。
- 使用由 CA 服务自动生成的私钥或公钥。
- 使用现有的 Cloud Key Management Service (Cloud KMS) 密钥。
准备工作
如需获得颁发证书所需的权限,请让管理员为您授予 CA Service Certificate Requester (
roles/privateca.certificateRequester) 或 CA Service Certificate Manager (roles/privateca.certificateManager) IAM 角色。如需详细了解 CA 服务的预定义 IAM 角色,请参阅使用 IAM 进行访问权限控制。
如需了解如何向主账号授予 IAM 角色,请参阅授予单个角色。
使用 CSR 请求证书
如需获取证书,您需要生成一个 CSR,然后使用该 CSR 请求证书。
生成 CSR
如需详细了解如何使用 OpenSSL 生成 CSR,请参阅如何使用 OpenSSL 生成 CSR。 您还可以在生成 CSR 时参考以下示例配置文件。
如需使用示例配置文件,请按以下步骤操作:
使用以下配置创建名为
csr.cnf的配置文件。cat << EOF > csr.cnf [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] CN = example.com [v3_req] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = example.com DNS.2 = www.example.com EOF此示例会生成一个 2048 位 RSA 密钥(口令加密)和一个包含以下内容的相应 CSR:
- 主题 DN 中的
commonName属性 subjectAlternativeName扩展程序keyUsage扩展程序(标记为关键)extendedKeyUsage扩展程序
根据需要修改参数。如需使用
x509v3_config配置文件格式为 X.509 证书和 CSR 定义扩展,请参阅 OpenSSL 文档。- 主题 DN 中的
运行以下
openssl命令,以生成 CSR 和相应的私钥:openssl req -newkey rsa:2048 -out csr.pem -keyout key.pem -config csr.cnf此命令会生成以下文件:
csr.pem:您的 CSR,可随时提交给 CAkey.pem:您的私钥,您应妥善保管
在证书请求中使用
csr.pem文件。
使用 CSR 提交证书请求
如需使用 CSR 请求证书,请按以下步骤操作:
控制台
前往Google Cloud 控制台中的 Certificate Authority Service 页面。
点击申请证书。
选择区域。 该区域必须与您打算使用的 CA 池的区域相同。
选择 CA 池。
可选:从 CA 池中选择特定 CA。请注意,如果您选择特定 CA 来颁发证书,则会创建对该 CA 的依赖关系,从而更难轮换 CA。
可选:选择证书模板。如果您使用证书模板,请确保证书模板的政策与所选 CA 池的政策不冲突。
点击提供证书签名请求 (CSR),然后点击下一步。系统会显示证书详细信息。
可选:如需覆盖自动生成的证书名称,请在证书名称字段中输入自定义名称。证书创建后,您无法删除或重复使用证书名称。
可选:如需为证书选择自定义有效期,请在有效期字段中输入相应值。
将 CSR 复制并粘贴到证书 CSR 框中。如果您要上传包含 CSR 的文件,请点击浏览,然后选择相应的文件。
点击生成证书。
下载已签名的证书
- 如需查看生成的证书,请点击查看证书,然后点击查看。
- 如需复制证书,请点击 。如需下载
.crt文件形式的证书,请点击下载证书。 - 可选:如需下载证书链,请点击 下载证书链。
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--issuer-location ISSUER_LOCATION \
--csr CSR_FILENAME \
--cert-output-file CERT_OUTPUT_FILE \
--validity "P30D"
替换以下内容:
- CERT_ID:证书的唯一标识符