Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

In the SSL protocol I don't see where the certificate is checked for revocation status.

https://developer.mozilla.org/en/Introduction_to_SSL

Is the Certificate Revocation and Status Checking not implemented in the SSL protocol ?

share|improve this question
    
SSL does not need to use certificates for identification of server or client, so adding it to SSL specification would make it less extensible. –  Hubert Kario Sep 21 '12 at 12:39
add comment

2 Answers

The SSL protocol specifies the way a server sends its certificate to the client. The client should then "obtain" the server public key by validating the certificate. The SSL specification does not describe certificate validation; for that, you must look at X.509, in which you will see that it is a much more complex process than what is described in the document you link to.

Checking revocation status is part of certificate validation. The client is actually free to do it in any way it sees fit; many web browsers "check" revocation status by a process which goes like "mmhh... it is probably not revoked anyway, no need to check anything". In the X.509 world, revocation status can be ascertained by downloading and validating CRL (Certificate Revocation Lists) or obtaining OCSP responses from OCSP responders (an OCSP response is a kind of CRL reduced to a single target certificate). Theoretically, revocation status should be obtained for all certificates, i.e. the server certificate but also the intermediate CA certificates used to validate the server certificates, and all other certificates used to validate CRL and OCSP responses (this can become highly recursive). The aggregate cost (especially in download time) can become prohibitive, which is why many client rely on a weaker but faster model (e.g. checking status only for the server certificate itself, not the intermediate CA; or checking no status at all).

Anyway, validation is how the server public key is obtained, so it occurs during the SSL handshake, right before the ClientKeyExchange message is sent by the client.

share|improve this answer
add comment

There are two ways of checking the status of a certificate:

Neither of these is SSL specific, and they do just that: check the status of a certificate. So they both apply to anything that uses certificates.

share|improve this answer
    
so then at what stage of the ssl connection establishing phase is the status check being performed ? –  user1157 Jan 24 '11 at 5:32
3  
@user1157: at the handshake stage after the server certificate is retrieved. It's up to the client (i.e. browser) to verify the server's certificate in any way it likes (i.e. has a valid certificate chain, it uses a strong certificate signature algorithm, it's not expired, Common name matches URL, it's not in the list of revoked certificates received from the CA on the last CRL update, got a 'good' reply to the OCSP request and so on). –  Eugen Constantin Dinca Jan 24 '11 at 5:53
    
yeah but certification revokation checking is not mention in the link that i posted above. :( –  user1157 Jan 24 '11 at 7:22
1  
@user1157: Because both CRL & OCSP checks are something that it's up to the client to do, it's not part of the SSL protocol. –  Eugen Constantin Dinca Jan 24 '11 at 16:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.