Thank you very much for your response. I have done some further debugging and have more info in out situation and what the genesis of the issue is. I am hoping you have some suggestions on a resolution

I am in a bit of a pickle

(1) We have nightly full backups of IPA but they have been running on a NON CA server. So we do not have the ipaca tree in our backups.

(2) We had a broken CA replication agreement between out two CA servers and mostly all requests went to only one of the servers.

(3) We regenerated our CAs using the server that did not get the replicated requests. So we lost all certs and requests from "time A" onward.

The situation on our two CA servers now is that we have the below certs in /etc/pki/pki-tomcat/alias and /var/lib/certmonger/requests, but not in ldap

"CN=CA Audit,O=SNAFU.NET"        Wed Jun 17 17:45:30 2026
"CN=CA Subsystem,O=SNAFU.NET"    Wed Jul 01 17:52:00 2026
"CN=OCSP Subsystem,O=SNAFU.NET"  Thu Apr 03 13:00:01 2025

(4) This is what I have on the CA  server(s)

certutil -L -d . -n 'ocspSigningCert cert-pki-ca'

Serial Number: 580 (0x244)
Signature Algorithm: PKCS #1 SHA-256 With RSA Encryption
Issuer: "CN=Certificate Authority,O=SNAFU.NET"
Validity:
    Not Before: Fri Apr 14 13:00:01 2023
    Not After : Thu Apr 03 13:00:01 2025
Subject: "CN=OCSP Subsystem,O=SNAFU.NET"

/var/lib/certmonger/requests/20241109195943 - which is the req for the above


(5) The OCSP is expired and ipa-cert-fix fails because we do not have either of the below in ldap

cn=580,ou=certificateRepository,ou=ca,o=ipaca (with metaInfo: requestId:####)

cn=####,ou=ca,ou=requests,o=ipaca

(6) What I do have is an older version of the cert and request in ldap, but I do not have that cert locally in the nss db or in certmonger

dn: cn=558,ou=certificateRepository,ou=ca,o=ipaca
issuerName: CN=Certificate Authority,O=VOLEON.NET
subjectName: CN=OCSP Subsystem,O=VOLEON.NET
duration: 1162208000000
notAfter: 20240707001455Z
notBefore: 20220718001455Z
metaInfo: requestId:685
metaInfo: profileId:caOCSPCert
serialno: 03558
objectClass: top
objectClass: certificateRecord

dn: cn=685,ou=ca,ou=requests,o=ipaca
cn: 685
dateOfCreate: 20220718001455Z
requestId: 03685
extdata-authenticatedname: CN=OCSP Subsystem,O=SNAFU.NET

I was thinking that I could use ipa-cert-fix against the older cert pair but I am unsure of how do accomplish this. Is it as simple as replacing the cert in the nss db? Do I need to hack a /var/lib/certmonger/requests file.

I will take any suggestion even if it is a painful one,.


On 4/14/25 1:19 AM, Florence Blanc-Renaud wrote:
Hi,

On Sun, Apr 13, 2025 at 7:25 PM Mark Selby via FreeIPA-users <[email protected]> wrote:

    Our old FreeIPA cluster ipa-server-4.6.8-5.el7 (which we will
    upgrade if/when this issue resolved) has a non functional CA due
    to the ocspSigningCert being expired.

    I have tried all of the suggested fixes that others with this
    issue have suggested. ipa-cert-fix and running pki-server cert-fix
    directly all fail.

    ipa-cert-fix
    pki-server cert-fix --ldapi-socket /var/run/slapd-SNAFU-NET.socket
    --agent-uid ipara --cert ca_ocsp_signing

    I have also tried setting back the clock on one of the CA servers
    and running both ipa-cert-fix and getcert resubmit. This
    sugesstion https://access.redhat.com/solutions/3939431 was also tried.


What is the output of ipa-cert-fix --verbose or pki-server cert-fix --verbose?


    When I turn back the clock and restart the pki server at least I
    can look at the certificates as the CA. When the clock is normal
    the pki server will not start due to the invalid cert

    [13/Apr/2025:09:10:03][localhost-startStop-1]: CertUtils:
    verifySystemCertsByTag() failed: java.lang.Exception:
    Certutils.verifySystemCertValidityByNickname:  faliled:
    nickname:ocspSigningCert cert-pki-cacause: java.lang.Exception:
    Certutils.verifySystemCertValidityByNickname:  failed: nickname:
    ocspSigningCert cert-pki-ca

    I turned on verbose=4 logging in CS.cfg and received the below
    debug output. The serial number of the ocsp cert is 580 as fas the
    certmonger is concerned. The pki server is seemingly connecting to
    LDAP to lookup that cert and ends up with the Record not found
    error. I can not seem to find which ldap tree the server is
    looking in for this record or which record it is searching for.


The cert-fix tool is looking for the CSR in CS.cfg and for the cert in the LDAP tree. The CSR are also stored below ou=ca,ou=requests,o=ipaca and the certs below ou=certificateRepository,ou=ca,o=ipaca. Do you have your ocsp cert in the subtree ou=certificateRepository,ou=ca,o=ipaca? You can check with ldapsearch -D cn=directory\ manager -W -b "ou=certificateRepository,ou=ca,o=ipaca" "(subjectname=cn=ocsp*)"

We had a few bugs with cert-fix, happening when the CSR was missing from /etc/pki/pki-tomcat/ca/CS.cfg (1780782 <https://bugzilla.redhat.com/show_bug.cgi?id=1780782>) or when some parameters were missing from CS.cfg (1930586 <https://bugzilla.redhat.com/show_bug.cgi?id=1930586>). With your verbose output from cert-fix we may be able to find if you're hitting one of those issues.

flo


    I believe that I have all the correct certs in ldap under
    cn=ca_renewal, but of course the ocspSigningCert in ldap is expired.

    Does anyone know what is happening here and what a possible fix
    might be. All and any help is greatly appreciated

    cd /etc/pki/pki-tomcat/alias
    certutil -L -d . -n 'ocspSigningCert cert-pki-ca'

           Validity:
                Not Before: Fri Apr 14 13:00:01 2023
                Not After : Thu Apr 03 13:00:01 2025
            Subject: "CN=OCSP Subsystem,O=SNAFU.NET <http://SNAFU.NET>"

            Version: 3 (0x2)
            Serial Number: 580 (0x244)

    dn: cn=ca_renewal,cn=ipa,cn=etc,dc=snafu,dc=net
    dn: cn=ipaCert,cn=ca_renewal,cn=ipa,cn=etc,dc=snafu,dc=net
    dn: cn=subsystemCert
    cert-pki-ca,cn=ca_renewal,cn=ipa,cn=etc,dc=snafu,dc=net
    dn: cn=auditSigningCert
    cert-pki-ca,cn=ca_renewal,cn=ipa,cn=etc,dc=snafu,dc=net
    dn: cn=ocspSigningCert
    cert-pki-ca,cn=ca_renewal,cn=ipa,cn=etc,dc=snafu,dc=net

    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:252:printParameterValues() CAProcessor: Input
    Parameters:
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:264:printParameterValues() CAProcessor: -
    isRenewal: true
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:264:printParameterValues() CAProcessor: -
    remoteHost: 10.17.1.18
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:264:printParameterValues() CAProcessor: -
    profileId: caManualRenewal
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:264:printParameterValues() CAProcessor: -
    serial_num: 580
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    CAProcessor.java:264:printParameterValues() CAProcessor: -
    remoteAddr: 10.17.1.18
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    RenewalProcessor.java:90:processRenewal() RenewalProcessor:
    processRenewal()
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    RenewalProcessor.java:98:processRenewal() RenewalProcessor:
    profile: caManualRenewal
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    RenewalProcessor.java:149:processRenewal() RenewalProcessor: found
    SerialNumRenewInput
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    RenewalProcessor.java:157:processRenewal() RenewalProcessor:
    profile input serial_num value: 580
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    RenewalProcessor.java:181:processRenewal() processRenewal: serial
    number of cert to renew:580
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    LdapBoundConnFactory.java:324:getConn() In
    LdapBoundConnFactory::getConn()
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    LdapBoundConnFactory.java:326:getConn() masterConn is connected: true
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    LdapBoundConnFactory.java:368:getConn() getConn: conn is connected
    true
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    LdapBoundConnFactory.java:398:getConn() getConn: mNumConns now 2
    [12/Apr/2025:17:55:31][http-bio-8443-exec-1]:
    LdapBoundConnFactory.java:444:returnConn() returnConn: mNumConns now 3
    Record not found
            at
    com.netscape.cmscore.dbs.DBSSession.read(DBSSession.java:182)
            at
    com.netscape.cmscore.dbs.DBSSession.read(DBSSession.java:137)
            at
    
com.netscape.cmscore.dbs.CertificateRepository.readCertificateRecord(CertificateRepository.java:1023)
            at
    
com.netscape.cms.servlet.cert.RenewalProcessor.processRenewal(RenewalProcessor.java:182)
            at
    
com.netscape.cms.servlet.cert.CertRequestDAO.submitRequest(CertRequestDAO.java:194)
            at
    
org.dogtagpki.server.ca.rest.CertRequestService.enrollCert(CertRequestService.java:155)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at
    
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at
    
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
            at
    
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:280)
            at
    
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:234)
            at
    
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:221)
            at
    
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
            at
    
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
            at
    
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
            at
    
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
            at
    
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
            at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at
    
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
            at
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
            at java.security.AccessController.doPrivileged(Native Method)
            at
    javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
            at
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
            at
    
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:175)
            at
    
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:297)
            at
    
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
            at
    
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191)
            at
    
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187)
            at java.security.AccessController.doPrivileged(Native Method)
            at
    
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186)
            at
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at
    
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
            at
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
            at java.security.AccessController.doPrivileged(Native Method)
            at
    javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
            at
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
            at
    
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:260)
            at
    
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
            at
    
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
            at
    
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191)
            at
    
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187)
            at java.security.AccessController.doPrivileged(Native Method)
            at
    
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186)
            at
    
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
            at
    
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
            at
    
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
-- _______________________________________________
    FreeIPA-users mailing list -- [email protected]
    To unsubscribe send an email to
    [email protected]
    Fedora Code of Conduct:
    https://docs.fedoraproject.org/en-US/project/code-of-conduct/
    List Guidelines:
    https://fedoraproject.org/wiki/Mailing_list_guidelines
    List Archives:
    
https://lists.fedorahosted.org/archives/list/[email protected]
    Do not reply to spam, report it:
    https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to