* certcheck.c (gpgsm_create_cms_signature): Format a description
[gnupg.git] / TODO
1                                                               -*- outline -*-
2
3 * src/base64
4 ** Make parsing more robust
5 Currently we don't cope with overlong lines in the best way.
6
7 * sm/call-agent.c
8 ** The protocol uses an incomplete S-expression
9 We should always use valid S-Exp and not just parts.
10 ** Some code should go into import.c
11 ** When we allow concurrent service request in gpgsm, we
12 might want to have an agent context for each service request
13 (i.e. Assuan context).
14 ** There is no error report if GPG_AGENT_INFO has been set but the agent is not anymore running. 
15
16 * sm/certreqgen.c
17 ** Improve error reporting
18 ** Do some basic checks on the supplied DNs
19
20 * sm/certchain.c
21 ** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
22 ** figure out how to auto retrieve a key by serialno+issuer.
23    Dirmngr is currently not able to parse more than the CN.
24 ** Try all available root certs in case we have several of them in our keybox.
25  For example TC TrustCenter Class 1 CA certs are ambiguous becuase
26  user certs don't come with a authorityKeyIdentifier.
27 ** Support extKeyUsage
28  The only value which makes sense for us is emailProtection (I have
29  not yet found a test cetificate with that).  We might want to allow
30  other usages depending on special options (e.g. an option used for code
31  signing).
32
33 * sm/decrypt.c
34 ** replace leading zero in integer hack by a cleaner solution
35
36 * sm/sign.c
37 ** Don't hardcode the use of RSA.
38
39 * sm/gpgsm.c
40 ** Support --output for all commands
41 ** mark all unimplemented commands and options.
42 ** Print a hint when MD2 is the cause for a problem.
43 ** Implement --default-key
44
45 * sm/keydb.c
46 ** Check file permissions
47 ** Write a keybox header and check for that magic value.
48 ** Check that all error code mapping is done.
49 ** Remove the inter-module dependencies between gpgsm and keybox
50 ** Add an source_of_key field
51 ** We need an error code GPG_ERR_NOT_LOCKED
52
53 * agent/gpg-agent.c
54 ** A SIGHUP should also restart the scdaemon
55    But do this only after all connections terminated.
56
57 * agent/command.c
58 ** Make sure that secure memory is used where appropriate
59
60 * agent/pkdecrypt.c, agent/pksign.c
61 ** Don't use stdio to return results.
62
63 * agent/divert-scd.c
64  Remove the agent_reset_scd kludge.
65
66 * agent/protect-tool.c
67 ** Export certificates along with the secret key.
68 ** BUG? --p12-export seems to work only with unprotected keys
69
70 * Move pkcs-1 encoding into libgcrypt.
71
72 * Use a MAC to protect some files.
73
74 * sm/export.c
75 ** Return an error code or a status info per user ID.
76
77 * scd/apdu.c
78 ** We need close_reader functionality
79
80 * ALL
81 ** Return IMPORT_OK status.
82
83 * Where is http.c, regcomp.c, srv.c, w32reg.c  ?
84
85 * scd/sc-investigate
86 ** Enhance with card compatibility check
87
88 * scd/app-openpgp
89   Must check that the fingerprint used is not the one of the
90   authentication key.  Old GnuPG versions seem to encode the wrong
91   keyID.
92
93 * Store the revocation status directly in the Keybox
94
95 * tests
96 ** Makefile.am
97   We use printf(1) to setup the library path, this is not portable.
98   Furthermore LD_LIBRARY_PATH is not used on all systems.  It doesn't
99   matter for now, because we use some GNU/*BSDish features anyway.
100
101