2017-01-27 66 views
2

根据文档...谷歌应用程序引擎SSL版本2.7.11库UN /支持

https://cloud.google.com/appengine/docs/python/sockets/ssl_support https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

SSL版本2.7.11支持TLS V1.0,V1.1和V1 .2(我需要TLSv1.2进行APN通信)。

而且

谷歌应用程序引擎/ Python支持SSL版本2.7.11(7月2016)

当我加入这个对我的app.yaml ...

libraries: 
    - name: ssl 
    version: 2.7.11 

。 ..并尝试部署应用程序(通过命令行上的appcfig.py或在发射器上“部署”)我收到一个错误...

Error parsing ./app.yaml: ssl version "2.7.11" is not supported, use one of: "2.7" 

如果我指定了版本2.7或“最新”,我将获得SSL版本2.7,但不支持TLS v1.1或v1.2。如果我在yaml的“libraries”子句中省略了SSL,则导入时应用程序不支持ssl模块。

我应该如何着手TLSv1.2支持的“import ssl”? 还是我忽略了一个app.yaml配置选项?

我的app.yaml的相关部分如下...

api_version: '1' 
runtime: python27 
threadsafe: false 

instance_class: F2 
automatic_scaling: 
    max_idle_instances: 4 
    max_pending_latency: 250ms 

builtins: 
- remote_api: 'on' 
- deferred: 'on' 

libraries: 
- name: django 
    version: '1.2' 
- name: ssl 
    version: '2.7.11' 

inbound_services: 
- warmup 
+0

可能在https://code.google.com/p/googleappengine/issues/list上存在问题? –

+1

我相信SSL 2.7版确实提供了TLSv1.2支持。 – GAEfan

+0

@GAEfan在app.yaml中指定的“version:'2.7'”中,部署的应用程序中的logging.debug(dir(ssl))仅确认协议PROTOCOL_SSLv23,PROTOCOL_SSLv3和PROTOCOL_TLSv1。 –

回答

1

请确保您更新到最新版本的SDK:

cloud.google.com/appengine/docs/python/download

这应该摆脱2.7.11的错误。较早的(2.7.11版之前)版本有这个错误。

+0

这正是问题所在。是GoogleAppEngineLauncher v1.9.36(1.9.36.544)。今天上午下载并安装了v1.9.50(1.9.50.2),并且无错地部署了ssl v2.7.11。此外,logging.debug(ssl .__ doc__)和logging.debug(dir(ssl))会显示其他SSL协议PROTOCOL_TLSv1_1和PROTOCOL_TLSv1_2。 –