当前位置: 首页 > 知识库问答 >
问题:

使用Google App Engine时SSL证书无效和/或丢失

焦学海
2023-03-14

更新:如果有人能帮忙,请:谷歌正在等待他们的错误跟踪工具上的输入和这个问题的例子。如果您对此问题有可重复的步骤,请在以下网站上分享:https://code.google.com/p/googleappengine/issues/detail?id=10937

我正在尝试使用Google应用程序引擎后端从StackExchange API获取数据。您可能知道,StackExchange的一些API是特定于站点的,要求开发人员对用户注册的每个站点运行查询。

下面是我从这些站点获取时间线数据的后端代码。feed\u info\u site变量保存StackExchange站点名称(例如'security''serverfault'等)。

    data = json.loads(urllib.urlopen("%sme/timeline?%s" % 
        (self.API_BASE_URL, urllib.urlencode({"pagesize": 100, 
        "fromdate": se_since_timestamp, "filter": "!9WWBR
        (nmw", "site": feed_info_site, "access_token": 
    decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key": 
self.API_APP_KEY}))).read())
for item in data['items']:
    ... # code for parsing timeline items

在除堆栈溢出外的所有站点上运行此查询时,一切正常。奇怪的是,当feed\u info\u site变量设置为'stackoverflow'时,我从Google App Engine得到以下错误:

    HTTPException: Invalid and/or missing SSL certificate for URL: 
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
    <ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow

当然,如果我在Safari中运行相同的查询,我将从API中获得预期的JSON结果。所以问题其实在于谷歌的URLfetch服务。我在这里发现了几个与类似HTTPS/SSL异常相关的堆栈溢出主题,但没有公认的答案解决了我的问题。我试图删除cacerts。txt文件。我还尝试了使用validate\u certificate=False进行调用,但没有成功。

我认为这个问题与HTTPS/SSL没有严格的关系。如果是这样,您将如何解释更改单个API参数会使请求失败?


共有2个答案

桂和同
2023-03-14

我也遇到了同样的错误,谷歌现在已经更新了应用程序引擎,错误已经解决,请检查更新的文档。

诸彬郁
2023-03-14
  1. 等待应用程序引擎的下一次更新(计划很快),然后更新。
  2. 用另一个服务替换browserid.org/verify(verifier.loogin.persona.org/verify是Mozilla托管的一个可以使用的好服务)
  3. 确保cacerts.txt不存在(看起来你已经排序了,但以防万一:-) )
  4. 再次尝试祝你好运!-布兰登
 类似资料:
  • 最近,Chrome已经停止使用我自己签名的SSL证书,并认为它们不安全。当我查看选项卡中的证书时,我可以看到它说 主题备选名称缺少此站点的证书不包含包含域名或IP地址的主题备选名称扩展名。 证书错误站点的证书链存在问题(net::ERR\u CERT\u COMMON\u NAME\u无效)。 我怎样才能解决这个问题?

  • 我有SSL证书、私钥和SSLCertificateChain证书如下: > SSL证书: ----开始证书---- 私钥: ----开始RSA私钥----- 这里有钥匙 在/opt/tomcat/conf/server.xml中将连接器修改为: 我重新启动了tomcat服务器,http://www.digicert.com/help/show错误“SSL证书不可信”,如图所示。 文件扩展名或con

  • 问题内容: 我知道,关于这个问题有很多不同的问题和很多答案…但是我听不懂… 我已经:从关闭“按原样”安装了ubuntu-9.10-desktop-amd64 + NetBeans6.7.1。代表 我需要通过HTTPS连接到某个站点。为此,我使用Apache的HttpClient。 从教程中我读到: “一旦正确安装了JSSE,通过SSL的安全HTTP通信就应该 与普通HTTP通信一样简单。” 还有一

  • -=更新=- 我遇到的问题是,证书是有效的,但站点对证书无效。保留默认设置(提供带有证书默认设置的配置文件或使用Capybara中的标准:selenium驱动程序)对我的案例有效。我错误地认为我需要修改Firefox配置文件才能让驱动程序工作,但事实并非如此。 从自定义配置文件中删除证书设置修复了此问题。谢谢Jarib -=原问题=- 我目前正在尝试设置测试浏览器,以便在使用Cucumber和Ca

  • 问题内容: 我正在尝试使用安全套接字层(HTTPS)与Java中的PHP脚本建立连接,但是我发现为了确保最大的安全性/有效性,我必须将网站使用的SSL证书导入到我的应用程序中…我不知道该怎么做。 如果有帮助,我的SSL证书不是自签名的,而是由StartSSL提供的,并且我正在使用Eclipse IDE。 有人能指出我正确的方向吗?即,我需要什么文件,应该在哪里导入它们,以及在Java中需要什么代码