如何在TLS 1.2上运行django runserver

时间:2016-09-01 19:03:33

标签: python django python-2.7 ssl tls1.2

我在本地Mac OS X计算机上测试Stripe订单。我正在实现此代码:

stripe.api_key = settings.STRIPE_SECRET

        order = stripe.Order.create(
          currency = 'usd',
          email = 'j@awesomecom',
          items = [
                    {
                      "type":'sku',
                      "parent":'sku_88F260aQ',
                      "quantity": 1,
                    }
                  ],
          shipping = {
            "name":'Jenny Rosen',
            "address":{
              "line1":'1234 Main Street',
              "city":'Anytown',
              "country":'US',
              "postal_code":'123456'
            }
          },
        )

我收到错误:

  

Stripe不再支持使用TLS 1.0发出的API请求。请   使用TLS 1.2或更高版本启动HTTPS连接。

我正在使用django 1.10和python版本2.7.10

如何强制使用TLS 1.2?我会在python或django那边做这个吗?

3 个答案:

答案 0 :(得分:6)

我解决了安装这个库的问题:

pip install urllib3
pip install pyopenssl
pip install ndg-httpsclient
pip install pyasn1

解决方案来自:

  

https://github.com/pinax/pinax-stripe/issues/267

答案 1 :(得分:1)

这不是django问题,而是操作系统和语言问题。

我正在使用Mac OS X和brew版本的python。我也使用虚拟环境,它有自己的python副本和开放的ssl。

我做了以下事情:

我首先下载了更新OpenSSL的最新版XCode。 然后我卸载并重新安装brew python。 然后我更新了virtualenv。

答案 2 :(得分:0)

如果您已经尝试更新openssl和python(使用brew),但仍然无效,请确保您的设置有DEBUG = False。

观看此主题以获取更多信息https://code.google.com/p/googleappengine/issues/detail?id=13207