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 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.