一开始用的是 v3.7 版,中科大的源(清华的源同样问题),默认为 http,改为 https 后更新不了,出错提示如下
#apk update
fetch https://mirrors.ustc.edu.cn/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
127499998981068:error:14007086:SSL routines:CONNECT_CR_CERT:certificate verify failed:ssl_clnt.c:1026:
ERROR: https://mirrors.ustc.edu.cn/alpine/v3.7/main: Permission denied
WARNING: Ignoring APKINDEX.1076f322.tar.gz: No such file or directory
fetch https://mirrors.ustc.edu.cn/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
127499998981068:error:14007086:SSL routines:CONNECT_CR_CERT:certificate verify failed:ssl_clnt.c:1026:
ERROR: https://mirrors.ustc.edu.cn/alpine/v3.7/community: Permission denied
WARNING: Ignoring APKINDEX.ca14b9dd.tar.gz: No such file or directory
后来试了几个版本 3.6,3.9,3.10 ,3.12 ,3.14 都可以用 https(USTC),只有 3.7 和 3.8 不用了 https 。
改回 http 后是正常的
#apk update
fetch http://mirrors.ustc.edu.cn/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.ustc.edu.cn/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
v3.7.3-184-gffd32bfd09 [http://mirrors.ustc.edu.cn/alpine/v3.7/main]
v3.7.3-194-gcddd1b2302 [http://mirrors.ustc.edu.cn/alpine/v3.7/community]
#apk update
fetch https://mirrors.nju.edu.cn/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch https://mirrors.nju.edu.cn/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
v3.7.3-184-gffd32bfd09 [https://mirrors.nju.edu.cn/alpine/v3.7/main]
v3.7.3-194-gcddd1b2302 [https://mirrors.nju.edu.cn/alpine/v3.7/community]
还好这个发行版容量小安装快(选它也是因为容量问题),否则都不会安装几个版本来测试。
1
iBugOne 2021-10-11 22:18:25 +08:00 via Android 1
据我所知,USTC 和 TUNA 镜像站都使用 Let's Encrypt 提供的免费 SSL 证书,而 LE 原先使用的根证书 DST Root CA X3 已于 9 月 30 日过期,新的 ISRG Root X1 根证书默认不在旧版系统的信任列表里,详情可以参见 https://github.com/tuna/issues/issues/1342
|
2
yzwduck 2021-10-11 22:53:17 +08:00 2
问题确实是在 Let's Encrypt 的根证书上,但不是 CA 列表问题。
ISRG Root X1 ( https://crt.sh/?id=9314791) 的证书确实在 /etc/ssl/certs/ca-certificates.crt 里,但是 ISRG 原先证书链的根证书 DST Root CA X3 ( https://crt.sh/?id=8395) 过期了,很多旧版本的 SSL 库在 X1 列在 CA 里的情况下,仍然因为 X3 过期而拒绝连接。 解决方法貌似只能更新 SSL 库。 在 macOS 10.15 以及之前的系统上,LibreSSL 也因为相同原因,无法连接 Let's Encrypt 的网站。 |
3
ysc3839 2021-10-11 23:36:44 +08:00 via Android 1
|
4
taoky 2021-10-11 23:43:04 +08:00 1
|
5
eason1874 2021-10-12 00:04:26 +08:00
没用过 Alpine,我的树莓派这样三步解决,删掉过期根证书,注释配置,然后更新
rm /etc/ssl/certs/DST_Root_CA_X3.pem vi /etc/ca-certificates.conf !mozilla/DST_Root_CA_X3.crt sudo update-ca-certificates |
6
aocif23 OP |
8
eason1874 2021-10-12 01:34:59 +08:00 2
@aocif23 没有单独文件那应该是统一放在了同一个 cert.pem 里,你打开那个文件(先备份一份到别处),找到 DST Root CA X3 那部分证书删掉。步骤应该差不多,只是证书位置不一样。找到过期证书,删掉,更新缓存。
测试网址也可以用 https://helloworld.letsencrypt.org/ |