aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPetr Svenda2021-01-11 17:47:55 +0100
committerGitHub2021-01-11 17:47:55 +0100
commitcd58af690473451d5cbe5ae206c083e7905685c4 (patch)
treed87de0c4dc70895b4aa76503d290b42948c6a573
parent052b230c5084fdcef516b0bf4f9c2c994c48702f (diff)
parentddc875e5c43c2ba15d5149ed55fdf3f55ff20df1 (diff)
downloadsec-certs-cd58af690473451d5cbe5ae206c083e7905685c4.tar.gz
sec-certs-cd58af690473451d5cbe5ae206c083e7905685c4.tar.zst
sec-certs-cd58af690473451d5cbe5ae206c083e7905685c4.zip
Merge pull request #24 from petrs/petrs/add_jcconstants
Petrs/add jcconstants
-rwxr-xr-xprocess_certificates.py13
-rw-r--r--sec_certs/cert_rules.py40
2 files changed, 46 insertions, 7 deletions
diff --git a/process_certificates.py b/process_certificates.py
index 96d9591a..2b63d70a 100755
--- a/process_certificates.py
+++ b/process_certificates.py
@@ -114,19 +114,18 @@ def main(directory, do_complete_extraction: bool, do_download_meta: bool, do_ext
if do_extraction_certs:
all_keywords = extract_certificates_keywords_parallel(walk_dir, fragments_dir, 'certificate', threads)
- #all_keywords = extract_certificates_keywords(walk_dir, fragments_dir, 'certificate')
- all_front = extract_certificates_frontpage(walk_dir)
- all_pdf_meta = extract_certificates_pdfmeta_parallel(walk_dir, 'certificate', threads)
- #all_pdf_meta = extract_certificates_pdfmeta(walk_dir, 'certificate', results_dir)
+ with open(results_dir / "certificate_data_keywords_all.json", "w") as write_file:
+ json.dump(all_keywords, write_file, indent=4, sort_keys=True)
- # save joined results
+ all_front = extract_certificates_frontpage(walk_dir)
with open(results_dir / "certificate_data_frontpage_all.json", "w") as write_file:
json.dump(all_front, write_file, indent=4, sort_keys=True)
- with open(results_dir / "certificate_data_keywords_all.json", "w") as write_file:
- json.dump(all_keywords, write_file, indent=4, sort_keys=True)
+
+ all_pdf_meta = extract_certificates_pdfmeta_parallel(walk_dir, 'certificate', threads)
with open(results_dir / "certificate_data_pdfmeta_all.json", "w") as write_file:
json.dump(all_pdf_meta, write_file, indent=4, sort_keys=True)
+
# if do_extraction_pp:
# all_pp_csv = extract_protectionprofiles_csv(web_dir)
# all_pp_front = extract_protectionprofiles_frontpage(pp_dir)
diff --git a/sec_certs/cert_rules.py b/sec_certs/cert_rules.py
index 99d58443..1fd6050b 100644
--- a/sec_certs/cert_rules.py
+++ b/sec_certs/cert_rules.py
@@ -140,6 +140,45 @@ rules_javacard = [
r'(?:Java Card|JavaCard) \(version [2-3]\.[0-9](?:\.[0-9]|)\)',
r'(?:Global Platform|GlobalPlatform) [2-3]\.[0-9]\.[0-9]',
r'(?:Global Platform|GlobalPlatform) \(version [2-3]\.[0-9]\.[0-9]\)',
+ ]
+
+rules_javacard_api_consts = [
+ # javacard API constants
+ r'ALG_(?:PSEUDO_RANDOM|SECURE_RANDOM|TRNG|ALG_PRESEEDED_DRBG|FAST|KEYGENERATION)',
+ r'ALG_DES_[A-Z_0-9]+', # may have false positives like XCP_CPB_ALG_EC_BPOOLCRV
+ r'ALG_RSA_[A-Z_0-9]+',
+ r'ALG_DSA_[A-Z_0-9]+',
+ r'ALG_ECDSA_[A-Z_0-9]+',
+ r'ALG_AES_[A-Z_0-9]+',
+ r'ALG_HMAC_[A-Z_0-9]+',
+ r'ALG_KOREAN_[A-Z_0-9]+',
+ r'ALG_EC_[A-Z_0-9]+',
+ r'ALG_SHA_[A-Z_0-9]+',
+ r'ALG_SHA3_[A-Z_0-9]+',
+ r'ALG_MD[A-Z_0-9]+',
+ r'ALG_RIPEMD[A-Z_0-9]+',
+ r'ALG_ISO3309_[A-Z_0-9]+',
+ r'ALG_XDH',
+ r'ALG_SM2',
+ r'ALG_SM3',
+ r'ALG_NULL',
+ r'ALG_TRNG',
+ r'ALG_NULL',
+ r'SIG_CIPHER_[A-Z_0-9]+',
+ r'CIPHER_[A-Z_0-9]+',
+ r'PAD_[A-Z_0-9]+',
+ r'TYPE_[A-Z_0-9]+',
+ r'LENGTH_[A-Z_0-9]+',
+ r'OWNER_PIN[A-Z_0-9]*',
+ # named curves
+ r'BRAINPOOLP[A-Z_0-9]+(?:R|T)1',
+ r'ED25519',
+ r'ED448',
+ r'FRP256V1',
+ r'SECP[0-9]*R1',
+ r'SM2',
+ r'X25519',
+ r'X448',
]
rules_crypto_algs = [
@@ -392,6 +431,7 @@ common_rules['rules_security_level'] = rules_security_level
common_rules['rules_security_assurance_components'] = rules_security_assurance_components
common_rules['rules_security_functional_components'] = rules_security_functional_components
common_rules['rules_javacard'] = rules_javacard
+common_rules['rules_javacard_api_consts'] = rules_javacard_api_consts
common_rules['rules_crypto_algs'] = rules_crypto_algs
common_rules['rules_block_cipher_modes'] = rules_block_cipher_modes
common_rules['rules_ecc_curves'] = rules_ecc_curves