CRL-Based Revocation Validation
CRL-Based testing
This section documents the testing performed for validation of certificate revocations using Certificate Revocation Lists (CRLs), without requiring an Online Certificate Status Protocol (OCSP) Online Responder.
| This test does not require a configured OCSP Online Responder. It is intended for environments where OCSP support is not available or the Online Responder is not installed. |
Prerequisites
The testing in this section was conducted in an AD CS environment configured as follows:
-
AD CS is installed, and a Certification Authority (CA) has been set up and initialized.
-
CA services are running, and not stopped.
-
An nShield HSM is set up and connected to Security World software.
Procedures
Certificate Enrollment
| You can skip this step if your environment contains a valid test certificate signed by your Certification Authority. |
-
Launch
certmgr.msc. -
Right-click the folder labeled Personal and select All Tasks > Request New Certificate.
-
Complete the Wizard:
-
Select Next in the first two windows.
-
Select the template that you created, then select Enroll.
The Key Storage Provider window appears.If a CA installed on Windows Server Core is managed remotely, the next steps may not appear. A new key is still created to be associated with the certificate. If the STATUS: Succeeded message appears, the procedure is complete. -
Select Next.
-
Insert the administrator cards and enter the passphrase or PIN when prompted.
-
Create the new key to be associated with the certificate.
-
Select the type of protection you want to use, then select Next.
-
Depending on the key protection method, enter the required credentials.
The Certificate Installation Results window should show STATUS: Succeeded. -
Select Finish.
If passphrase authentication is enabled, a prompt for passphrase appears.
-
-
Verify that the certificate is enrolled.
Certificate Verification
-
Launch the Certification Authority application,
certsrv.msc, and find your Certificate within theIssued Certificatesfolder`. -
Double-click your certificate to open its information, then select the Details tab.
-
Ensure the following fields are correct and match your configuration specifications:
-
Issuer: Ensure your CA’s name is listed.
-
Signature Algorithm: Ensure this certificate is using the correct signing algorithm.
-
Serial Number: Ensure this field exists; note the serial number for future reference.
-
Export the Certificate
-
On the certificate Details tab, select Copy to File.
-
Complete the Certificate Export Wizard:
-
On the Welcome page, select Next.
-
On the Export File Format page, select
Base-64 encoded X.509 (.cer), then select Next. -
Input a name for the file, then select Next.
-
On the last page, note the location of the exported file and select Finish. Select OK in the pop-up and confirm that the export was successful.
-
Revoke the Certificate
| When revoking certificates, it is recommended that you use a test certificate first, for trial purposes. Complete the above steps to generate a trial certificate for revocation. |
-
Launch the Certification Authority application,
certsrv.msc, and find your certificate in theIssued Certificatesfolder`. -
Right-click your certificate and select All Tasks > Revoke Certificate.
-
The Certificate Revocation window appears, prompting you for a valid Reason Code. Select a reason, or Unspecified, and then select Yes to revoke the certificate.
-
Close and reopen the Certification Authority application. You should now see your certificate under the
Revoked Certificatesfolder`.
Publish the new CRL
Using the Certification Authority GUI:
-
Launch
certsrv.msc, if it is not already open. -
Right-click the
Revoked Certificatesfolder and select All Tasks > Publish to publish a new CRL. -
When the Publish CRL window appears, select New CRL and then OK to finish.
Using the CLI:
-
Publish a new CRL:
> certutil -crl -
(Optional) Force the new CRL to be used:
> certutil -setreg chain\ChainCacheResyncFiletime @now
CRL Verification
-
Using the CLI, navigate to the location of your exported certificate. Run the following command and replace
testcert.cerwith your exported certificate’s full file name:> certutil -verify -urlfetch .\testcert.cer -
The expected result is below. The last few lines show that the certificate was properly revoked and the CertUtil command completed without issue.
> certutil -verify -urlfetch .\testcert.cer Issuer: CN=interop-ADCSOCSPWINS25-CA DC=interop DC=local Name Hash(sha1): ... Name Hash(md5): ... Subject: . . . The certificate is revoked. 0x80092010 (-2146885616 CRYPT_E_REVOKED) ------------------------------------ Certificate is REVOKED Leaf certificate is REVOKED (Reason=0) CertUtil: -verify command completed successfully.