Dr S N Henson wrote:
> > > > I'm doing it; right now, I have a single network thread doing all normal
> > > > networking *and* SSL; after I write the load tests that demonstrate
> > > > how woefully inadequate that is :-), I'll split that into two threads:
> > > > one for doing the SSL accept / connect stuff, and one for all other
> > > > networking including bulk SSL.  (I have yet other threads for disk I/O.)
> > > > Hope that will suffice, otherwise I get to do a little refactoring, or worse.
> > >
> > > The problem with that is that a client can renegotiate a session at any
> > > time.
> >
> > Oh, right.  That's a bit of a problem.  A big problem, actually.
> > Is there any provision in OpenSSL for notifying the application
> > when you're about to do heavy number crunching, so the work
> > can be moved to a different thread?  I doubt it.
> 
> Currently there is no non blocking crypto interface (which is one way of
> achieving this) though this has been discussed in the past.

I wonder if the engine interface would be helpful here; 
conceivably I could define a crypto provider that would just
be the default one but running in another thread.
I have a sinking suspicion it's a blocking interface, though,
which wouldn't help a bit.
 
> You can prohibit renegotiations by the client though.

Hmm.  That and limiting the connection's lifetime might do it.
 
> The speed of symmetric ciphers might be a problem for general I/O, but
> nowhere near as bad as the slow asymmetric ones.

Agreed.

- Dan
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to