Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 42004 invoked from network); 4 Dec 2008 12:14:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Dec 2008 12:14:22 -0000 Received: (qmail 30616 invoked by uid 500); 4 Dec 2008 12:14:28 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 30484 invoked by uid 500); 4 Dec 2008 12:14:27 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 30261 invoked by uid 99); 4 Dec 2008 12:14:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Dec 2008 04:14:27 -0800 X-ASF-Spam-Status: No, hits=-0.3 required=10.0 tests=RCVD_IN_DNSWL_LOW,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (athena.apache.org: transitioning domain of shenson@oss-institute.org does not designate 195.173.77.150 as permitted sender) Received: from [195.173.77.150] (HELO lon1-post-3.mail.demon.net) (195.173.77.150) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Dec 2008 12:12:54 +0000 Received: from drh-consultancy.demon.co.uk ([80.177.30.10] helo=[192.168.7.8]) by lon1-post-3.mail.demon.net with esmtp (Exim 4.69) id 1L8D5Q-0001Cf-em for dev@httpd.apache.org; Thu, 04 Dec 2008 12:13:41 +0000 Message-ID: <4937C980.7020401@oss-institute.org> Date: Thu, 04 Dec 2008 12:13:52 +0000 From: Dr Stephen Henson User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: dev@httpd.apache.org Subject: OCSP Stapling support for mod_ssl X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org At Joe's request I've posted the last comment here. It is in reference to bug #43822 which is OCSP Stapling support for mod_ssl: > The trunk mod_ssl now has: > > 1) session caching code factored out, and > 2) generic-ish OCSP request implementation. > > which should simplify this patch quite a lot. Any chance the patch could be > redone for trunk? > > I don't much like adding another mutex object type on top of APR global > mutexes, it seems redundant; I'd think that extending ssl_mutex_*() to take a > apr_global_mutex_t * or something similar would be sufficient, so that those > functions are simple helpers around the APR global mutex. (or *possibly* > extending util_mutex.c to do that might make sense). > I've finally been able to look at this again. The two attachments are an initial (incomplete) port to the trunk, it works for testing purposes but lacks some features. The rest can be done when I've clarified what people think is the best way to go about things... The mutex code has been removed and some dummy functions to replace them for now. I can change ssl_mutex_*() to apr_global_mutex_t and some additional parameters for ssl_mutex_init() and ssl_mutex_reinit() and removal of the special case code (AP_SOCACHE_FLAG_TOTMPSAFE etc) since the mutex for stapling will always be used. The timeout option doesn't currently work. There is support for timeout in the generic-ish OCSP but it is hard coded. I could change that to take a parameter. The uri and certificate parsing code does duplicate some used in some static functions in the OCSP code (but with hard coded parameters). Again that could be removed by some generalisation. I haven't at this stage altered the session caching code. It still makes use of the SSL session cache to store OCSP responses. Would a separate cache be in order, which works in a manner similar to the SSL session cache? The requirements for the OCSP stapling cache differ from the session cache: only a small number (one per certificate) of entries of relatively small size (under 1K) will be needed but they are likely to persist for longer (several minutes). Steve. -- Dr Stephen N. Henson. Senior Technical/Cryptography Advisor, Open Source Software Institute: www.oss-institute.org OpenSSL Core team: www.openssl.org