我正在尝试将使用ZeroSSL.com页面创建的用于Let's Encrypt的ssl证书安装到Google Cloud Platform中。 我按照免费的SSL证书向导进行操作。 ZeroSSL页面在此过程中生成四个文件: 域crt.txt 域key.txt 帐户key.txt 域csr.txt
Google Cloud Platform要求提供两个文件: PEM编码X.509公钥证书 未加密的PEM编码RSA私钥
我已经完成了所有组合,并遵循了我在网络上找到的所有建议,但我没有成功。
答案 0 :(得分:5)
我向zeroSSL人询问了这个问题,亚历山大用解决方案回答了我。
SSL证书向导默认生成更长的更安全的4096位密钥,但Google只接受2048位密钥。因此,您应首先在https://zerossl.com/free-ssl/#csr使用CSR Generator并单独生成新CSR,并确保选择2048位。然后下载生成的密钥和CSR(请注意,这是域密钥,而不是LE密钥),然后使用与最初使用的相同LE密钥和使用SSL证书向导的新CSR。 在上一个向导步骤中,您可能需要将domain-crt.txt文件拆分为两个。 --- BEGIN CERTIFICATE -----和--- END CERTIFICATE -----之间的第一部分将进入“公钥证书”字段。 最后,domain-key.txt的内容应该粘贴到“私钥”字段中。
答案 1 :(得分:1)
您可以从命令行免费执行此操作:
安装Certbot客户端:
$ sudo brew install wget
$ wget https://dl.eff.org/certbot-auto
$ chmod a+x ./certbot-auto
$ ./certbot-auto --help
然后,生成证书:
$ 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.)
您应该进入一个屏幕,告诉您验证域名所需的挑战网址和响应。添加每个&amp;部署。让每个网址都正常工作。 (更新需要它们。) 如果您同时执行裸体和www,则需要对挑战URL进行两次,每个子域一次。最后,您应该收到以下消息:
将目录更改为pem文件的放置位置:
$ cd /private/etc/letsencrypt/live/www.yoursite.com
创建未加密的密钥(这是您上传到GAE的密钥。如果失败,请使用原始的privkey.pem):
$ 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文件,请将unencrypted_key.pem
中的代码替换为原始privkey.pem
如果你得到自制错误:
$ cd /usr/local/Library
$ sudo git pull origin master
如果得到augeas错误:
$ brew install augeas
如果获得警告:已经安装了augeas-1.4.0,它就没有链接
$ sudo brew link augeas
如果ExecutableNotFound:
$ brew install dialog
如果获得警告:对话框1.2-20150920已经安装,它就没有链接
$ sudo brew link dialog
$ cd certbot
$ ./certbot-auto certonly --debug --force-renew -a manual -d www.yoursite.com -d yoursite.com
(你可能会得到一个&#34;无法达到......&#34;错误,但仍然会创建证书。) 将目录更改为pem文件的放置位置:
$ cd /private/etc/letsencrypt/live/www.yoursite.com
创建未加密的密钥(这是您上传到GAE的密钥。如果失败,请使用原始的privkey.pem):
$ sudo openssl rsa -in privkey.pem -out unencrypted_key.pem
fullchain.pem
是公钥
unencrypted_key.pem
是未加密的私钥
转到GAE设置并按上述安装。