diff options
| author | J08nY | 2024-02-03 18:52:17 +0100 |
|---|---|---|
| committer | J08nY | 2024-02-03 18:52:17 +0100 |
| commit | 3efe520d01726c5c00428b9fd4b4d07d8bb4da5c (patch) | |
| tree | 30a52f61eda3bde899ad18be47015dafedc3e648 /src | |
| parent | a096f7ed6c4637dc700bd53df2d110bb8a428394 (diff) | |
| download | sec-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.yaml | 5 | ||||
| -rw-r--r-- | src/sec_certs/sample/cc_certificate_id.py | 9 |
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 |
