CRL timestamp #747
-
Hello the EJBCA team, I have a script which automatically generates CRL. The trigger is: "search for the latest revoked certificate in the database; if it is not in the CRL, create a new one." What happened:
I would have expected the timestamp of the CRL to be earlier than 14h20'09'', since certificate B's serial number is not in the CRL. Let's say 14h20'01'' when my script called the createcrl command. What's your opinion on the matter? Best regards, talcher |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
EJBCA will make a query to the database to list all certificates that are revoked. Although the transaction behavior can be database dependent, it makes sense that it will not pick up the one updated after the list transaction started. After this database listing the CRL itself is assembled and signed. This can also take some time, and the final timestamp on the CRL is when the actual CRL is finished, or almost finished as the timestamp is part of the signature so it's when the CRL was assembled, but before it's signed. So it does make sense as it follows transaction logic imho. |
Beta Was this translation helpful? Give feedback.
-
Thank you, Tomas, for your answer. |
Beta Was this translation helpful? Give feedback.
While I see the logic I do not think it's a practical approach. It would become very difficult to handle all corner cases, we need to keep it a bit simple. It's already complex with expiration, removal from CRL, delta and partitioned CRLs.
CRLs can both take a long time to generate, and they can be short lived. If it's specified that a CRL validity time should be say 4 hours, making the CRL available shorter time because the timestamp is done 15 minutes before it was published may look bad (and I'm sure there is some compliance rule somewhere that forbids it). There are just to many corner cases, and too many uncertainties already (CRL generation time for example) to add any more uncertai…