Nelson,

Thanks a lot for your answer.

On Wed, Jun 3, 2009 at 4:25 PM, Nelson B Bolyard <nel...@bolyard.me> wrote:
>
>> Note: The way Chromium uses NSS to verify SSL server
>> certificates has changed since Dan Kegel posted that message.
>> Since certificate verification can block indefinitely while
>> downloading CRLs or talking to OCSP responders, Chromium
>> is verifying certificates on a thread pool (so it won't block the
>> message loop of the main thread) after the handshake is completed.
>> Chromium now has an auth-certificate callback that always
>> returns SECSuccess, and is no longer using a bad-certificate
>> callback.
>
> That means that you always put the cert and its chain into the client's
> cache, and cache the negotiated SSL session, where it will be restarted
> by future attempts to connect to the same host/port.  This seems inadvisable.

Yes, that's an issue.  Chromium handles that by also verifying the
cert after a resumption handshake is completed.  Other than the
inefficiency of repeatedly verifying the same cert (which can be
addressed by caching cert verification results), do you see any
problem with this approach?

Certificate verification with revocation checking is a potentially
long operation, so any app that does non-blocking SSL I/O
from a message/event loop needs to solve this problem.
(The message/event loop is supposed to run short functions
only.)  PSM solved this problem by moving all of SSL to
worker threads.  Chromium is moving just certificate verification
to worker threads, and this requires the trickery described
above.

Thanks,
Wan-Teh
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to