如何在没有 PEM 编码的 RSA 私钥的情况下在 Google 云平台上设置 SSL 证书

How to setup SSL certificate on Google Cloud Platform without PEM encoded RSA private key

我已经购买了 SSL 证书,并想将其安装在我在 google 云平台上托管的网站上。当我访问 https://example.com connection is secured. However, I suppose, I need to finish installing process according to this guide 时,我已经在我的 Microsoft IIS 8 服务器上成功安装了证书。 该文档说我需要在 App Engine 页面上上传新证书。但它只接受 PEM 编码的 RSA 私钥。此证书的销售商没有以正确的文件类型提供此密钥,我通过 OpenSLL 转换它的所有尝试都失败了。 有没有另一种方法可以设置此证书而无需复杂的转换过程?

正如 Dan Cornilescu 提到的 openssl rsa -in <your_key_file> -text > <your_key_file>.pem 是转换请求文件的方式。 如果你遇到错误 "Unable to load Private Key. Expecting any private key" 修复它的方法是将“>”替换为“-out”

要获取 App Engine 所需的 PEM 和 RSA 密钥文件,请执行以下操作:

  • 以 PFX 格式从 IIS 服务器导出证书(例如 server.pfx)
  • 将文件传输到装有 OpenSSL 的计算机
  • 执行:openssl pkcs12 -in server.pfx -nokeys -out server.pem
  • 执行:openssl pkcs12 -in server.pfx -nocerts -out server.key
  • 执行:openssl rsa -in server.key -out server-no-password.key

在您的 App Engine

中使用 server.pem 和 server-no-password.key