
Here is a nice list of things to do to improve tlsdate:


 1)  hack the client handshake to not leak the clock to the server
       set it to all zeros or something cute or something random

 3)  add HTTP GET request to avoid network fingerprinting
 6)  skew the clock rather than slamming it
11)  verification of remote certificate for Tor nodes
13)  account for servers that do not send UTC (Microsoft sends local time)
14)  port to bssl, nss, gnutls, yassl, and other libraries
15)  starttls support (smtp, pop, imap, ftp, xmpp)
16)  ensure that 32bit time isn't near wrapping time on 32bit systems
17)  find others to audit it - we need more eyes!
20)  Add verification of remote servers by DANE/CAA DNSSEC protected records
21)  Integrate Chrome's CRL list into tlsdate
22)  Block revoked or bad certs such as MD5 inc. and others.
24)  Add OCSP check option
25)  Block weak signature algorithms
26)  Hard code block list of known horrible certs (extract from Chrome/FF)
28)  Check that extended key usage is empty, or includes TLS Server Auth
29)  extract the SubjectPublicKeyInfo from the certificates; match against
     public keys
31)  Confirm HTTP and TLS date is within a sane range
32)  Integrate tack support https://github.com/tack/tackc
33)  Implement checking of RFC 2818 style wildcards:
       http://wiki.cacert.org/WildcardCertificates
35)  seatbelt profile for Mac OS X
36)  SELinux policy for GNU/Linux platforms
37)  Port to some Windows operating system that anyone actually uses
42) Unit-test everything
47) Review cert validation and compare it with Chrome:
      https://code.google.com/p/chromium/codesearch#chrome/src/net/base/x509_certificate.cc&l=500
48) Complain when server uses very weak DH group parameters
      example weak server: https://demo.cmrg.net/
49) Add seccomp tlsdate and tlsdate-helper
50) Add AppArmor fixes for Tails
52) Port tlsdated to FreeBSD and other non GNU/Linux systems

Patches welcome!

