1

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

我在我的 Windows 机器上使用以下命令运行我的代码。蟒蛇服务器.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 客户端尝试连接到此服务器时。

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

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)我该如何解决这些问题

谢谢,维维克

4

1 回答 1

0

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

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

你可以很容易地自己更新 APNSWrapper 源代码。

下载源并更新connection.py

ssl_version = self.ssl_module.PROTOCOL_TLSv1,

运行

python setup.py install
于 2015-01-23T20:58:31.977 回答