Google App Engine客户端SNI支持python

时间:2016-04-01 07:04:02

标签: python google-app-engine ssl sni

我正在Google App Engine中编写应用程序,并且我正在尝试从GAE向私人服务器发送HTTPS请求(GET / POST)。

是否有任何方法可以实现以下请求: - 使用客户证书/密钥发送请求; - 验证服务器证书; 并使用SNI支持?

我试图使用:

  • urllib2 - >但它无法验证服务器CA;
  • urlfetch - >它只验证服务器CA;
  • urllib3 - >我得到了 " _ssl.c:529:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败",由于缺少SNI支持而导致;
  • lib请求 - >与urllib3相同。

我也试图让SNI将库放在Google App Engine上,如using requests with TLS doesn't give SNI support

所示
  • pyOpenSSL
  • NDG-httpsclient
  • pyasn1

但pyOpenSSL具有C依赖性,因此无法使用它,并且不支持它作为第三方库。

TL; DR:使用客户端证书从GAE向SSL中的私人服务器发送请求,验证服务器CA和SNI支持似乎是不可能的。 我认为问题是:

    GAE中的
  • python版本,即2.7.5而不是2.7.9(具有向后移植的SNI兼容性)。

  • 也许GAE中包含的SSL版本不支持SNI(ssl没有HAS_SNI attr)

我该怎么做?

0 个答案:

没有答案