V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
skinny
V2EX  ›  全球工单系统

用 aria2 或 curl 下载 Android Studio 安装包失败,都报证书吊销功能无法检查吊销,浏览器下载正常。

  •  
  •   skinny · 2018-05-21 15:48:21 +08:00 · 6879 次点击
    这是一个创建于 2384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,无法使用 aria2 ( 1.34.0 )和 curl ( 7.60 )下载 Android Studio 安装包,aria2 和 curl 的错误信息如下:

    curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - 由于吊销服务器已脱机,吊销功能无法检查吊销。

    aria2c

    Exception: [AbstractCommand.cc:351] errorCode=1 URI=https://dl.google.com/dl/android/studio/install/3.1.2.0/android-studio-ide-173.4720617-windows.exe -> [SocketCore.cc:1015] errorCode=1 SSL/TLS handshake failure: Error: 由于吊销服务器已脱机,吊销功能无法检查吊销。(80092013)

    前面两个命令行工具无法下载,但是 Chrome 和 IE 11 都下载正常(命令行工具和浏览器均未使用代理)。

    Chrome 的话,我搜到一则 2012 的新闻说 Google 将取消吊销检查功能,因为几乎没有用,如果说 Chrome 不做吊销检查所以没问题,可 IE 11 是开启了吊销检查的啊,为什么也可以? 还有 PowerShell 下使用 .Net 的 WebClient 下载也没有问题。

    aria2 下载其它网站 https 链接又没有问题,目前只遇到不能下载 https://dl.google.com 域名下的文件的情况。

    aria2 使用 --check-certificate=false 选项彻底关闭证书检查可以下载,但是如果这样我又何必使用 https 链接呢?

    各位有什么解决办法吗? Google 上中英文都没有搜到有用的信息。难道非得用回 WebClient 或 WebRequest 写文件下载功能?

    测试链接: https://dl.google.com/dl/android/studio/install/3.1.2.0/android-studio-ide-173.4720617-windows.exe

    第 1 条附言  ·  2018-05-21 18:19:42 +08:00
    找到大概原因了,我下载的 curl 和 aria2 的编译时使用的是 WinSSL / WinTLS (也就是微软的 Secure Channel,见 https://msdn.microsoft.com/en-us/library/aa380123.aspx )来提供 https 支持,然而不知道为什么这两个软件都有问题,明明 IE 那些都没有问题。

    我试了 msys2 的链接的 openssl 的版本,这个下载没有问题。
    4 条回复    2018-05-21 23:23:01 +08:00
    KyonLi
        1
    KyonLi  
       2018-05-21 16:31:32 +08:00
    下载 Chrome 也是,搞得我还以为是系统 CA 出了问题,各种重置各种折腾,结果现在[未受信任的发布者]是空的,[受信任的根证书颁发机构]只有 20 来条,心累
    tees
        2
    tees  
       2018-05-21 16:47:04 +08:00
    tees
        3
    tees  
       2018-05-21 16:47:59 +08:00
    forcecharlie
        4
    forcecharlie  
       2018-05-21 23:23:01 +08:00 via iPhone
    说不定就是 curl 的坑 编译 curl 支持 HTTP2 winssl 后来发现就是 curl 版本检查函数得到错误值 添加 manifest 就工作了
    https://github.com/curl/curl/issues/2591
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 21:43 · PVG 05:43 · LAX 13:43 · JFK 16:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.