From 7288d589697063c48df0f8c3d0437eb9415202e5 Mon Sep 17 00:00:00 2001 From: Carl Wallace Date: Mon, 4 Nov 2024 10:13:48 -0500 Subject: [PATCH] add more validation results for certs (#168) * add more validation results for certs * update implementation details * add hash-mldsa certs * add verification results for composites from bc and seventhsense.ai * add composites with PSS --- .../carl-redhound/artifacts_certs_v4.zip | Bin 338387 -> 356992 bytes .../artifacts_certs_r4/bc_carl-redhound.csv | 23 +++++++++++ .../corey-digicert_carl-redhound.csv | 7 ++++ .../cryptonext_carl-redhound.csv | 33 ++++++++++++++++ .../artifacts_certs_r4/kris_carl-redhound.csv | 4 ++ .../seventhsense.ai_carl-redhound.csv | 36 ++++++++++++++++++ providers/readme.md | 2 +- 7 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 providers/carl-redhound/compatMatrices/artifacts_certs_r4/corey-digicert_carl-redhound.csv create mode 100644 providers/carl-redhound/compatMatrices/artifacts_certs_r4/cryptonext_carl-redhound.csv create mode 100644 providers/carl-redhound/compatMatrices/artifacts_certs_r4/kris_carl-redhound.csv create mode 100644 providers/carl-redhound/compatMatrices/artifacts_certs_r4/seventhsense.ai_carl-redhound.csv diff --git a/providers/carl-redhound/artifacts_certs_v4.zip b/providers/carl-redhound/artifacts_certs_v4.zip index 64b829bcecef0201d90cd9e1b9952730c970afe7..825dcebb26ec97f0a2fd773bfb56f74035c718bc 100644 GIT binary patch delta 18643 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 K|I%22i2?w4U{%Bb delta 334 zcmZp8Dth^{2v2}FGm8iV2nbqF8u+W zr~l7nm78vt$tpg5K{_k%Gr)6_lp0`OD-yeL+4@>#ZE1Rw;++f_bb8)3u$L-5@6B z