Revoking FreeIPA certificates and certificate hold

A plan for revoking certificates issued by FreeIPA's Dogtag CA: choosing reasons, using certificate hold only when you may need to reverse it, publishing CRLs, and running joiner-mover-leaver processes for lost devices and departed staff.

On this page

When revoking a FreeIPA certificate is the right response

Revoking a FreeIPA certificate tells the CA that a certificate it issued should no longer be trusted, and teams need this when a credential has left their control before it expires. Typical triggers are a lost or stolen laptop with a device certificate, a departed employee who still holds a VPN or Wi-Fi certificate, or a service private key that may have been copied. In each case, waiting for the certificate to expire leaves a window in which a relying party may still accept it, so the question is whether the risk justifies revocation now rather than later.

FreeIPA's certificate authority is the integrated Dogtag system, which the FreeIPA About page describes as the component that issues FreeIPA certificates. Dogtag records each revocation in its own database and reflects it in the certificate revocation list (CRL) it publishes. By default, the first server in the topology handles CRL publication and certificate renewal, so the CRL that relying parties download depends on that server being healthy and reachable. Before relying on revocation, confirm which server holds that role in your deployment and check that the CRL is being regenerated and served where your VPN, Wi-Fi or TLS clients look for it.

Decide before the incident which certificates can be revoked by whom, and which of them you would want to pause instead of destroy. Revocation is the permanent response, while certificate hold is the state you may need when the facts are still unclear. Plan the process around who makes the call, how the affected user or service is reached, and how the CRL update is verified, and confirm with your team which holds and reasons your FreeIPA version supports.

Revocation reasons and when each fits

This table compares the revocation reasons an operator can record in FreeIPA and what each one means for reinstatement. Read it as a decision aid: certificate hold is the only state that can be lifted, so choose it only when the reason for suspension may disappear. Confirm the exact reason list in the documentation for your FreeIPA version before you write procedures around it.

ReasonWhat it usually signalsReinstatementTypical use in FreeIPA
Certificate holdSuspension while the situation is unresolvedReversible: the certificate can be releasedDevice temporarily missing, contractor on leave, investigation open
Key compromiseThe private key may be known to someone elsePermanent: cannot be reinstatedKey extracted from a stolen laptop or leaked in a repository
Affiliation changedThe subject's employment or role changedPermanent: cannot be reinstatedStaff member leaves or moves to a role that should not hold the certificate
SupersededA replacement certificate has been issuedPermanent: cannot be reinstatedService certificate replaced during renewal or re-keying
Cessation of operationThe host, service or device no longer existsPermanent: cannot be reinstatedDecommissioned server, retired VPN gateway or retired device
Unspecified or no reasonNo specific cause recordedConfirm in your version whether it is permanentAvoid for audit records, since the reason is the evidence an assessor will ask for
Lost or stolen deviceDevice may be in an unknown handsUsually permanent, so re-issue a new keyWi-Fi or VPN device certificate on a lost phone or laptop
Confirm before useExact reason names and hold behavior vary by releaseCheck your FreeIPA version documentationBuild your runbook from the reason list your installed version actually accepts

Lost devices, departed staff and compromised services

A lost laptop, phone or VPN appliance usually carries a certificate issued for Wi-Fi, VPN or device authentication. The scope of the response depends on where that certificate came from. If the device certificate was issued by a lightweight sub-CA, you can disable that sub-CA to invalidate every certificate it signed, but that also affects every other device in the group. If the certificate came from the main CA under a CA ACL that names the user or host, revoking the single serial number is usually the narrower action. This workflow is illustrative, not a DeployOpen commitment, and your own policy decides each step.

  • Confirm the certificate: Look up the serial number and issuing CA in the FreeIPA web UI or with ipa cert-find before revoking anything.
  • Choose the reason: Use a reason such as key compromise or cessation of operation for a stolen device, and reserve certificate hold for cases where recovery is possible.
  • Get approval: Record who authorizes the revocation, typically the device owner's manager and the security on-call, before running ipa cert-revoke.
  • Keep evidence: Save the report, the ticket, the serial number, the timestamp and the CRL version that first included the serial.
  • Check the blast radius: Confirm whether the sub-CA or CA ACL affects other devices and whether replacement certificates are already issued.

Before closing the ticket, check that the revoked serial appears in the published CRL and that the network device rejects the certificate in a test login.

How to set up revocation handling in FreeIPA

This sequence confirms which server issues and publishes revocation data, records the reasons and hold rules your policy uses, and proves that revocation and hold reach clients through the CRL before you rely on them. Each step ends with a check that shows it is complete.

  1. Back up the topology before changes

    The infrastructure owner takes a full backup with ipa-backup on the server that will hold the change, then copies the archive off the server. FreeIPA's backup documentation warns that restoring an outdated backup into an active replica topology can break replication, so this backup is a safety net for the current state, not a restore plan for later. Check that the archive exists, that it is readable, and that it was copied to a location that survives the loss of the server.

  2. Confirm the CA and renewal master role

    The PKI administrator identifies the CA renewal master with ipa config-show and lists which servers run the Dogtag CA. FreeIPA's deployment recommendations advise at least one replica per datacenter running PKI, and the backup documentation notes that the first server handles certificate renewal and CRL publication by default. Record the renewal master, every PKI replica and the datacenter each one serves. Done when the list matches the topology document and each datacenter has a PKI replica or a documented reason it does not.

  3. Document revocation reasons and hold rules

    Security and compliance leads write a table that maps each revocation reason your policy uses, such as key compromise, lost device, superseded certificate or departed staff, to an action and an approver. Mark which reasons may be placed on hold, because a held certificate is the only state that can be reversed. Name who may request a hold, who approves it and who may remove it. Done when the table is signed off by the people who own the policy and stored with the CA configuration records.

  4. Test revoke and hold on a lab certificate

    The PKI administrator issues a test certificate to a non-production host, then revokes it with a reason from the table and places a second test certificate on hold. Use ipa cert-show to confirm the status of each certificate after every action. Do not run these tests against production service certificates. Done when the revoked certificate shows a revoked status, the held certificate shows a hold status, and both results match the expected outcome in the policy table.

  5. Verify CRL publication on the renewal master

    After the test actions, the PKI administrator checks that the renewal master regenerated the certificate revocation list and that the new entries appear in it. Use ipa-crlgen-manage status to confirm the CRL generation state, and confirm the publication location your clients and relying services use. Note how quickly updates appear in your environment, and confirm the publication behavior with your FreeIPA version's documentation rather than assuming it. Done when the test serial numbers appear in the published CRL.

  6. Verify CRL retrieval from an enrolled client

    A test client that is enrolled in FreeIPA downloads the published CRL from the location you recorded and checks that the revoked and held serial numbers are present. Repeat the check from a client that uses a different replica or datacenter, because a second PKI server can publish a different view if replication or publication is misconfigured. Done when both clients see the same entries and a service that checks the test certificate rejects the revoked one and treats the held one according to your policy.

  7. Write and rehearse the reinstatement procedure

    The PKI administrator writes the steps for removing a hold, including who must approve it, the commands used to remove it, the CRL check that follows and where the decision is recorded. The procedure states plainly that only a certificate on hold can be reinstated, and that a certificate revoked for another reason must be replaced by a newly issued one. Run the procedure once on the lab certificate. Done when the lab hold is removed, the CRL no longer lists it, and the record of the decision is filed.

Security and operational risks in revocation

Revocation fails in predictable ways: the CRL is late, a revocation is applied to the wrong certificate, or the server doing the work is the only one that can do it. The cards below pair each risk with a check you can run before an incident forces the question.

Revocation delayed by stale CRLs

A revoked certificate only stops working for relying parties once they fetch a CRL that includes it. If CRL publication lags or the distribution point is unreachable, clients keep trusting a certificate you have already revoked. For a lost device or departed user, that gap is the exposure window. Check how often the CRL is regenerated on your CA, confirm that the CRL URL is reachable from every network segment where services validate certificates, and test the path from a client outside the data center. Keep the CRL publication path on your monitoring list.

Accidental permanent revocation

Revocation in FreeIPA is final for most reasons, so a revoke issued against the wrong serial number or with the wrong reason cannot be undone. Certificate hold is the only state that can be lifted later, which makes it the safer choice when the facts are still uncertain. Require a second person to confirm the serial number and reason before any permanent revocation, and record the intended reversal path in the runbook before the first use. Ask your implementation partner to show how holds are applied and released in your environment.

Reliance on the first server

By default the first server in a FreeIPA topology handles certificate renewal and CRL publication. If that host fails, is out of service during maintenance, or is misconfigured, revocations may not reach the CRL that clients read. Confirm which server holds the renewal and CRL role, document how to move that role, and include the step in your failover tests. Review the replica layout against the deployment recommendations so that a PKI-capable replica exists in each datacenter.

Outdated backup breaking replication

Restoring an old backup into a live replica topology can roll back revocation records and replication state, so the restored server may disagree with the rest of the deployment. Revocations made after the backup would appear to be missing, which is a serious problem for an audit. Restore only into an isolated environment for testing unless the recovery plan says otherwise, and check the backup timestamp against your last known revocation before any restore. Keep the documented backup and restore procedure with your runbook.

Weak audit trail for revocations

Revocation records need to show who revoked which certificate, when, and for what reason. If administrators share accounts or revocations are performed through scripts with a generic identity, you cannot answer those questions during an investigation or assessment. Use named administrator accounts for revocation, restrict who holds the role, and export revocation events to your log platform. Ask your partner to confirm which events FreeIPA records and how they reach your central logs.

Keep servers on the 4.13.4 release

FreeIPA 4.13.4, a stabilization release dated July 9, 2026, fixed two CVEs, including LDAP access control flaws that could let unauthenticated clients obtain credentials. A revocation process is only as trustworthy as the directory and API that record it, so an unpatched server can weaken the audit trail itself. Check the installed version on every server, schedule the update in a maintenance window, and confirm the replicas match the version of the first server before the next revocation exercise.

Joiner, mover and leaver processes for certificates

Should a leaver's certificates be revoked automatically when HR closes their account?

Yes, the account disable should trigger a review of every certificate the person holds, and revocation should follow for any certificate that no longer has a valid owner. Disabling a FreeIPA user account blocks new Kerberos logins, but it does not by itself revoke certificates already issued to that user, so a separate step is needed. Decide in advance which certificate types are revoked immediately (user authentication and S/MIME) and which are reassigned (shared service certificates). Confirm with your identity team whether the HR system can trigger this, or whether it runs as a scheduled reconciliation job.

Which certificates fall in scope for joiner, mover and leaver checks?

Plan for four groups: user certificates (smart card and client authentication), device certificates (VPN, Wi-Fi or machine identities issued from a sub-CA), service certificates (TLS for hosts and applications requested through certmonger), and S/MIME certificates for email. Each group has a different owner. A user certificate follows the person, a device certificate follows the hardware, and a service certificate follows the service owner, who may be a team rather than one employee. Record the owner and the issuing sub-CA for each certificate so that a departure maps to a concrete list.

How do we reconcile FreeIPA certificate records with the HR system of record?

Reconciliation compares who the system of record says is employed and in which role against who FreeIPA says owns each certificate. Export active identities from HR or the identity governance tool, export certificate subjects and owners from FreeIPA, and list the differences. Start with users who are disabled or missing in HR but still hold valid certificates, then check movers whose group memberships no longer match their certificate profiles or CA ACLs. Run the comparison on a fixed schedule and keep the output as evidence. Certificate ownership often lives in subject names that do not match HR identifiers, so agree on a mapping before the first run.

Can identity governance tools automate certificate revocation for leavers?

Some identity governance platforms can trigger lifecycle actions from HR events, and that can include calling downstream systems. Whether it can reach FreeIPA certificate revocation depends on the connector, the API calls it supports and your own configuration, so confirm this with the vendor and test it in a lab first. Also confirm which action it takes: disabling the account, revoking certificates, or opening a ticket for a person to decide. For certificate hold or revocation, a human approval step is worth keeping for high-impact certificates such as administrator or signing certificates.

How should movers keep or lose certificates when they change roles?

A mover should keep the certificates that still match their new role and lose those that no longer do. Review group membership, CA ACLs and certificate profiles after each role change, because access to a certificate profile is controlled by those rules, not by the certificate itself. A certificate issued for a former role remains valid until it is revoked or expires, so do not rely on the account change alone. Ask the mover's new manager to confirm which certificates are still needed, and document the decision so auditors can trace it.

What should happen to a departed employee's S/MIME certificate?

The departed employee's S/MIME certificate should be revoked with a clear reason, and the mailbox owner should be told that signed mail may show a revoked signer. Encrypted mail sent to the person needs a plan too, because revoking an encryption certificate can stop others from encrypting to that address. Decide whether the organization keeps the private key for recovery of archived mail before revocation, and confirm the retention rule with your legal and records team. Test how your mail clients behave with revoked certificates before you rely on this step.

What does it cost to set up a joiner, mover and leaver process for certificates?

Cost comes mainly from the staff time to define owners, certificate scope and approval rules, plus any integration work to connect HR or identity governance to FreeIPA. Those costs are largely one-time. Recurring costs include the reconciliation runs, reviews of exceptions and the people who approve high-impact revocations. Costs rise with the number of certificate types, the number of issuing sub-CAs and the number of HR systems involved. Ask any partner for a quote that lists the integration assumptions, the reconciliation schedule and who signs off each revocation, since those decisions drive most of the effort.

Limits to confirm in your environment

Revocation only protects you if the relevant parties check it. The cards below list the behaviors you should confirm with your FreeIPA version and each client platform before you treat a revoked certificate as blocked.

CRL update interval

A revocation takes effect for relying parties only after a new certificate revocation list (CRL) is published and fetched. Confirm how often your FreeIPA deployment regenerates and publishes the CRL, and where the first server's role in publication sits in your topology. Ask for the exact interval in writing for your version, and record how long a revoked certificate could still be accepted in the gap. Your incident process should assume that gap exists.

CRL or OCSP checking per client

Not every application or client checks revocation at all. Some check a CRL, some query OCSP, and some check neither by default. Inventory each consumer of FreeIPA-issued certificates, including web servers, VPN gateways, mail clients and internal APIs, and test whether a revoked certificate is refused. Do not assume a single platform setting covers every application.

Kerberos PKINIT behavior

Certificates used for PKINIT, which underpins certificate-based Kerberos logins, may be validated differently from TLS certificates. Confirm how your KDC and client stack treat a certificate that has been revoked or placed on hold, and whether a cached Kerberos ticket remains usable after revocation until it expires. Test this on the exact client versions you run, since behavior can differ by distribution.

Smart card login revocation

Smart card and certificate-mapped logins depend on the workstation's middleware and the domain controller or KDC checking revocation status. Confirm whether a revoked badge certificate is rejected at the next logon, whether an already logged-in session is affected, and how long offline workstations keep accepting it. Run a test with a card you revoke on purpose before you rely on the process for departed staff.

External CA chains

When the FreeIPA CA is chained to a corporate root or another external authority, revocation status depends on that chain. Confirm which CA publishes the CRL for each certificate, whether the external root or intermediate has its own revocation endpoints, and whether clients can reach them. A chain with unreachable revocation points can fail open or fail closed, so test both outcomes.

Version and platform confirmation

Revocation behavior changes with FreeIPA release and client platform, so one test does not cover the estate. Record the FreeIPA server version, the SSSD and Kerberos versions on clients, and the trust store on each platform. Repeat the revocation test after every upgrade, and ask your implementation partner to document the results as part of the runbook.

How much effort does certificate revocation work take?

What drives the effort of FreeIPA certificate revocation work?

The main drivers are the number of certificate types in use, the client platforms that must honor revocation, the number of CRL consumers, and whether revocation must be linked to HR events. Each certificate type needs its own decision about which revocation reasons apply, which events trigger a hold, and who may request a revoke. Every client platform, VPN concentrator, Wi-Fi controller, web server or application that checks CRLs needs to be identified and tested, because a revocation that one consumer ignores is still a live credential for that consumer. An existing HR feed that deprovisions staff makes the departed-staff process largely automatic, while a manual process adds steps, approvers and places where a revocation can be missed. Ask for the work to be listed by certificate type, consumer and trigger before anything is priced.

Can our own team handle FreeIPA certificate revocation internally?

Yes, a team that already runs FreeIPA and understands its CA roles can handle revocation internally, and many do. The skills involved are knowing the revocation reasons, the difference between a hold and a permanent revoke, how CRLs are published and where they are fetched, and how to verify that a revoked certificate is refused by each consumer. The areas that usually take the most time are not the commands but the process design: agreeing triggers with HR and service owners, documenting approvers, and proving that consumers pick up new CRLs. A partner is most useful when the team lacks PKI operations experience, has no test environment that mirrors production consumers, or needs the process reviewed against an assessment. Your team should weigh its current workload against these gaps before deciding.

What access and inputs does the work need from our organization?

The work needs administrative access to the FreeIPA CA and the servers that publish CRLs, including the renewal master, which handles CRL publication by default. It also needs a test environment where revocations can be issued and checked against real client platforms without affecting production users. Named approvers are required for each revocation path, such as a security owner for lost devices and an HR or manager contact for departures. Your team should also provide an inventory of certificate profiles, the services and devices that hold certificates, and any existing offboarding tickets or HR events. Expect time from application owners who must confirm how their systems fetch CRLs and what they do when a fetch fails.

Does a test environment need to match production for revocation work?

A test environment should reproduce the parts of production that decide whether a revocation takes effect. Revocation is verified at the consumer, so the test setup must include the same CRL distribution paths, the same client platforms and the same validation settings, including whether a consumer treats a revoked certificate as a hard failure. A lab with only FreeIPA servers proves the CA side but not the consumer side. Ask for a written list of which consumers are represented in the test environment and which are verified only by documentation. Also confirm how a restore from backup is tested, because restoring an outdated backup into an active replica topology can break replication, and that test should happen outside production.

What does a quote for revocation work depend on?

A quote follows from a written scope. DeployOpen does not publish a price list, and the quote depends on the scope agreed in writing before work starts. The scope should list the certificate types covered, the revocation triggers (lost devices, departed staff, key compromise, and any others), the approval paths, the CRL consumers to be verified, the test environment to be provided or built, and the documents to be delivered. Ask whether the quote separates one-time design and build work from any recurring work such as periodic reviews of revocation records, updates when new consumers are added, or support. Ask what changes would be treated as a scope change, and how they would be priced.

Which parts of revocation work recur after the initial build?

The one-time work is the design of revocation reasons, triggers and approvals, the consumer verification and the documentation. Recurring work includes reviewing revocation records, checking that new client platforms and services honor CRLs, handling new certificate types, and rerunning verification after FreeIPA upgrades or changes to the CA topology. Staff changes also recur: approvers and HR contacts change, so the approval matrix needs a review cycle. Ask the vendor or partner to state which items are included in a fixed-scope engagement and which would move to a retainer, and confirm who owns each recurring check after handover.

How do I confirm that an external auditor will accept our revocation process?

Auditors assess whether the process is defined, followed and evidenced, so the work should produce records of each revocation, approvals and proof that consumers stop trusting the certificate. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make that determination. Before work starts, ask which control objectives your assessor will test, confirm the evidence format the assessor expects, and ask your assessor to review the process design early. Doing this early limits rework and keeps the scope tied to what the assessment will actually check.

How DeployOpen scopes revocation work

DeployOpen plans, implements, documents and supports self-hosted open-source platforms inside your own infrastructure, including FreeIPA. For revocation work, we start from your written policy on revocation reasons and certificate hold, then build and test the revocation path against your real CA, CRL distribution and device or staff processes.

How we scope

  • Inventory which FreeIPA certificate profiles, sub-CAs and service certificates your revocation process must cover
  • Agree in writing which revocation reasons your policy allows and who may request each one
  • Confirm the CRL publication location and which relying systems must check it before access is granted
  • Define the lost device and departed staff procedures, including who triggers revocation and who approves a hold

How we build

  • Configure revocation and hold workflows on the FreeIPA CA according to the agreed reason codes and approvals
  • Test a hold, a release and a permanent revocation on non-production certificates before production use
  • Verify that the first server handles CRL publication as expected in your replica topology and that replicas stay consistent
  • Check that clients and services reject revoked certificates in the paths you depend on

How we hand over

  • Deliver runbooks for revoking, placing on hold, releasing and reporting certificates in the terms your team uses
  • Document the CRL publication schedule, the monitoring checks and the evidence each revocation generates
  • Walk your operations and security staff through the lost device and departed staff procedures with test cases
  • Record the configuration, approvals and test results so an auditor can trace each decision

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover
  • Review revocation requests and CRL health when FreeIPA releases or topology changes affect your setup
  • Re-run revocation tests after changes to sub-CAs, profiles or replica layout
  • Confirm in writing the scope, deliverables and timeline for any follow-on work before it starts

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.