首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ZeroSSL为谷歌应用程序引擎创建SSL证书,让我们加密

使用ZeroSSL为谷歌应用程序引擎创建SSL证书,让我们加密
EN

Stack Overflow用户
提问于 2016-09-23 03:48:11
回答 2查看 1.9K关注 0票数 5

我正在尝试将使用让我们加密的ZeroSSL.com页面创建的SSL证书安装到Google Cloud平台中。我遵循免费的SSL证书向导来做这件事。ZeroSSL页面在流程中生成四个文件:domain-crt.txt域-key.txt account-key.txt域-csr.txt

google Cloud平台需要两个文件: PEM编码的X.509公钥证书,未加密的PEM编码的RSA私钥

我做了所有的组合,并遵循了我能在网络上找到的所有建议,但我没有成功。

EN

回答 2

Stack Overflow用户

发布于 2016-09-23 03:48:11

我问过zeroSSL的人这个问题,Alexander回答了我的问题。

默认情况下,SSL证书向导会生成更长、更安全的4096位密钥,但Google只接受2048位密钥。因此,您应该首先使用https://zerossl.com/free-ssl/#csr上的CSR生成器单独生成新的CSR,并确保选择2048位。然后下载生成的密钥和CSR (请注意,这是域密钥,而不是LE密钥),然后使用与最初使用的相同的LE密钥,并通过SSL证书向导使用这个新的CSR。在向导的最后一步,您可能需要将domain-crt.txt文件一分为二。-BEGIN certificate-和-END certificate-之间的第一部分将进入“公钥证书”字段。最后,将domain-key.txt的内容粘贴到Private key字段中。

票数 5
EN

Stack Overflow用户

发布于 2016-09-23 04:31:23

您可以从命令行免费执行此操作:

安装Certbot客户端:

代码语言:javascript
复制
$ sudo brew install wget
$ wget https://dl.eff.org/certbot-auto
$ chmod a+x ./certbot-auto
$ ./certbot-auto --help

然后,要生成证书:

代码语言:javascript
复制
$ cd certbot (if not already there)
$ sudo ./certbot-auto certonly --debug -a manual -d www.yoursite.com -d yoursite.com (<--if you want naked too.)

您应该会看到一个屏幕,告诉您验证域所需的挑战url和响应。添加每个& deploy。让每个url正常工作。(续订时将需要它们。)如果您同时执行naked和www,则需要执行两次挑战urls,每个子域一次。最后,您应该得到以下消息:

  • Congratulations!您的证书和链已保存在/etc/letsencrypt/live/www.yoursite.com/fullchain.pem.您的证书将于2016-xx-07过期。要在将来获得此证书的新版本或调整后的版本,只需再次运行certbot-auto即可。要以非交互方式续订所有证书,请运行"certbot-auto renew"

切换到pem文件的存放目录:

代码语言:javascript
复制
$ cd /private/etc/letsencrypt/live/www.yoursite.com

创建未加密密钥(这是您上传到GAE的密钥。如果失败,使用原始privkey.pem):

代码语言:javascript
复制
$ sudo openssl rsa -in privkey.pem -out unencrypted_key.pem

请访问:https://console.cloud.google.com/appengine/settings/certificates?project=yoursite。单击Upload a new SSL certificate

在文本编辑器中打开这些PEM文件,然后复制/粘贴字段中的内容。(fullchain.pem是公钥。unencrypted_key.pem是未加密的私钥。)

注意:确保删除任何尾随空格或换行符!

这应该就行了。

调试:

如果在将证书粘贴到GAE设置页面时,出现invalid错误:

  • 确保删除所有尾随的换行符或空格!
  • 如果仍然不接受您的PEM文件,请用原始privkey.pem

中的代码替换unencrypted_key.pem中的代码

如果你得到了自制软件错误:

代码语言:javascript
复制
$ cd /usr/local/Library
$ sudo git pull origin master

如果get augeas错误:

代码语言:javascript
复制
$ brew install augeas

如果收到警告: augeas-1.4.0已安装,则说明它未链接

代码语言:javascript
复制
$ sudo brew link augeas

如果为ExecutableNotFound:

代码语言:javascript
复制
$ brew install dialog

如果收到警告: dialog-1.2-20150920已安装,则说明它未链接

代码语言:javascript
复制
$ sudo brew link dialog

续订中:

代码语言:javascript
复制
$ cd certbot
$ ./certbot-auto certonly --debug --force-renew -a manual -d www.yoursite.com -d yoursite.com

(您可能会收到"unable to reach...“错误,但仍创建证书。)切换到pem文件的存放目录:

代码语言:javascript
复制
$ cd /private/etc/letsencrypt/live/www.yoursite.com

创建未加密密钥(这是您上传到GAE的密钥。如果失败,使用原始privkey.pem):

代码语言:javascript
复制
$ sudo openssl rsa -in privkey.pem -out unencrypted_key.pem

fullchain.pem是公钥。

unencrypted_key.pem是未加密的私钥

转到GAE设置并按照上面所述进行安装。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39647713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档