aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJán Jančár2022-01-28 15:15:40 +0100
committerGitHub2022-01-28 15:15:40 +0100
commitcf75369c67e7528d1f25eec90d96e0aea90761e8 (patch)
treeac72d77dddcc6eab5f254dfba2eda648de2153aa
parentc94092c42bf2a841ce1efc78f034205bfc5680ab (diff)
parent6c8206f155f3afe2ce98d3f1f2fd92ae7570b497 (diff)
downloadsec-certs-cf75369c67e7528d1f25eec90d96e0aea90761e8.tar.gz
sec-certs-cf75369c67e7528d1f25eec90d96e0aea90761e8.tar.zst
sec-certs-cf75369c67e7528d1f25eec90d96e0aea90761e8.zip
Merge pull request #161 from crocs-muni/fix/fips-download-first
fips: Download algorithm pages first to abort early.
-rw-r--r--sec_certs/dataset/fips.py6
-rw-r--r--sec_certs/sample/common_criteria.py20
2 files changed, 19 insertions, 7 deletions
diff --git a/sec_certs/dataset/fips.py b/sec_certs/dataset/fips.py
index 0fa9da01..5bcd4494 100644
--- a/sec_certs/dataset/fips.py
+++ b/sec_certs/dataset/fips.py
@@ -283,9 +283,6 @@ class FIPSDataset(Dataset, ComplexSerializableType):
# Download files containing all available module certs (always)
cert_ids = self.prepare_dataset(test, update)
- logger.info("Downloading certificate html and security policies")
- self.download_neccessary_files(cert_ids)
-
if not no_download_algorithms:
aset = FIPSAlgorithmDataset({}, Path(self.root_dir / "web" / "algorithms"), "algorithms", "sample algs")
aset.get_certs_from_web()
@@ -293,6 +290,9 @@ class FIPSDataset(Dataset, ComplexSerializableType):
self.algorithms = aset
+ logger.info("Downloading certificate html and security policies")
+ self.download_neccessary_files(cert_ids)
+
self.web_scan(cert_ids, redo=redo_web_scan)
@serialize
diff --git a/sec_certs/sample/common_criteria.py b/sec_certs/sample/common_criteria.py
index 99bb0e44..8953e63d 100644
--- a/sec_certs/sample/common_criteria.py
+++ b/sec_certs/sample/common_criteria.py
@@ -39,9 +39,13 @@ class CommonCriteriaCert(Certificate, PandasSerializableType, ComplexSerializabl
super().__setattr__("maintenance_date", helpers.sanitize_date(self.maintenance_date))
@classmethod
- def from_dict(cls, dct: Dict) -> "MaintenanceReport":
+ def from_dict(cls, dct: Dict) -> "CommonCriteriaCert.MaintenanceReport":
new_dct = dct.copy()
- new_dct["maintenance_date"] = date.fromisoformat(dct["maintenance_date"]) if isinstance(dct["maintenance_date"], str) else dct["maintenance_date"]
+ new_dct["maintenance_date"] = (
+ date.fromisoformat(dct["maintenance_date"])
+ if isinstance(dct["maintenance_date"], str)
+ else dct["maintenance_date"]
+ )
return super().from_dict(new_dct)
def __lt__(self, other):
@@ -363,8 +367,16 @@ class CommonCriteriaCert(Certificate, PandasSerializableType, ComplexSerializabl
new_dct = dct.copy()
new_dct["maintenance_updates"] = set(dct["maintenance_updates"])
new_dct["protection_profiles"] = set(dct["protection_profiles"])
- new_dct["not_valid_before"] = date.fromisoformat(dct["not_valid_before"]) if isinstance(dct["not_valid_before"], str) else dct["not_valid_before"]
- new_dct["not_valid_after"] = date.fromisoformat(dct["not_valid_after"]) if isinstance(dct["not_valid_after"], str) else dct["not_valid_after"]
+ new_dct["not_valid_before"] = (
+ date.fromisoformat(dct["not_valid_before"])
+ if isinstance(dct["not_valid_before"], str)
+ else dct["not_valid_before"]
+ )
+ new_dct["not_valid_after"] = (
+ date.fromisoformat(dct["not_valid_after"])
+ if isinstance(dct["not_valid_after"], str)
+ else dct["not_valid_after"]
+ )
return super(cls, CommonCriteriaCert).from_dict(new_dct)
@classmethod