ssl.SSLError: [SSL: CA_MD_TOO_WEAK] ca md too weak (_ssl.c:3862)

Linux安装tidevice后,执行命令完整报错:

Traceback (most recent call last):
  File "/home/*****/.local/bin/tidevice", line 8, in <module>
    sys.exit(main())
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/__main__.py", line 777, in main
    actions[args.subparser](args)
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/__main__.py", line 286, in cmd_launch
    pid = d.instruments.app_launch(args.bundle_id,
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_device.py", line 827, in instruments
    return self.connect_instruments()
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_device.py", line 815, in connect_instruments
    if self.major_version() >= 14:
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_device.py", line 967, in major_version
    version = self.get_value("ProductVersion")
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_device.py", line 399, in get_value
    with self.create_session() as conn:
  File "/usr/local/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_device.py", line 351, in create_session
    s.switch_to_ssl(self.ssl_pemfile_path)
  File "/home/*****/.local/lib/python3.10/site-packages/tidevice/_safe_socket.py", line 90, in switch_to_ssl
    context.load_cert_chain(pemfile, keyfile=pemfile)
ssl.SSLError: [SSL: CA_MD_TOO_WEAK] ca md too weak (_ssl.c:3862)

解决办法:
打开这个脚本

sudo vim /home/*****/.local/lib/python3.10/site-packages/tidevice/_safe_socket.py

简单粗暴的修改代码:

# context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context = ssl.SSLContext()
context.set_ciphers('ALL:@SECLEVEL=0')

解决了openssl报错问题
参考:
https://github.com/alibaba/taobao-iphone-device/issues/64

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容