From f274cdc9240d6dfa5724d14b4f454f0f570fba88 Mon Sep 17 00:00:00 2001 From: Alexander Railean Date: Fri, 22 Mar 2024 06:28:41 +0100 Subject: [PATCH] Handle malformed inputs given via the CLI more gracefully Instead of crashing and exposing the traceback of pyasn1 internals, show an error message. This can help differentiate an error inside pkilint from an error inside the input data. --- pkilint/bin/lint_pkix_cert.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkilint/bin/lint_pkix_cert.py b/pkilint/bin/lint_pkix_cert.py index c91990a..d257183 100644 --- a/pkilint/bin/lint_pkix_cert.py +++ b/pkilint/bin/lint_pkix_cert.py @@ -44,7 +44,11 @@ def main(cli_args=None) -> int: return 0 else: - cert = loader.load_certificate(args.file, args.file.name) + try: + cert = loader.load_certificate(args.file, args.file.name) + except ValueError as e: + print(f'Failed to load certificate: {e}') + return 1 results = doc_validator.validate(cert.root)