bg-tutorials

如何在Google App Engine上生成CSR

本教程介绍如何为 Google App Engine 生成 CSR(证书签名请求)。由于 GAE 会自动配置由 Google 管理的 SSL 证书(由 Google Trust Services 或 Let’s Encrypt 签发),因此只有在您计划上传自己的证书时才需要生成 CSR,例如来自商业证书颁发机构的 OV、EV 或通配符证书。

GAE 没有内置的 CSR 生成器,因此您需要在平台外使用 OpenSSL 创建 CSR。您可以在 Google Cloud Shell(可从 Cloud Console 访问)中运行相关命令,或在任何已安装 OpenSSL 的本地计算机上运行。

在 Google App Engine 上生成 CSR

您有两种选择:

  • 使用我们的 CSR 生成器 自动创建 CSR 和私钥。
  • 按照下面的手动步骤使用 OpenSSL 生成 CSR。

步骤 1:打开终端

如果您使用的是 Google Cloud Shell,请打开 Cloud Console,选择您的项目,然后点击右上角工具栏中的 Activate Cloud Shell 按钮。终端会话会在页面底部打开,并处于您的主目录(/home/your-username)中。

在本地计算机上,打开任何可以使用 OpenSSL 的终端(Linux、macOS 终端,或安装了 OpenSSL 的 Windows)。

步骤 2:运行 OpenSSL 命令

运行以下命令,一步生成新的 RSA-2048 私钥和 CSR。Google App Engine 要求使用 RSA-2048 密钥;不支持更大的密钥长度(3072、4096)以及 ECC 密钥。

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

yourdomain 替换为您的实际域名。该命令会创建两个文件:

  • yourdomain.key,您的私钥。请妥善保管此文件;在将证书上传到 GAE 时您会需要用到它。
  • yourdomain.csr,您的证书签名请求。

步骤 3:填写 CSR 字段

OpenSSL 会提示您输入若干字段。请按照以下示例输入信息:

  • 国家名称(2字母代码):您的组织合法注册所在国家的 ISO 国家代码,例如 US
  • 省/州名称:省或地区的全称,例如 California
  • 城市名称:您组织所在的城市,例如 San Francisco
  • 组织名称:您公司的法定名称。对于域名验证证书,此值不会被验证,但请不要直接按回车键:这样 OpenSSL 会填入其配置中定义的默认值,而标准的 openssl.cnf 自带的默认值是 Internet Widgits Pty Ltd,这将出现在您的 CSR 中。请输入一个句点(.)以使该字段真正保持为空。
  • 组织单位名称:留空(此字段已被弃用,CA 会忽略它)。
  • 通用名称:您要保护的完全限定域名(FQDN),例如 yourdomain.com。对于通配符证书,请输入 *.yourdomain.com
  • 电子邮件地址:可选。您可以将其留空。
  • 质询密码/可选公司名称:直接按回车键跳过这两个字段。

步骤 4:提交 CSR

打开 CSR 文件,复制全部内容,包括 -----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST----- 这两行:

cat yourdomain.csr

在申请 SSL 证书时,将 CSR 文本粘贴到订单表单中。您也可以在提交之前使用我们的 CSR 解码器 验证您的 CSR。

在证书颁发机构验证您的请求并签发证书后,继续将其上传到 Google App Engine。

将 SSL 证书上传到 Google App Engine

从 CA 收到证书文件后(通常是一个 .crt 文件和一个 .ca-bundle 或中间证书文件),您可以通过 Google Cloud Console 或 gcloud CLI 上传它们。

选项 A:Google Cloud Console

  1. 打开 Google Cloud Console,然后导航到 App Engine > Settings > SSL certificates
  2. 点击 Upload a new certificate
  3. 将证书文件(.crt)的内容粘贴到 PEM encoded X.509 public key certificate 字段中。如果您的 CA 提供了单独的中间证书包,请将其附加在同一字段中证书内容的下方。
  4. 将您的私钥(yourdomain.key)内容粘贴到 Unencrypted PEM encoded RSA private key 字段中。
  5. 点击 Upload。Google 会验证这些文件,并在您的自定义域名上激活该证书。

选项 B:gcloud CLI

如果您更喜欢使用命令行,可以使用 gcloud CLI 创建证书:

gcloud app ssl-certificates create 
  --display-name="My SSL Certificate" 
  --certificate=/path/to/yourdomain_fullchain.crt 
  --private-key=/path/to/yourdomain.key

--certificate 标志需要一个 PEM 文件,其中包含您的服务器证书,后接中间证书链。--private-key 标志指向您未加密的 RSA 私钥文件。

上传完成后,将证书映射到您的自定义域名:

gcloud app domain-mappings update yourdomain.com 
  --certificate-id=CERT_ID

CERT_ID 替换为上一条命令返回的证书 ID,并将 yourdomain.com 替换为您的实际域名。

要确认证书已激活并正确安装,请使用我们的 SSL 检测工具 扫描您的域名。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.