dirmngr: Add options --tls and --systrust to the VALIDATE cmd.
authorWerner Koch <wk@gnupg.org>
Fri, 17 Feb 2017 15:39:48 +0000 (16:39 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 17 Feb 2017 15:41:02 +0000 (16:41 +0100)
commit070211eb990f5ea41271eba432b6a6b485cef7c7
treedf547fb8197e445666906f4a0ee5f37fda512e9d
parented99af030d19305dd7cd41c41ac581306cb91fd5
dirmngr: Add options --tls and --systrust to the VALIDATE cmd.

* dirmngr/certcache.h (certlist_s, certlist_t): New.
* dirmngr/certcache.c (read_certlist_from_stream): New.
(release_certlist): New.
* dirmngr/server.c (MAX_CERTLIST_LENGTH): New.
(cmd_validate): Add options --tls and --systrust.  Implement them
using a kludge for now.
* dirmngr/validate.c (validate_cert_chain): Support systrust
checking.  Add kludge to disable the CRL checking for tls mode.
--

This can now be used to test a list of certificates as returned by
TLS.  Put the certs PEM encoded into a a file certlist.pem with the
target certificate being the first.  Then run

  gpg-connect-agent --dirmngr \
    '/definqfile CERTLIST wiki-gnupg-chain.pem' \
    'validate --systrust --tls' /bye

CRLS check has been disabled becuase we can't yet pass the systrust
flag to the CRL checking code.

Signed-off-by: Werner Koch <wk@gnupg.org>
dirmngr/certcache.c
dirmngr/certcache.h
dirmngr/dirmngr.h
dirmngr/server.c
dirmngr/validate.c