aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorJ08nY2021-04-22 20:52:13 +0200
committerJ08nY2021-12-23 18:00:33 +0100
commitbc1e5d61cea6597a184f79baed8caedab35fb66e (patch)
tree7ea1cfe49b9f4404f06b460feac7d290e4109785 /examples
parent3c6d71c1c10bbd13e914c045ed15b88a0236f2e9 (diff)
downloadsec-certs-bc1e5d61cea6597a184f79baed8caedab35fb66e.tar.gz
sec-certs-bc1e5d61cea6597a184f79baed8caedab35fb66e.tar.zst
sec-certs-bc1e5d61cea6597a184f79baed8caedab35fb66e.zip
Split MIP+IUT code into CLI part in examples and rest in library.
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/fips_iut_demo.py29
-rwxr-xr-xexamples/fips_mip_demo.py29
2 files changed, 58 insertions, 0 deletions
diff --git a/examples/fips_iut_demo.py b/examples/fips_iut_demo.py
new file mode 100755
index 00000000..fc10286e
--- /dev/null
+++ b/examples/fips_iut_demo.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+import click
+from sec_certs.iut import IUTDataset
+
+
+@click.command()
+@click.argument("directory", type=click.Path(exists=True, file_okay=False))
+@click.argument("output", type=click.Path(dir_okay=False, writable=True))
+def main(directory, output):
+ """
+ Parse FIPS 'Implementation Under Test' pages.
+
+ \b
+ To use, download pages from the URL:
+ https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/IUT-List
+ into a directory `d` and name them `fips_iut_<iso-timestamp>.html`.
+
+ \b
+ Then run:
+ in_process.py fips-iut d output.json
+ to obtain the parsed output in `output.json`.
+ """
+ dataset = IUTDataset.from_dump(directory)
+ dataset.to_json(output)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/examples/fips_mip_demo.py b/examples/fips_mip_demo.py
new file mode 100755
index 00000000..0173efda
--- /dev/null
+++ b/examples/fips_mip_demo.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+import click
+from sec_certs.mip import MIPDataset
+
+
+@click.command()
+@click.argument("directory", type=click.Path(exists=True, file_okay=False))
+@click.argument("output", type=click.Path(dir_okay=False, writable=True))
+def main(directory, output):
+ """
+ Parse FIPS 'Modules In Process' pages.
+
+ \b
+ To use, download pages from the URL:
+ https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/Modules-In-Process-List
+ into a directory `d` and name them `fips_mip_<iso-timestamp>.html`.
+
+ \b
+ Then run:
+ in_process.py fips-mip d output.json
+ to obtain the parsed output in `output.json`.
+ """
+ dataset = MIPDataset.from_dump(directory)
+ dataset.to_json(output)
+
+
+if __name__ == "__main__":
+ main()