Hi.

Is there a way to forget/wipe any certificates and keys once a SSL/TLS connection has been established? I want to protect myself against bugs that occur later on in the connection from exposing my private keys.

Both server and client keys are relevant here.

So basically:

accept-loop()
fork()
  child process sets up SSL structures with keys, certs & such
  drop privileges() (using setuid() et.al.)
  do handshake
  forget private keys, only use session keys
  do communication with SSL_read()/SSL_write()
  exit
parent continues accept()-loop

Or is there a better solution to this?

Making the child process just a SSL-proxy and doing the rest in a child of that child through a socketpair() or something has occured to me, but I want to protect myself against bugs in that proxy code and bugs in OpenSSL.

I'll have to live with the fact that if there is a bug in the handshake code before forgetting the keys I'll lose.... right?


---------
typedef struct me_s {
  char name[]      = { "Thomas Habets" };
  char email[]     = { "tho...@habets.pp.se" };
  char kernel[]    = { "Linux" };
  char *pgpKey[]   = { "http://www.habets.pp.se/pubkey.txt"; };
  char pgp[] = { "A8A3 D1DD 4AE0 8467 7FDE  0945 286A E90A AD48 E854" };
  char coolcmd[]   = { "echo '. ./_&. ./_'>_;. ./_" };
} me_t;
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to