2017-01-27 67 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。 –