diff options
| author | Christian Poessinger <christian@poessinger.com> | 2021-09-26 13:17:08 +0200 | 
|---|---|---|
| committer | Christian Poessinger <christian@poessinger.com> | 2021-09-26 13:17:08 +0200 | 
| commit | 579c64f5ab5c6bc140f72045ca243fa3f2134ba3 (patch) | |
| tree | a71b5bfc0b1b198ff4f7460ec8a6ef30ea82b27b | |
| parent | 3bc79ff3cb40eeb36a33de7112d558abb96cb22f (diff) | |
| download | vyos-1x-579c64f5ab5c6bc140f72045ca243fa3f2134ba3.tar.gz vyos-1x-579c64f5ab5c6bc140f72045ca243fa3f2134ba3.zip | |
op-mode: pki: T3826: perform input validation when listing certificates
| -rwxr-xr-x | src/op_mode/pki.py | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/src/op_mode/pki.py b/src/op_mode/pki.py index e1428c581..2283cd820 100755 --- a/src/op_mode/pki.py +++ b/src/op_mode/pki.py @@ -858,8 +858,18 @@ if __name__ == '__main__':          elif args.action == 'show':              if args.ca: -                show_certificate_authority(None if args.ca == 'all' else args.ca) +                ca_name = None if args.ca == 'all' else args.ca +                if ca_name: +                    if not conf.exists(['pki', 'ca', ca_name]): +                        print(f'CA "{ca_name}" does not exist!') +                        exit(1) +                show_certificate_authority(ca_name)              elif args.certificate: +                cert_name = None if args.certificate == 'all' else args.certificate +                if cert_name: +                    if not conf.exists(['pki', 'certificate', cert_name]): +                        print(f'Certificate "{cert_name}" does not exist!') +                        exit(1)                  show_certificate(None if args.certificate == 'all' else args.certificate)              elif args.crl:                  show_crl(None if args.crl == 'all' else args.crl) | 
