Viewing the CRL table of the certification authority database

By default, the certification authority stores all certificate revocation lists (CRLs) that have not yet expired in the certification authority database.

Under certain circumstances, e.g. due to a misconfigured script, a large number of CRLs are stored in the database in this way, which can lead to a corresponding growth of the database (e.g. if large CRLs are recreated very often).

Do you know TameMyCerts? TameMyCerts is an add-on for the Microsoft certification authority (Active Directory Certificate Services). It extends the function of the certification authority and enables the application of rule sets to realize the secure automation of certificate issuance. TameMyCerts is unique in the Microsoft ecosystem, has already proven itself in countless companies around the world and is available under a free license. It can be downloaded via GitHub and used free of charge. Professional maintenance is also offered.

Database schema for the CRL table

To make queries against the CRL table of the certification authority database, one must first identify the required database fields. This can be done with the following command:

certutil -schema CRL

Listing the CRLs in the CRL table

An overview of the CRLs held in the CRL table can then be obtained with the following command, for example:

certutil -view -out "CRLNumber,CRLThisUpdate,CRLNextUpdate" CRL csv

Deletion of entries from the CRL table

A CRL can be deleted from the certification authority database by specifying the CRL number with the following command line command.

certutil -deleterow {CRL-Nummer} CRL

Determine and modify the storage behavior for CRLs

Whether or not the certification authority removes expired CRLs from the certification authority database (default setting) is determined by the flag CRLF_DELETE_EXPIRED_CRLS within the CRLFlags registry value. This can be determined with the following command.

certutil -v -getreg CA\CRLFlags

This command can be used to disable the deletion of expired CRLs from the certification authority database:

certutil -setreg CA\CRLFlags -CRLF_DELETE_EXPIRED_CRLS

This command can be used to re-enable the deletion of expired CRLs from the certification authority database:

certutil -setreg CA\CRLFlags +CRLF_DELETE_EXPIRED_CRLS

The changes become active only after restarting the certification authority service.