2017-06-13 157 views
0

1)我在Mac OS X El Capitan上運行Google App Engine SDK。我的Python 2.7.13無法在Mac OS上運行TLS1.2

2)雖然試圖測試我的應用程序有條紋,我收到以下錯誤

請求req_ApPsfecKnLFJxb:條紋不再支持使用TLS 1.0取得API請求。請使用TLS 1.2或更高版本啓動HTTPS連接。你可以在https://stripe.com/blog/upgrading-tls瞭解更多。

3)我做了一些谷歌搜索,並根據我的發現,我做了以下

一)用於釀造升級我的OpenSSL

B)證實,當我做「這OpenSSL的」,我得到

在/ usr /本地的/ opt/OpenSSL的/ bin中/ OpenSSL的

,當我做 'OpenSSL的版本',我得到

OpenSSL的1.0.2l

C)如果我做

進口SSL

ssl.OPENSSL_VERSION,我得到

'的OpenSSL 1.0.2l 2017年5月23日'

但我仍然得到條紋錯誤關於不使用TLS 1.2。

我發現這個SO question但它並沒有解決我的問題。我也發現這個Google Group Discussion,並且在運行#5中的步驟之後,它顯示應用引擎仍然指向舊版本的OPENSSL,因爲輸出顯示'OpenSSL 0.9.8zh 2016年1月14日'

我該如何解決這個問題?我如何使用python或app引擎來使用我安裝的新版本的OpenSSL?

回答

0

我想通了這個問題,我的理解是

1)GAE仍然指的是舊的Python安裝(隨Mac的發貨)的一個。當我打開GAE啓動器時, GAE>首選項> Python路徑爲空。

2)我需要做的是強制GAE使用新安裝的Python(我與Brew一起安裝的方向使用升級後的OpenSSL)。所以我現在已經設置了 GAE> Preferences> Python Path =/usr/local/bin/python。

現在一切工作,並從內部GAE運行下面的代碼告訴我,我的TLS是好的

import urllib2 
r = urllib2.urlopen("https://howsmyssl.com/").read() 
return r 

而且運行下面的代碼,現在給我的OpenSSL

import ssl 
return ssl.OPENSSL_VERSION 
0

請確保您升級到最新版本的App Engine SDK。此外,添加到您的app.yaml:

libraries: 
- name: ssl 
    version: '2.7.11' 
+0

我的應用程序的更新版本。yaml已經包含ssl,但版本是'最新'的。我以前試過2.7.11,但沒有解決這個問題。我會嘗試升級到最新的SDK版本 –

+0

升級到最新版本的App Engine SDK沒有解決問題 –