qca/TODO

89 lines
2.8 KiB
Plaintext
Raw Normal View History

* update the README
* special thanks to Jack Lloyd
* mac universal binary support?
* API documentation
think about documenting the various providers (qcaprovider.h)
Change Doxyfile config to capture whole API, and to generate Latex manual.
document which functions might cause a synchronous asker:
pkey: sign/decrypt, or any non-KeyLoader privkey/keybundle loading
keystore: entryList (non-async), ensureAvailable, ensureAccessible
securemessage: waitForFinished
* test1
code:
qcatool: pkcs11 configurator
cert: rfc 2818 hostname validation
synchronizer: cleanup
publickey: cleanup
cert: cleanup
keystore: complete, cleanup
securelayer: cleanup
securemessage: cleanup
dirwatch: consider using QFileSystemWatcher instead (or wrapping)
dirwatch: thread safety
dirwatch: proper object parenting, test on all platforms
make sure we catch any throws from botan
add logging to qca lib and other plugins
qcatool TODOs
finish cmssigner
qca-openssl: ca signing
qca-openssl: async tls
other:
qt/x11 4.2 doesn't support debug-and-release anymore. what should we do?
smartcard tls example?
update the rootcerts with mozcerts
regenerate botantools.diff
* Considerations
api:
Q_DISABLE_COPY on some objects
give all classes non-default ctors/dtors/copy/op=, and dpointers?
add more "getters" to the library?
don't forget to QCA_EXPORT everything
it's possible we use SecureArray in some unnecessary places
other:
add more asserts
standardize on count() vs size() when iterating?
printf + latin1()/toLatin1() -> qPrintable() ? (in code/examples/docs/etc)
* examples
create example for BigInteger
create example for OpenPGP
create example for CMS
fix SASL examples (client and server)
* Additional unit tests (using QTestLib):
- OpenPGP
- CMS
- TLS ?
- SASL ?
- QPipe
- FileWatch / DirWatch
- Complete the pkits tests
* write plugin support
qca-botan: implement
qca-egads (or qca-egd): implement for Random support
* possibilities for the future:
emsa3Encode: implement in provider instead of qca?
OCSP
tls ocsp stapling
internally managed intermediate object storage
securemessage: algorithm selection for cms/pgp (and use SecurityLevel?)
tls: renegotiation
Key wrapping - RFC3217 and RFC3394
quoted-printable TextFilter
keygen on smart cards
keystore: symmetric keys, arbitrary app data
cert: any other fields we don't support but might be used out there
cert: support for arbitrary extensions?
cms: fine-grained control over smime attribs
convertToPublic should return a publickey rather than change itself
providers for:
Mozilla NSS
Windows CryptoAPI
Linux kernel crypto support, if the userspace API ever gets sorted out
Intel Performance Primatives library