mirror of
https://github.com/QuasarApp/qca.git
synced 2025-04-28 12:34:31 +00:00
126 lines
4.1 KiB
Plaintext
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
|
|
|