Bob (Tongue-In-Cheek) Jueneman says:
we won't be able to implement this highly desirable feature correctly until
X.500 '96.
More seriously, does any one see a need for the following extension to
the SIGNED macro ?
A certificate signature needs to include the serial number of the signers
public key certificate that can be used to verify it, and (/or) the date
the signature was generated.
The rationale for this is that the certificate signer (parent CA) may
need to periodically change its key pair. This change could be planned
(policy driven) rather than unplanned (due to a compromise). I am assuming
now that the CA would not have to reissue all certificates and CRLs
with its new key. I am also assuming that the CAs old certificate, which
had expired naturally, is readily available in some archive.
Given that a principal with one DN may have had multiple certificates
each possibly containing different keys, there is a need for a way to
precisely identify the key that was used to construct a signature.
If the signature date was included, then with some work, the correct
certificate could be deduced. The validity period in the certificate
is inadequate because a certificate may be post dated.
Without such additional info, the verifier would have to iterate through
multiple certificates. If all certificates were not readily available,
the verifier would not be able to distinguish between the error conditions
"Invalid-Signature" and "Unable-to-Verify-Signature"; these two conditions
should be handled differently.
-raj