qca/TODO

95 lines
2.9 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.
* beta5
api:
provider init(), then start()
alon: convertToPublic should return a publickey rather than clone?
reporting diagnostic text at the provider level?
document which functions might cause a synchronous asker?
code:
synchronizer: cleanup
keystore: complete, async mode
don't allow smart card providers to be used by default
cert: rfc 2818 hostname validation
publickey: cleanup
cert: cleanup
keystore: cleanup
securelayer: cleanup
securemessage: cleanup
synchronizer should lazy-start the thread
add logging to qca lib and other plugins
make sure we catch any throws from botan
qca-cyrus-sasl:
there's a problem where we can create the provider, and not create
a saslContext, and then the destructor depends on uninitialised values
(to see this, valgrind staticunittest).
qca-openssl: ca signing
qca-openssl: support async S/MIME and TLS
* test1
code:
dirwatch: thread safety
dirwatch: test on all platforms
proper parenting of all objects
qcatool TODOs
other:
update the rootcerts with mozcerts
* 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
providers for:
Mozilla NSS
Windows CryptoAPI
Linux kernel crypto support, if the userspace API ever gets sorted out
Intel Performance Primatives library