aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2022-09-05 13:43:25 +0200
committerJ08nY2022-09-19 14:48:58 +0200
commit7960059c41c18e347d49e9cf992594ce1c5ffb70 (patch)
tree83917b25fafa3b458d32bbbec43973bbe1e6b494
parente499d09a7edef199959767a4e06baf92f8c29ae0 (diff)
downloadsec-certs-7960059c41c18e347d49e9cf992594ce1c5ffb70.tar.gz
sec-certs-7960059c41c18e347d49e9cf992594ce1c5ffb70.tar.zst
sec-certs-7960059c41c18e347d49e9cf992594ce1c5ffb70.zip
Normalize Korean cert ids.
-rw-r--r--sec_certs/sample/common_criteria.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/sec_certs/sample/common_criteria.py b/sec_certs/sample/common_criteria.py
index f08d74d6..729e9d1f 100644
--- a/sec_certs/sample/common_criteria.py
+++ b/sec_certs/sample/common_criteria.py
@@ -1033,6 +1033,14 @@ class CommonCriteriaCert(
return new_cert_id
+ @staticmethod
+ def _is_korea_cert_id(cert_id: str) -> bool:
+ return cert_id.startswith("KECS")
+
+ @staticmethod
+ def _fix_korea_cert_id(cert_id: str) -> str:
+ return cert_id.replace("\N{HYPHEN}", "-")
+
def _get_cert_laboratory(self) -> str:
if not self.heuristics.cert_id:
raise ValueError("Cert ID was None but cert laboratory was to be computed based on its value.")
@@ -1050,6 +1058,9 @@ class CommonCriteriaCert(
if CommonCriteriaCert._is_ocsi_cert_id(cert_id):
return "ocsi"
+ if CommonCriteriaCert._is_korea_cert_id(cert_id):
+ return "korea"
+
return "unknown"
def normalize_cert_id(self, all_cert_ids: Set[str]) -> None:
@@ -1064,6 +1075,7 @@ class CommonCriteriaCert(
"bsi": partial(CommonCriteriaCert._fix_bsi_cert_id, all_cert_ids=all_cert_ids),
"spain": CommonCriteriaCert._fix_spain_cert_id,
"ocsi": CommonCriteriaCert._fix_ocsi_cert_id,
+ "korea": CommonCriteriaCert._fix_korea_cert_id,
}
try: