Update check.py

This commit is contained in:
Li Hua 2024-09-18 22:24:16 +08:00 committed by GitHub
parent e90ed81aaa
commit 8a02ea7057
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

9
.github/check.py vendored
View file

@ -10,7 +10,7 @@ from cryptography.hazmat.primitives.serialization import (
PublicFormat, PublicFormat,
load_pem_public_key, load_pem_public_key,
) )
from defusedxml.ElementTree import parse from defusedxml.ElementTree import parse, ParseError
from requests import get from requests import get
@ -55,9 +55,13 @@ with open("status.csv", "w") as csvfile:
writer.writeheader() writer.writeheader()
output = [] output = []
for kb in Path(".").glob("**/*.xml"): for kb in Path(".").glob("**/*.xml"):
print(kb.name)
values = list() values = list()
try:
root = parse(kb).getroot() root = parse(kb).getroot()
except ParseError:
kb.unlink()
continue
pem_number = int(root.find(".//NumberOfCertificates").text.strip()) pem_number = int(root.find(".//NumberOfCertificates").text.strip())
pem_certificates = [ pem_certificates = [
cert.text.strip() cert.text.strip()
@ -66,6 +70,7 @@ with open("status.csv", "w") as csvfile:
certificate = x509.load_pem_x509_certificate(pem_certificates[0].encode()) certificate = x509.load_pem_x509_certificate(pem_certificates[0].encode())
serial_number = hex(certificate.serial_number)[2:] serial_number = hex(certificate.serial_number)[2:]
if serial_number in serial_numbers: if serial_number in serial_numbers:
kb.unlink()
continue continue
else: else:
serial_numbers.append(serial_number) serial_numbers.append(serial_number)