Difference between revisions of "Using a key past its expiration date"

Jump to: navigation, search
Line 60: Line 60:
* [[Failure to check for certificate expiration]]
* [[Failure to check for certificate expiration]]
==Categories ==

Revision as of 22:05, 27 May 2006


The use of a cryptographic key or password past its expiration date diminishes its safety significantly.


  • Authentication: The cryptographic key in question may be compromised, providing a malicious user with a method for authenticating as the victim.

Exposure period

  • Design: The handling of key expiration should be considered during the design phase - largely pertaining to user interface design.
  • Run time: Users are largely responsible for the use of old keys.


  • Languages: All
  • Platforms: All

Required resources




Likelihood of exploit


Avoidance and mitigation

  • Design: Adequate consideration should be put in to the user interface in order to notify users previous to the key's expiration, to explain the importance of new key generation and to walk users through the process as painlessly as possible.
  • Run time: Users must heed warnings and generate new keys and passwords when they expire.


While the expiration of keys does not necessarily ensure that they are compromised, it is a significant concern that keys which remain in use for prolonged periods of time have a decreasing probability of integrity.

For this reason, it is important to replace keys within a period of time proportional to their strength.


In C/C++:

if (!(cert = SSL_get_peer(certificate(ssl)) || !host)
  if ((X509_V_OK==foo) || (X509_V_ERRCERT_NOT_YET_VALID==foo))
//do stuff 

Related problems