aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorJ08nY2024-02-03 18:52:17 +0100
committerJ08nY2024-02-03 18:52:17 +0100
commit3efe520d01726c5c00428b9fd4b4d07d8bb4da5c (patch)
tree30a52f61eda3bde899ad18be47015dafedc3e648 /src
parenta096f7ed6c4637dc700bd53df2d110bb8a428394 (diff)
downloadsec-certs-3efe520d01726c5c00428b9fd4b4d07d8bb4da5c.tar.gz
sec-certs-3efe520d01726c5c00428b9fd4b4d07d8bb4da5c.tar.zst
sec-certs-3efe520d01726c5c00428b9fd4b4d07d8bb4da5c.zip
Improve Swedish rules.
Diffstat (limited to 'src')
-rw-r--r--src/sec_certs/rules.yaml5
-rw-r--r--src/sec_certs/sample/cc_certificate_id.py9
2 files changed, 12 insertions, 2 deletions
diff --git a/src/sec_certs/rules.yaml b/src/sec_certs/rules.yaml
index 8f5c6fd4..404931fc 100644
--- a/src/sec_certs/rules.yaml
+++ b/src/sec_certs/rules.yaml
@@ -79,7 +79,10 @@ cc_cert_id:
- "[0-9\\.]+?/TSE-CCCS-[0-9]+" # Turkish CCCS (21.0.0sc/TSE-CCCS-75)
- "(?:[0-9]{1,2}\\.){2}[0-9]{1,2}/[0-9]{1,4}-[0-9]{3}" # 21.0.01/13-028
SE:
- - "CSEC ?[0-9]{6,7}" # Sweden (CSEC2019015)
+ - "CSEC ?(?P<year>[0-9]{4})(?P<counter>[0-9]{2,3})"
+ # Examples:
+ # CSEC2019015
+ # CSEC 2019012
IN:
# India (IC3S/DEL01/VALIANT/EAL1/0317/0007/CR STQC/CC/14-15/12/ETR/0017 IC3S/MUM01/CISCO/cPP/0119/0016/CR)
# will miss STQC/CC/14-15/12/ETR/0017
diff --git a/src/sec_certs/sample/cc_certificate_id.py b/src/sec_certs/sample/cc_certificate_id.py
index 5ec168ee..bdca0ab6 100644
--- a/src/sec_certs/sample/cc_certificate_id.py
+++ b/src/sec_certs/sample/cc_certificate_id.py
@@ -129,7 +129,14 @@ class CertificateId:
return self.clean.replace(" ", "")
def _canonical_se(self):
- return self.clean.replace(" ", "")
+ new_cert_id = self.clean
+ for rule in rules["cc_cert_id"]["SE"]:
+ if match := re.match(rule, new_cert_id):
+ groups = match.groupdict()
+ year = _parse_year(groups["year"])
+ counter = int(groups["counter"])
+ new_cert_id = f"CSEC{year}{counter:03}"
+ return new_cert_id
def _canonical_uk(self):
new_cert_id = self.clean