Loading... 对于站点www.sddts.cn来说,https的ssl证书目前是letsencypt颁发的根证书为dst的证书,而其他站点已经是isrg了。 使用脚本查看centos系统/etc/ssl/certs/ca-bundle.crt中的记录 ``` #!/bin/bash # 指定ca-bundle.crt文件的路径 CA_BUNDLE_PATH="/etc/ssl/certs/ca-bundle.crt" # 检查文件是否存在 if [ ! -f "$CA_BUNDLE_PATH" ]; then echo "文件 $CA_BUNDLE_PATH 不存在。" exit 1 fi echo "正在检查文件 $CA_BUNDLE_PATH 中的证书..." # 分割ca-bundle.crt文件中的证书,并逐一处理 csplit -sz "$CA_BUNDLE_PATH" '/-----BEGIN CERTIFICATE-----/' '{*}' > /dev/null # 遍历生成的xx00,xx01,...文件 for CERT_FILE in xx*; do # 获取证书的主题名称 SUBJECT_NAME=$(openssl x509 -in "$CERT_FILE" -noout -subject | sed -e 's/subject= //;s/.*CN=//') # 获取证书的有效期 EXPIRY_DATE=$(openssl x509 -in "$CERT_FILE" -noout -enddate | cut -d= -f2) if [ ! -z "$SUBJECT_NAME" ] && [ ! -z "$EXPIRY_DATE" ]; then echo "Certificate: $SUBJECT_NAME, Expiry Date: $EXPIRY_DATE" fi # 清理生成的临时证书文件 rm "$CERT_FILE" done ``` 可以看到,dst证书已经过期了 ![2024-02-20T08:25:11.png][1] 但是呢,curl可以正常使用 ![2024-02-20T08:25:44.png][2] wget却不可以 ![2024-02-20T08:26:05.png][3] wget是否可以忽略过期的证书呢? gpt说没有办法。 那么修改日期是否可以呢? ![2024-02-20T08:31:06.png][4] 重启一下呢? 重启后,系统时间恢复了,再次修改然后wget也不行。 如此看来,在cacerts文件有dst证书的情况下,当然已经过期了,面对一个dst站点,curl依旧可以正常访问,而wget不行,且jdk貌似也是可以的。 [1]: https://www.sddts.cn/usr/uploads/2024/02/1109021930.png [2]: https://www.sddts.cn/usr/uploads/2024/02/3832513956.png [3]: https://www.sddts.cn/usr/uploads/2024/02/1813202595.png [4]: https://www.sddts.cn/usr/uploads/2024/02/1923790209.png 最后修改:2024 年 05 月 11 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏