aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/sec_certs/dataset/cc.py3
-rw-r--r--tests/cc/test_cc_dataset.py11
-rw-r--r--tests/data/cc/dataset/toy_dataset.json678
3 files changed, 352 insertions, 340 deletions
diff --git a/src/sec_certs/dataset/cc.py b/src/sec_certs/dataset/cc.py
index d622a588..44c56afa 100644
--- a/src/sec_certs/dataset/cc.py
+++ b/src/sec_certs/dataset/cc.py
@@ -658,7 +658,7 @@ class CCDataset(Dataset[CCCertificate, CCAuxiliaryDatasets], ComplexSerializable
cert_processing.process_parallel(
CCCertificate.convert_cert_pdf,
certs_to_process,
- progress_bar_desc="Converting PDFs of security targets to txt",
+ progress_bar_desc="Converting PDFs of certificates to txt",
)
def _convert_all_pdfs_body(self, fresh: bool = True) -> None:
@@ -702,6 +702,7 @@ class CCDataset(Dataset[CCCertificate, CCAuxiliaryDatasets], ComplexSerializable
def _extract_pdf_metadata(self) -> None:
self._extract_report_metadata()
self._extract_target_metadata()
+ self._extract_cert_metadata()
@staged(logger, "Extracting report frontpages")
def _extract_report_frontpage(self) -> None:
diff --git a/tests/cc/test_cc_dataset.py b/tests/cc/test_cc_dataset.py
index 4fe40a40..9d1e4022 100644
--- a/tests/cc/test_cc_dataset.py
+++ b/tests/cc/test_cc_dataset.py
@@ -23,6 +23,12 @@ def test_download_and_convert_pdfs(toy_dataset: CCDataset, data_dir: Path):
"8a5e6bcda602920c": "fcee91f09bb72a6526a1f94d0ab754a6db3fbe3ba5773cd372df19788bb25292",
}
+ template_cert_pdf_hashes = {
+ "309ac2fd7f2dcf17": "9d38bca310c4d349cc39471e0b75d939cc275db9a75b07b8a365d719cfbedcc5",
+ "8cf86948f02f047d": None,
+ "8a5e6bcda602920c": "4ba78f26f505819183256ca5a6b404fa90c750fe160c41791e4c400f64e2f6d5",
+ }
+
with TemporaryDirectory() as td:
toy_dataset.copy_dataset(td)
toy_dataset.download_all_artifacts()
@@ -30,10 +36,12 @@ def test_download_and_convert_pdfs(toy_dataset: CCDataset, data_dir: Path):
if not (
toy_dataset["309ac2fd7f2dcf17"].state.report.download_ok
or toy_dataset["309ac2fd7f2dcf17"].state.st.download_ok
+ or toy_dataset["309ac2fd7f2dcf17"].state.cert.download_ok
or toy_dataset["8cf86948f02f047d"].state.report.download_ok
or toy_dataset["8cf86948f02f047d"].state.st.download_ok
or toy_dataset["8a5e6bcda602920c"].state.report.download_ok
or toy_dataset["8a5e6bcda602920c"].state.st.download_ok
+ or toy_dataset["8a5e6bcda602920c"].state.cert.download_ok
):
pytest.xfail(reason="Fail due to error during download")
@@ -42,12 +50,15 @@ def test_download_and_convert_pdfs(toy_dataset: CCDataset, data_dir: Path):
for cert in toy_dataset:
assert cert.state.report.pdf_hash == template_report_pdf_hashes[cert.dgst]
assert cert.state.st.pdf_hash == template_st_pdf_hashes[cert.dgst]
+ assert cert.state.cert.pdf_hash == template_cert_pdf_hashes[cert.dgst]
assert not cert.state.report.convert_garbage
assert not cert.state.st.convert_garbage
assert cert.state.report.convert_ok
assert cert.state.st.convert_ok
assert cert.state.report.txt_path.exists()
assert cert.state.st.txt_path.exists()
+ if cert.cert_link:
+ assert cert.state.cert.txt_path.exists()
template_report_txt_path = data_dir / "report_309ac2fd7f2dcf17.txt"
template_st_txt_path = data_dir / "target_309ac2fd7f2dcf17.txt"
diff --git a/tests/data/cc/dataset/toy_dataset.json b/tests/data/cc/dataset/toy_dataset.json
index dc70bc4e..dbf75078 100644
--- a/tests/data/cc/dataset/toy_dataset.json
+++ b/tests/data/cc/dataset/toy_dataset.json
@@ -1,345 +1,345 @@
{
- "_type": "sec_certs.dataset.cc.CCDataset",
- "state": {
- "_type": "sec_certs.dataset.dataset.Dataset.DatasetInternalState",
- "meta_sources_parsed": true,
- "artifacts_downloaded": false,
- "pdfs_converted": false,
- "auxiliary_datasets_processed": false,
- "certs_analyzed": false
+ "_type": "sec_certs.dataset.cc.CCDataset",
+ "state": {
+ "_type": "sec_certs.dataset.dataset.Dataset.DatasetInternalState",
+ "meta_sources_parsed": true,
+ "artifacts_downloaded": false,
+ "pdfs_converted": false,
+ "auxiliary_datasets_processed": false,
+ "certs_analyzed": false
+ },
+ "timestamp": "2020-11-16 17:04:14.770153",
+ "sha256_digest": "not implemented",
+ "name": "toy dataset",
+ "description": "toy dataset description",
+ "n_certs": 3,
+ "certs": [
+ {
+ "_type": "sec_certs.sample.cc.CCCertificate",
+ "dgst": "309ac2fd7f2dcf17",
+ "status": "active",
+ "category": "Access Control Devices and Systems",
+ "name": "NetIQ Identity Manager 4.7",
+ "manufacturer": "NetIQ Corporation",
+ "scheme": "SE",
+ "security_level": {
+ "_type": "Set",
+ "elements": [
+ "ALC_FLR.2",
+ "EAL3+"
+ ]
+ },
+ "not_valid_before": "2020-06-15",
+ "not_valid_after": "2025-06-15",
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/Certification%20Report%20-%20NetIQ®%20Identity%20Manager%204.7.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/ST%20-%20NetIQ%20Identity%20Manager%204.7.pdf",
+ "cert_link": "https://www.commoncriteriaportal.org/files/epfiles/Certifikat%20CCRA%20-%20NetIQ%20Identity%20Manager%204.7_signed.pdf",
+ "manufacturer_web": "https://www.netiq.com/",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": []
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": []
+ },
+ "state": {
+ "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
+ "report": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ },
+ "st": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ },
+ "cert": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ }
+ },
+ "pdf_data": {
+ "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
+ "report_metadata": null,
+ "st_metadata": null,
+ "cert_metadata": null,
+ "report_frontpage": null,
+ "st_frontpage": null,
+ "cert_frontpage": null,
+ "report_keywords": null,
+ "st_keywords": null,
+ "cert_keywords": null,
+ "report_filename": null,
+ "st_filename": null,
+ "cert_filename": null
+ },
+ "heuristics": {
+ "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
+ "extracted_versions": null,
+ "cpe_matches": null,
+ "verified_cpe_matches": null,
+ "related_cves": null,
+ "cert_lab": null,
+ "cert_id": null,
+ "annotated_references": null,
+ "extracted_sars": null,
+ "direct_transitive_cves": null,
+ "indirect_transitive_cves": null,
+ "report_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "st_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "scheme_data": null
+ }
},
- "timestamp": "2020-11-16 17:04:14.770153",
- "sha256_digest": "not implemented",
- "name": "toy dataset",
- "description": "toy dataset description",
- "n_certs": 3,
- "certs": [
- {
- "_type": "sec_certs.sample.cc.CCCertificate",
- "dgst": "309ac2fd7f2dcf17",
- "status": "active",
- "category": "Access Control Devices and Systems",
- "name": "NetIQ Identity Manager 4.7",
- "manufacturer": "NetIQ Corporation",
- "scheme": "SE",
- "security_level": {
- "_type": "Set",
- "elements": [
- "ALC_FLR.2",
- "EAL3+"
- ]
- },
- "not_valid_before": "2020-06-15",
- "not_valid_after": "2025-06-15",
- "report_link": "https://www.commoncriteriaportal.org/files/epfiles/Certification%20Report%20-%20NetIQ®%20Identity%20Manager%204.7.pdf",
- "st_link": "https://www.commoncriteriaportal.org/files/epfiles/ST%20-%20NetIQ%20Identity%20Manager%204.7.pdf",
- "cert_link": "https://www.commoncriteriaportal.org/files/epfiles/Certifikat%20CCRA%20-%20NetIQ%20Identity%20Manager%204.7_signed.pdf",
- "manufacturer_web": "https://www.netiq.com/",
- "protection_profiles": {
- "_type": "Set",
- "elements": []
- },
- "maintenance_updates": {
- "_type": "Set",
- "elements": []
- },
- "state": {
- "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
- "report": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "st": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "cert": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- }
- },
- "pdf_data": {
- "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
- "report_metadata": null,
- "st_metadata": null,
- "cert_metadata": null,
- "report_frontpage": null,
- "st_frontpage": null,
- "cert_frontpage": null,
- "report_keywords": null,
- "st_keywords": null,
- "cert_keywords": null,
- "report_filename": null,
- "st_filename": null,
- "cert_filename": null
- },
- "heuristics": {
- "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
- "extracted_versions": null,
- "cpe_matches": null,
- "verified_cpe_matches": null,
- "related_cves": null,
- "cert_lab": null,
- "cert_id": null,
- "annotated_references": null,
- "extracted_sars": null,
- "direct_transitive_cves": null,
- "indirect_transitive_cves": null,
- "report_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "st_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "scheme_data": null
- }
+ {
+ "_type": "sec_certs.sample.cc.CCCertificate",
+ "dgst": "8cf86948f02f047d",
+ "status": "active",
+ "category": "Access Control Devices and Systems",
+ "name": "Magic SSO V4.0",
+ "manufacturer": "Dreamsecurity Co., Ltd.",
+ "scheme": "KR",
+ "security_level": {
+ "_type": "Set",
+ "elements": []
+ },
+ "not_valid_before": "2019-11-15",
+ "not_valid_after": "2024-11-15",
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/KECS-CR-19-70%20Magic%20SSO%20V4.0(eng)%20V1.0.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/Magic_SSO_V4.0-ST-v1.4_EN.pdf",
+ "cert_link": null,
+ "manufacturer_web": "https://www.dreamsecurity.com/",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": [
+ {
+ "_type": "sec_certs.sample.protection_profile.ProtectionProfile",
+ "pp_name": "Korean National Protection Profile for Single Sign On V1.0",
+ "pp_eal": "EAL1+",
+ "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/KECS-PP-0822-2017%20Korean%20National%20PP%20for%20Single%20Sign%20On%20V1.0(eng).pdf",
+ "pp_ids": null
+ }
+ ]
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": []
+ },
+ "state": {
+ "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
+ "report": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
},
- {
- "_type": "sec_certs.sample.cc.CCCertificate",
- "dgst": "8cf86948f02f047d",
- "status": "active",
- "category": "Access Control Devices and Systems",
- "name": "Magic SSO V4.0",
- "manufacturer": "Dreamsecurity Co., Ltd.",
- "scheme": "KR",
- "security_level": {
- "_type": "Set",
- "elements": []
- },
- "not_valid_before": "2019-11-15",
- "not_valid_after": "2024-11-15",
- "report_link": "https://www.commoncriteriaportal.org/files/epfiles/KECS-CR-19-70%20Magic%20SSO%20V4.0(eng)%20V1.0.pdf",
- "st_link": "https://www.commoncriteriaportal.org/files/epfiles/Magic_SSO_V4.0-ST-v1.4_EN.pdf",
- "cert_link": null,
- "manufacturer_web": "https://www.dreamsecurity.com/",
- "protection_profiles": {
- "_type": "Set",
- "elements": [
- {
- "_type": "sec_certs.sample.protection_profile.ProtectionProfile",
- "pp_name": "Korean National Protection Profile for Single Sign On V1.0",
- "pp_eal": "EAL1+",
- "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/KECS-PP-0822-2017%20Korean%20National%20PP%20for%20Single%20Sign%20On%20V1.0(eng).pdf",
- "pp_ids": null
- }
- ]
- },
- "maintenance_updates": {
- "_type": "Set",
- "elements": []
- },
- "state": {
- "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
- "report": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "st": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "cert": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- }
- },
- "pdf_data": {
- "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
- "report_metadata": null,
- "st_metadata": null,
- "cert_metadata": null,
- "report_frontpage": null,
- "st_frontpage": null,
- "cert_frontpage": null,
- "report_keywords": null,
- "st_keywords": null,
- "cert_keywords": null,
- "report_filename": null,
- "st_filename": null,
- "cert_filename": null
- },
- "heuristics": {
- "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
- "extracted_versions": null,
- "cpe_matches": null,
- "verified_cpe_matches": null,
- "related_cves": null,
- "cert_lab": null,
- "cert_id": null,
- "annotated_references": null,
- "extracted_sars": null,
- "direct_transitive_cves": null,
- "indirect_transitive_cves": null,
- "report_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "st_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "scheme_data": null
- }
+ "st": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
},
- {
- "_type": "sec_certs.sample.cc.CCCertificate",
- "dgst": "8a5e6bcda602920c",
- "status": "active",
- "category": "Boundary Protection Devices and Systems",
- "name": "Fortinet FortiGate w/ FortiOS v5.6.7",
- "manufacturer": "Fortinet, Inc.",
- "scheme": "CA",
- "security_level": {
- "_type": "Set",
- "elements": []
- },
- "not_valid_before": "2019-05-22",
- "not_valid_after": "2024-05-24",
- "report_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20CR%20v1.0a.pdf",
- "st_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20ST%20v1.3A.pdf",
- "cert_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20CT%20v1.0a.pdf",
- "manufacturer_web": "https://www.fortinet.com/",
- "protection_profiles": {
- "_type": "Set",
- "elements": [
- {
- "_type": "sec_certs.sample.protection_profile.ProtectionProfile",
- "pp_name": "collaborative Protection Profile for Stateful Traffic Filter Firewalls v2.0 + Errata 20180314",
- "pp_eal": null,
- "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/CPP_FW_V2.0E.pdf",
- "pp_ids": null
- }
- ]
- },
- "maintenance_updates": {
- "_type": "Set",
- "elements": [
- {
- "_type": "sec_certs.sample.cc.CCCertificate.MaintenanceReport",
- "maintenance_date": "2019-08-26",
- "maintenance_title": "Fortinet FortiGate w/ FortiOS v5.6.7 Build 6022",
- "maintenance_report_link": "https://www.commoncriteriaportal.org/files/epfiles/383-7-159%20MR%20v1.0e.pdf",
- "maintenance_st_link": "https://www.commoncriteriaportal.org/files/epfiles/383-7-159%20ST%20v1.4%20CCRA.pdf"
- }
- ]
- },
- "state": {
- "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
- "report": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "st": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- },
- "cert": {
- "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
- "download_ok": false,
- "convert_garbage": false,
- "convert_ok": false,
- "extract_ok": false,
- "pdf_hash": null,
- "txt_hash": null
- }
- },
- "pdf_data": {
- "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
- "report_metadata": null,
- "st_metadata": null,
- "cert_metadata": null,
- "report_frontpage": null,
- "st_frontpage": null,
- "cert_frontpage": null,
- "report_keywords": null,
- "st_keywords": null,
- "cert_keywords": null,
- "report_filename": null,
- "st_filename": null,
- "cert_filename": null
- },
- "heuristics": {
- "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
- "extracted_versions": null,
- "cpe_matches": null,
- "verified_cpe_matches": null,
- "related_cves": null,
- "cert_lab": null,
- "cert_id": null,
- "annotated_references": null,
- "extracted_sars": null,
- "direct_transitive_cves": null,
- "indirect_transitive_cves": null,
- "report_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "st_references": {
- "_type": "sec_certs.sample.certificate.References",
- "directly_referenced_by": null,
- "directly_referencing": null,
- "indirectly_referenced_by": null,
- "indirectly_referencing": null
- },
- "scheme_data": null
- }
+ "cert": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
}
- ]
+ },
+ "pdf_data": {
+ "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
+ "report_metadata": null,
+ "st_metadata": null,
+ "cert_metadata": null,
+ "report_frontpage": null,
+ "st_frontpage": null,
+ "cert_frontpage": null,
+ "report_keywords": null,
+ "st_keywords": null,
+ "cert_keywords": null,
+ "report_filename": null,
+ "st_filename": null,
+ "cert_filename": null
+ },
+ "heuristics": {
+ "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
+ "extracted_versions": null,
+ "cpe_matches": null,
+ "verified_cpe_matches": null,
+ "related_cves": null,
+ "cert_lab": null,
+ "cert_id": null,
+ "annotated_references": null,
+ "extracted_sars": null,
+ "direct_transitive_cves": null,
+ "indirect_transitive_cves": null,
+ "report_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "st_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "scheme_data": null
+ }
+ },
+ {
+ "_type": "sec_certs.sample.cc.CCCertificate",
+ "dgst": "8a5e6bcda602920c",
+ "status": "active",
+ "category": "Boundary Protection Devices and Systems",
+ "name": "Fortinet FortiGate w/ FortiOS v5.6.7",
+ "manufacturer": "Fortinet, Inc.",
+ "scheme": "CA",
+ "security_level": {
+ "_type": "Set",
+ "elements": []
+ },
+ "not_valid_before": "2019-05-22",
+ "not_valid_after": "2024-05-24",
+ "report_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20CR%20v1.0a.pdf",
+ "st_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20ST%20v1.3A.pdf",
+ "cert_link": "https://www.commoncriteriaportal.org/files/epfiles/383-4-450%20CT%20v1.0a.pdf",
+ "manufacturer_web": "https://www.fortinet.com/",
+ "protection_profiles": {
+ "_type": "Set",
+ "elements": [
+ {
+ "_type": "sec_certs.sample.protection_profile.ProtectionProfile",
+ "pp_name": "collaborative Protection Profile for Stateful Traffic Filter Firewalls v2.0 + Errata 20180314",
+ "pp_eal": null,
+ "pp_link": "https://www.commoncriteriaportal.org/files/ppfiles/CPP_FW_V2.0E.pdf",
+ "pp_ids": null
+ }
+ ]
+ },
+ "maintenance_updates": {
+ "_type": "Set",
+ "elements": [
+ {
+ "_type": "sec_certs.sample.cc.CCCertificate.MaintenanceReport",
+ "maintenance_date": "2019-08-26",
+ "maintenance_title": "Fortinet FortiGate w/ FortiOS v5.6.7 Build 6022",
+ "maintenance_report_link": "https://www.commoncriteriaportal.org/files/epfiles/383-7-159%20MR%20v1.0e.pdf",
+ "maintenance_st_link": "https://www.commoncriteriaportal.org/files/epfiles/383-7-159%20ST%20v1.4%20CCRA.pdf"
+ }
+ ]
+ },
+ "state": {
+ "_type": "sec_certs.sample.cc.CCCertificate.InternalState",
+ "report": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ },
+ "st": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ },
+ "cert": {
+ "_type": "sec_certs.sample.cc.CCCertificate.DocumentState",
+ "download_ok": false,
+ "convert_garbage": false,
+ "convert_ok": false,
+ "extract_ok": false,
+ "pdf_hash": null,
+ "txt_hash": null
+ }
+ },
+ "pdf_data": {
+ "_type": "sec_certs.sample.cc.CCCertificate.PdfData",
+ "report_metadata": null,
+ "st_metadata": null,
+ "cert_metadata": null,
+ "report_frontpage": null,
+ "st_frontpage": null,
+ "cert_frontpage": null,
+ "report_keywords": null,
+ "st_keywords": null,
+ "cert_keywords": null,
+ "report_filename": null,
+ "st_filename": null,
+ "cert_filename": null
+ },
+ "heuristics": {
+ "_type": "sec_certs.sample.cc.CCCertificate.Heuristics",
+ "extracted_versions": null,
+ "cpe_matches": null,
+ "verified_cpe_matches": null,
+ "related_cves": null,
+ "cert_lab": null,
+ "cert_id": null,
+ "annotated_references": null,
+ "extracted_sars": null,
+ "direct_transitive_cves": null,
+ "indirect_transitive_cves": null,
+ "report_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "st_references": {
+ "_type": "sec_certs.sample.certificate.References",
+ "directly_referenced_by": null,
+ "directly_referencing": null,
+ "indirectly_referenced_by": null,
+ "indirectly_referencing": null
+ },
+ "scheme_data": null
+ }
+ }
+ ]
}