]> git.ipfire.org Git - thirdparty/squid.git/commit - src/client_side.cc
stable certificates part3
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Wed, 22 Feb 2012 14:03:43 +0000 (16:03 +0200)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Wed, 22 Feb 2012 14:03:43 +0000 (16:03 +0200)
commit4ece76b2dfa1ec0f9c5510b1f394bf9f425411a7
tree7b5f25647f047b892f489020b7147b37a2397ec6
parenta0b971d53f489dc19ab9a4b06dd5eb34a6c3a16f
stable certificates part3

 - Handle the case the signing certificate changed. The ssl_crtd daemon
   must drop cached certificates which has signed with older signing
   certificates and generate new one using the current signing certificate

 - We need to generate certificates with different serial numbers, if the
   signing certificate has changes in any way, even if the certificates has
   exactly the same fields.
   To achieve this we are firstly generating a temporary fake certificate with
   serial number the hash digest of signing certificates public key. The digest
   of the temporary fake certificate used as serial key to the final certificate

 - Bug fix: A cached certificate which has adaptated with one or more algorithms
   (setNotAfter, setNotBefore, setCommonName etc) did not used and always a new
   certificate generated. This patch fixes this bug.

Notes:
  - Ssl::ssl_match_certificates replaced with Ssl::certificateMatchesProperties
    function which checks if a given certificate matches given properties:
    Checks if the certificate signed with current signing certificate, and
    check if mimicked certificate matches the given certificate.
  - The Ssl::CertificateDb::purgeCert method added to delete a certificate from
    database.
src/client_side.cc
src/ssl/certificate_db.cc
src/ssl/certificate_db.h
src/ssl/gadgets.cc
src/ssl/gadgets.h
src/ssl/ssl_crtd.cc
src/ssl/support.cc
src/ssl/support.h