February 05, 2007
Someone have coded an HTTPS server framework? (maybe extending the mango
HTTP server framework...)
If not I will try to use the libgnunet crypto utils (gnunet has a
node-to-node protocol that is "ssl-like") to extend mango HTTP server
(RSA with 2048 bit keys to start a connection and send the symmetric
cipher key, and AES-256 with 256 bit keys for all communication between
client and server).
libgnunet is a well coded C library with some usefull (and easy to use)
function to do that.(I believe that it's simpler for me calling a well
tested C library, instead of coding a new one in D from scratch).
But, before start to work on it, I want to know if the library is
"usable" or not from D.

in symcipher_gcrypt.c:

 * Note that the code locks often needlessly on the gcrypt-locking api.
 * One would think that simple MPI operations should not require locking
 * (since only global operations on the random pool must be locked,
 * strictly speaking).  But libgcrypt does sometimes require locking in
 * unexpected places, so the safe solution is to always lock even if it
 * is not required.  The performance impact is minimal anyway.


static struct MUTEX * gcrypt_shared_lock;

void lockGcrypt() {
  MUTEX_LOCK(gcrypt_shared_lock);
}

void unlockGcrypt() {
  MUTEX_UNLOCK(gcrypt_shared_lock);
}

it use gcrypt library, mutex, ecc, could be a problem? (something like a
 conflict with the D part of my library that already use threads, mutex
and semaphore)
note: I want to use only the crypto functions, not the entire library.
February 05, 2007
Alberto wrote:
> Someone have coded an HTTPS server framework? (maybe extending the mango
> HTTP server framework...)
> If not I will try to use the libgnunet crypto utils (gnunet has a
> node-to-node protocol that is "ssl-like") to extend mango HTTP server

That would be wonderful!