谷歌应用自定义域SSL出现问题

28

我目前正在使用 Google Apps for Business 的 30天免费试用期(已设置帐单,因此很快将开始非免费试用期)。 我正尝试为 Google App Engine 应用程序的自定义域设置 SSL,但我对这方面的知识不是很了解,并且我积累的文件未被应用程序提交表单接受。

我按照以下过程进行:

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

填写证书请求信息后(名称为 www.mydomain.com),我得到了两个文件CSR.csr和privateKey.key。

我使用 SSL 提供商 CheapSSLs.com 根据 CSR.csr 提供了一个证书,证书名为www_mydomain_com.crt

但是,在通过Google Apps仪表板->安全性->自定义域的SSL并上传www_mydomain_com.crtprivateKey.key时,我收到以下错误消息:

私钥和 SSL 证书都应该是未加密的 PEM 格式。

有什么帮助吗? 就我所知,它们确实是以这种格式存在:私钥看起来像:

-----BEGIN PRIVATE KEY-----
MIIEv...
...
...CftTU=
-----END PRIVATE KEY-----

并且 .crt 文件看起来像:

-----BEGIN CERTIFICATE----- 
MIIFy...
...
...WJjk= 
-----END CERTIFICATE-----
3个回答

63

这个问题被社区友好的成员回答了,但很快就被删除了(不确定为什么...),但在我发现他的回答并使用它之前,已经带来了极大的效果 :)

openssl rsa -in privateKey.key -text > private.pem
openssl x509 -inform PEM -in www_mydomain_com.crt > public.pem

上述两个命令会生成 private.pempublic.pem,这两个文件可以在Google Apps控制面板中很好地被接受。

谢谢!


更新:您需要使用@Christian的方法才能使私钥起作用。 - Jarvis Luong

23

对我来说,问题在于我的private.key格式不正确。

如果你的密钥以 ---BEGIN PRIVATE KEY--- 开头,则需要将其转换为RSA密钥。

openssl rsa -in private.key -out private_rsa.key

那么在您使用 GAE 时与之配合的 private_rsa.key 文件开头应该看到 ---BEGIN RSA PRIVATE KEY---


1
在尝试其他方法后,这个解决了我的问题。谢谢! - Dan Cramer

0
生成一个新的2048位RSA密钥:
openssl genrsa -out myServer.key 2048

将现有的密钥转换为RSA:

openssl rsa -in myServer.key -out myServer-rsa.key

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接