# 更新至 Python 3.13 导致的自签名 CA 出现 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier
# 排查
 | openssl verify -x509_strict -CAfile /data/ca.crt /data/web/web1.crt  | 
 |  | 
 |  | 
 |  | 
# 重新生成 CA 证书
重新根据 ca.key 生成 ca.crt,只需替换 ca.crt 即可,已经颁发的证书仍正常使用。
# 复制一份 openssl.cnf(可选)
 | sudo cp /etc/ssl/openssl.cnf openssl_ca.cnf  | 
# 调整 openssl.cnf
编辑 openssl_ca.cnf  并将其中 [ v3_ca ]  下的 keyUsage = cRLSign, keyCertSign  解除注释
 | [ v3_ca ]  | 
 |  | 
 |  | 
 |  | 
 |  | 
 | keyUsage = cRLSign, keyCertSign  | 
# 生成证书请求文件 csr(已有 csr 可忽略)
生成证书请求文件 csr,需要使用原 ca.crt  和 ca.key
 | openssl x509 -x509toreq -in ca.crt -signkey ca.key -out new-ca.csr  | 
# 生成 ca 证书
 | openssl x509 -req -days 3650 -extfile openssl_ca.cnf -extensions v3_ca -in new-ca.csr -signkey ca.key -out new-ca.crt  | 
# 测试
 | openssl verify -x509_strict -CAfile new-ca.crt /data/web/web1.crt  | 
 |  | 
 |  | 
# 导入到系统可信 CA(可选)
 | sudo cp new-ca.crt /usr/local/share/ca-certificates/  | 
 | sudo update-ca-certificates  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
# 参考
https://www.cnblogs.com/liweifeng888/p/18648432
https://superuser.com/questions/738612/openssl-ca-keyusage-extension