summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 621b278ba9aad132181cfa994e7dbb4751ba247b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
                                                              -*- outline -*-

* src/base64
** Make parsing more robust
Currently we don't cope with overlong lines in the best way.

* sm/call-agent.c
** The protocol uses an incomplete S-expression
We should always use valid S-Exp and not just parts.
** Some code should go into import.c
** When we allow concurrent service request in gpgsm, we
might want to have an agent context for each service request
(i.e. Assuan context).

* sm/certreqgen.c
** Improve error reporting
** Do some basic checks on the supplied DNs

* 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.

* 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

* 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

* 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/protect-tool.c
** Export and import certificates along with the secret key.
** Make it more comfortable; i.e. copy files to the correct place.
** BUG? --p12-export seems to work only with unprotected keys

* Move pkcs-1 encoding into libgcrypt.

* Use a MAC to protect some files.

* 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

* 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.