qca/TODO
Justin Karneges 07104e0119 add tls issuer list support, prepare provider for remaining tls features
svn path=/trunk/kdesupport/qca/; revision=652442
2007-04-11 02:13:20 +00:00

126 lines
4.1 KiB
Plaintext

* 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.
* beta4
api:
some functions report availability of "sub"features without having context
with a specific provider (that is, the functions are not members of an
instance owned by a provider, nor is a provider necessarily specified
as an argument to the function). in these cases, if a feature is
reported as being available, it is not clear how the app can actually
use the feature. For example, if the static method TLS::canCompress()
returns true, it is entirely possible that when the application creates
a "new TLS;" instance, it won't be served by a provider that supports
compression. possibly offending functions:
qca_publickey.h
supportedGroupSets
supportedTypes
supportedIOTypes
supportedPBEAlgorithms
qca_cert.h
canUseFormat
canUsePKCS7
qca_securelayer.h
supportedCipherSuites
canCompress
canSetHostName (tbd)
QSecureArray/QBigInteger -> QCA::SecureArray/QCA::BigInteger ?
code:
cert: orderedToDNString
cert: makeFriendlyNames
keystore async mode
keystore watcher
fix the locking stuff in qca_core
allow logger to be used from anywhere
qca-gnupg: ignore newlines from passphrase, to avoid advancing command-fd
qca-gnupg: support async
qca-openssl: why are some constraints auto-added?
qca-openssl: ca signing
other:
krazy warnings
Update to latest Botan, and remake the botantools patch as appropriate
- remove u32bit miller_rabin_test_iterations(u32bit bits, bool verify)
ability to compile plugins in statically (check 'plugins' subdir)
* test1
api:
cert: crl URIs
cert: policy info beyond OID
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:
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).
qcatool TODOs
qca-openssl: support async S/MIME and TLS
synchronizer should lazy-start the thread
tls/sasl
dirwatch: thread safety
dirwatch: test on all platforms
core: properties
cert: rfc 2818 hostname validation
publickey/cert cleanup
securemessage
tls
sasl
keystore: cleanup
don't allow smart card providers to be used by default
proper parenting of all objects
* 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 QSecureArray 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:
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
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