通过Web客户端连接到服务器时出现SSL握手错误

时间:2013-11-14 11:37:00

标签: python ssl mdm

我正在使用来自Web客户端(firefox)的SSL连接来连接到通过此链接中可用代码创建的本地服务器MDM server code我已获得Apple发布的所有必需签名证书,用于运行服务器,如以及安装的所有依赖的python模块。

我在Windows机器上使用以下命令运行我的代码。 python server.py。 这成功开始在端口8080上运行服务器。

C:\Users\Administrator\Desktop\MDMServer>python server.py <ip address>
Can't find MyApp.mobileprovision in current directory.
Need both MyApp.ipa and Manifest.plist to enable InstallCustomApp.
Starting Server
https://<ipaddress>:8080/

但是每当Web客户端尝试连接到此服务器时。

在Firefox中启动链接https://<ip address>:8080。服务器报告以下错误。

Traceback (most recent call last):
  File "server.py", line 498, in <module>
    app.run()
  File "C:\Python27\lib\site-packages\web\application.py", line 313, in run
    return wsgi.runwsgi(self.wsgifunc(*middleware))
  File "C:\Python27\lib\site-packages\web\wsgi.py", line 54, in runwsgi
    return httpserver.runsimple(func, validip(listget(sys.argv, 1, '')))
  File "C:\Python27\lib\site-packages\web\httpserver.py", line 157, in runsimple

    server.start()
  File "C:\Python27\lib\site-packages\web\wsgiserver\__init__.py", line 1765, in
 start
    self.tick()
  File "C:\Python27\lib\site-packages\web\wsgiserver\__init__.py", line 1815, in
 tick
    s, ssl_env = self.ssl_adapter.wrap(s)
  File "C:\Python27\lib\site-packages\web\wsgiserver\ssl_builtin.py", line 42, i
n wrap
    keyfile=self.private_key, ssl_version=ssl.PROTOCOL_SSLv23)
  File "C:\Python27\lib\ssl.py", line 372, in wrap_socket
    ciphers=ciphers)
  File "C:\Python27\lib\ssl.py", line 134, in __init__
    self.do_handshake()
  File "C:\Python27\lib\ssl.py", line 296, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [Errno 1] _ssl.c:503: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_
HELLO:no shared cipher

任何人都可以帮助我理解:

1)这些错误意味着什么

2)为什么我得到它们,它没有附带适用于iphone 4s的旧版server.py代码?

3)我如何解决这些问题

谢谢, 的Vivek

1 个答案:

答案 0 :(得分:0)

这是因为APNSWrapper尚未更新为TLSv1。

由于POODLE漏洞,Apple不再支持MDM的sslv3。

您可以轻松自行更新APNSWrapper源代码。

下载源代码并更新connection.py

ssl_version = self.ssl_module.PROTOCOL_TLSv1,

跑步

python setup.py install