如何向AppEngine提供格式正确的证书文件?

时间:2014-04-18 05:30:21

标签: google-app-engine ssl

我正在尝试为appengine上的自定义域设置SSL。该应用程序目前在自定义域上使用http工作正常。

我的证书提供商要求我使用openssl执行以下操作:

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

这产生了两个新文件,一个.key和一个.csr

我在创建证书的过程中使用了.csr,我看到了对comodo的引用,所以我假设他们提供了签名。我的提供商现在让我可以选择下载证书和中间证书。下载证书时,谷歌浏览器将其保存为.crt文件。

.key文件以-----BEGIN PRIVATE KEY-----

开头

.crt文件以-----BEGIN CERTIFICATE-----

开头

AppEngine需要证书文件和密钥文件。我尝试过两次上传.crt文件和.key文件但没有使用插槽。

我尝试将.crt转换为PEM:

openssl x509 -in certificate-xxxxx.crt -out mycert.pem -outform PEM

这给了我一个.pem,但也没有被接受。

我感谢任何评论,因为我不是安全专家,我在这里盲目。

更新-----

我的证书和密钥文件似乎都是.pem格式。

我认为密钥文件存在问题,因为它始于----- BEGIN PRIVATE KEY -----而不是----- BEGIN RSA PRIVATE KEY -----但我是被旧页面误入歧途 - 请参阅https://www.globalsign.com/blog/ssl-with-google-app-engine.html

似乎差异只是传统格式而不是 PKCS8 格式 - 请参阅Convert pem to key, SSL virtual host apache redhat aws

有趣的是,现在加载我的证书文件和密钥文件时,我收到的错误是“私钥和SSL证书都应采用未加密的PEM格式”。我想知道问题是由于加密还是证书提供者不是Comodo,我需要以某种方式合并临时证书。

已解决---- 密钥文件采用PEM格式,但不是RSA。我用过:

openssl rsa -in newkey.key -out newkey.pem

现在Google已接受这些文件。

newkey.pem文件以----- BEGIN RSA PRIVATE KEY -----开头,显然您需要这个才能被Google接受。

1 个答案:

答案 0 :(得分:1)

我采用了类似的方法并取得了成功。

区别在于我的密钥文件以: -----开始RSA私钥-----

我用这行来生成密钥和csr:

openssl req -new -newkey rsa:2048 -nodes -out mydomain.com.csr -keyout mydomain.com.key -subj "/C=FR/ST=Essonne/L=Paris/O=MyCompany/CN=mydomain.com"

我想你试图导入它? : https://admin.google.com/yourdomain.com/AdminHome?fral=1#SecuritySettings:flyout=ssl

我希望这会对你有帮助。