我有一个网站在AppEngine上的一个域名下运行,SSL按预期工作。 但是,我切换到另一个域名,我一直无法获得SSL的工作。
当我去上传证书时,它会提示我input“PEM编码的X.509”证书文件和“未encryption的PEM编码的RSA”私钥文件。
有了最后一个域名,我只需插入CRT和私钥即可。 此键在顶部显示“—– BEGIN PRIVATE KEY —–”,并不表示它是RSA密钥,但没关系。 如果这很重要,我用命令行生成密钥/ CSR:
openssl req -new -nodes -keyout abc.com.key -out abc.com.csr -newkey rsa:2048
然而,有了这个新的域名,我将提供CRT(实际上是按顺序连接CRT和IA)和密钥文件。 密钥没有密码,并且都是PEM格式(标准,编码,ASCII文件,对吗?)。
但是,我收到一个错误:“私钥和SSL证书都应该是未encryption的PEM格式。” 这是上次没有发生的。
另一个网站说,我需要运行以下产生一个AppEngine可以使用的密钥:
openssl rsa -in abc.com.key -text > abc.com.key.pem
但是,我不知道这两种格式之间的区别,新文件的顶部有模数,指数,素数和系数,后面是“BEGIN RSA PRIVATE KEY BLOCK”。 这就是说,我现在可以上传原始的CRT和这个新的密钥文件。
这是我的第一个问题(我不明白我在做什么,在这里)。
我的第二个问题是IAauthentication被忽略了:AppEngine表明我只上传了一个证书(我看到了它应该指明两个证书的地方)。 当我单独上传IA和新密钥时,出现错误:“上传的私钥与SSL证书不匹配,请上传匹配的密钥”。
显然,后一种情况是更大的错误。 我得到一些来自Python的SSLvalidation错误,但不是来自浏览器。
我很感激在这个问题上的任何build议。
不pipe以前版本的Admin是什么情况,如果它实际上已经改变了,我们必须运行第二个命令,在上面(“openssl rsa -in abc.com.key -text> abc.com.key 。质子交换膜“)。
我对我读的东西的解释是不正确的。 AppEngine将仅指示当上传的是普通证书和IA证书级联时,已经消耗了一个证书插槽。
对于AppEngine应用更改(跨所有系统),也有一个小时的延迟。
我认为传播延迟与浏览器中的一些caching相结合产生了相当不一致的结果。
使用“openssl s_client abc.com -servername abc.com”,我看到了更加诚实的结果,并且也可以看到两个证书已经按照预期在链中configuration。