** When we allow concurrent service request in gpgsm, we
might want to have an agent context for each service request
(i.e. Assuan context).
-** There is no error report if GPG_AGENT_INFO has been set but the agent is not anymore running.
* sm/certreqgen.c
** Improve error reporting
* sm/certchain.c
** When a certificate chain was sucessfully verified, make ephemeral certs used in this chain permanent.
-** figure out how to auto retrieve a key by serialno+issuer.
- Dirmngr is currently not able to parse more than the CN.
-** Try all available root certs in case we have several of them in our keybox.
- For example TC TrustCenter Class 1 CA certs are ambiguous becuase
- user certs don't come with a authorityKeyIdentifier.
-** Support extKeyUsage
- The only value which makes sense for us is emailProtection (I have
- not yet found a test cetificate with that). We might want to allow
- other usages depending on special options (e.g. an option used for code
- signing).
+
* sm/decrypt.c
** replace leading zero in integer hack by a cleaner solution
-* sm/sign.c
-** Don't hardcode the use of RSA.
-
* sm/gpgsm.c
** Support --output for all commands
** mark all unimplemented commands and options.
** Print a hint when MD2 is the cause for a problem.
** Implement --default-key
+** support the anyPolicy semantic
+** Check that we are really following the verification procedures in rfc3280.
+** Implement a --card-status command.
+ This is useful to check whether a card is supported at all.
+
* sm/keydb.c
** Check file permissions
-** Write a keybox header and check for that magic value.
** Check that all error code mapping is done.
** Remove the inter-module dependencies between gpgsm and keybox
** Add an source_of_key field
-** We need an error code GPG_ERR_NOT_LOCKED
-
-* agent/gpg-agent.c
-** A SIGHUP should also restart the scdaemon
- But do this only after all connections terminated.
* agent/command.c
** Make sure that secure memory is used where appropriate
* agent/pkdecrypt.c, agent/pksign.c
** Don't use stdio to return results.
-
-* agent/divert-scd.c
- Remove the agent_reset_scd kludge.
-
-* agent/protect-tool.c
-** Export certificates along with the secret key.
-** BUG? --p12-export seems to work only with unprotected keys
+** Support DSA
* Move pkcs-1 encoding into libgcrypt.
-* Use a MAC to protect some files.
+* Use a MAC to protect sensitive files.
+ The problem here is that we need yet another key and it is unlikely
+ that users are willing to remember that key too. It is possible to
+ do this with a smartcard, though.
* sm/export.c
** Return an error code or a status info per user ID.
-* scd/apdu.c
-** We need close_reader functionality
-
-* ALL
-** Return IMPORT_OK status.
-
-* Where is http.c, regcomp.c, srv.c, w32reg.c ?
-
-* scd/sc-investigate
-** Enhance with card compatibility check
-
-* scd/app-openpgp
- Must check that the fingerprint used is not the one of the
- authentication key. Old GnuPG versions seem to encode the wrong
- keyID.
-
-* Store the revocation status directly in the Keybox
-
+* scd/tlv.c
+ The parse_sexp fucntion should not go into this file. Check whether
+ we can change all S-expression handling code to make use of this
+ function.
+
+* scd
+** Application context vs. reader slot
+ We have 2 concurrent method of tracking whether a read is in use:
+ Using the session_list in command.c and the lock_table in app.c. IT
+ would be better to do this just at one place. First we need to see
+ how we can support cards with multiple applications.
+
* tests
** Makefile.am
We use printf(1) to setup the library path, this is not portable.
Furthermore LD_LIBRARY_PATH is not used on all systems. It doesn't
matter for now, because we use some GNU/*BSDish features anyway.
+** Add a test to check the extkeyusage.
+
+* doc/
+** Explain how to setup a root CA key as trusted
+** Explain how trustlist.txt might be managed.
+** Write a script to generate man pages from texi.
+ In progress (yatm)
+
+
+* Windows port
+** gpgsm's LISTKEYS does not yet work
+ Fix is to change everything to libestream
+** Signals are not support
+ This means we can't reread a configuration
+** No card status notifications.
+
+
+* sm/
+** --include-certs is as of now still a dummy command line option