<html><body><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000"><div><span name="x"></span><br></div><div><br></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>De: </b>"Florence Blanc-Renaud" <flo@redhat.com><br><b>À: </b>"Bertrand Rétif" <bretif@phosphore.eu>, freeipa-users@redhat.com<br><b>Envoyé: </b>Mardi 22 Novembre 2016 11:33:45<br><b>Objet: </b>Re: [Freeipa-users] Impossible to renew certificate. pki-tomcat issue<br><div><br></div>On 11/22/2016 10:07 AM, Bertrand Rétif wrote:<br>> ------------------------------------------------------------------------<br>><br>>     *De: *"Bertrand Rétif" <bretif@phosphore.eu><br>>     *À: *freeipa-users@redhat.com<br>>     *Envoyé: *Mardi 25 Octobre 2016 17:51:09<br>>     *Objet: *Re: [Freeipa-users] Impossible to renew certificate.<br>>     pki-tomcat issue<br>><br>><br>>     ------------------------------------------------------------------------<br>><br>>         *De: *"Florence Blanc-Renaud" <flo@redhat.com><br>>         *À: *"Bertrand Rétif" <bretif@phosphore.eu>,<br>>         freeipa-users@redhat.com<br>>         *Envoyé: *Jeudi 20 Octobre 2016 18:45:21<br>>         *Objet: *Re: [Freeipa-users] Impossible to renew certificate.<br>>         pki-tomcat issue<br>><br>>         On 10/19/2016 08:18 PM, Bertrand Rétif wrote:<br>>         > *De: *"Bertrand Rétif" <bretif@phosphore.eu><br>>         ><br>>         >     *À: *freeipa-users@redhat.com<br>>         >     *Envoyé: *Mercredi 19 Octobre 2016 15:42:07<br>>         >     *Objet: *Re: [Freeipa-users] Impossible to renew certificate.<br>>         >     pki-tomcat issue<br>>         ><br>>         ><br>>         ><br>>         ------------------------------------------------------------------------<br>>         ><br>>         >         *De: *"Rob Crittenden" <rcritten@redhat.com><br>>         >         *À: *"Bertrand Rétif" <bretif@phosphore.eu>,<br>>         >         freeipa-users@redhat.com<br>>         >         *Envoyé: *Mercredi 19 Octobre 2016 15:30:14<br>>         >         *Objet: *Re: [Freeipa-users] Impossible to renew<br>>         certificate.<br>>         >         pki-tomcat issue<br>>         ><br>>         >         Bertrand Rétif wrote:<br>>         >         >> De: "Martin Babinsky" <mbabinsk@redhat.com><br>>         >         >> À: freeipa-users@redhat.com<br>>         >         >> Envoyé: Mercredi 19 Octobre 2016 08:45:49<br>>         >         >> Objet: Re: [Freeipa-users] Impossible to renew<br>>         certificate.<br>>         >         pki-tomcat issue<br>>         >         ><br>>         >         >> On 10/18/2016 11:22 PM, Bertrand Rétif wrote:<br>>         >         >>> Hello,<br>>         >         >>><br>>         >         >>> I had an issue with pki-tomcat.<br>>         >         >>> I had serveral certificate that was expired and<br>>         pki-tomcat<br>>         >         did not start<br>>         >         >>> anymore.<br>>         >         >>><br>>         >         >>> I set the dateon the server before certificate<br>>         expiration<br>>         >         and then<br>>         >         >>> pki-tomcat starts properly.<br>>         >         >>> Then I try to resubmit the certificate, but I get<br>>         below error:<br>>         >         >>> "Profile caServerCert Not Found"<br>>         >         >>><br>>         >         >>> Do you have any idea how I could fix this issue.<br>>         >         >>><br>>         >         >>> Please find below output of commands:<br>>         >         >>><br>>         >         >>><br>>         >         >>> # getcert resubmit -i 20160108170324<br>>         >         >>><br>>         >         >>> # getcert list -i 20160108170324<br>>         >         >>> Number of certificates and requests being tracked: 7.<br>>         >         >>> Request ID '20160108170324':<br>>         >         >>> status: MONITORING<br>>         >         >>> ca-error: Server at<br>>         >         >>><br>>         "http://sdkipa01.a.skinfra.eu:8080/ca/ee/ca/profileSubmit"<br>>         >         replied:<br>>         >         >>> Profile caServerCert Not Found<br>>         >         >>> stuck: no<br>>         >         >>> key pair storage:<br>>         >         >>><br>>         ><br>>         type=NSSDB,location='/etc/httpd/alias',nickname='ipaCert',token='NSS<br>>         >         >>> Certificate DB',pinfile='/etc/httpd/alias/pwdfile.txt'<br>>         >         >>> certificate:<br>>         >         >>><br>>         ><br>>         type=NSSDB,location='/etc/httpd/alias',nickname='ipaCert',token='NSS<br>>         >         >>> Certificate DB'<br>>         >         >>> CA: dogtag-ipa-ca-renew-agent<br>>         >         >>> issuer: CN=Certificate Authority,O=A.SKINFRA.EU<br>>         >         >>> subject: CN=IPA RA,O=A.SKINFRA.EU<br>>         >         >>> expires: 2016-06-28 15:25:11 UTC<br>>         >         >>> key usage:<br>>         >         >>><br>>         digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment<br>>         >         >>> eku: id-kp-serverAuth,id-kp-clientAuth<br>>         >         >>> pre-save command:<br>>         /usr/lib64/ipa/certmonger/renew_ra_cert_pre<br>>         >         >>> post-save command:<br>>         /usr/lib64/ipa/certmonger/renew_ra_cert<br>>         >         >>> track: yes<br>>         >         >>> auto-renew: yes<br>>         >         >>><br>>         >         >>><br>>         >         >>> Thanksby advance for your help.<br>>         >         >>> Bertrand<br>>         >         >>><br>>         >         >>><br>>         >         >>><br>>         >         >>><br>>         >         ><br>>         >         >> Hi Betrand,<br>>         >         ><br>>         >         >> what version of FreeIPA and Dogtag are you running?<br>>         >         ><br>>         >         >> Also perform the following search on the IPA master<br>>         and post<br>>         >         the result:<br>>         >         ><br>>         >         >> """<br>>         >         >> ldapsearch -D "cn=Directory Manager" -W -b<br>>         >         >> 'ou=certificateProfiles,ou=ca,o=ipaca'<br>>         >         '(objectClass=certProfile)'<br>>         >         >> """<br>>         >         ><br>>         >         > Hi Martin,<br>>         >         ><br>>         >         > Thanks for your reply.<br>>         >         ><br>>         >         > Here is version:<br>>         >         > - FreeIPA 4.2.0<br>>         >         > - Centos 7.2<br>>         >         ><br>>         >         > I have been able to fix the issue with "Profile<br>>         caServerCert<br>>         >         Not Found" by editing<br>>         /var/lib/pki/pki-tomcat/ca/conf/CS.cfg<br>>         >         > I replace below entry<br>>         >         ><br>>         ><br>>         "subsystem.1.class=com.netscape.cmscore.profile.LDAPProfileSubsystem"<br>>         >         > by<br>>         >         ><br>>         "subsystem.1.class=com.netscape.cmscore.profile.ProfileSubsystem"<br>>         >         ><br>>         >         > and then launch "ipa-server-upgrade" command<br>>         >         > I found this solution in this post:<br>>         >         http://osdir.com/ml/freeipa-users/2016-03/msg00280.html<br>>         >         ><br>>         >         > Then I was able to renew my certificate.<br>>         >         ><br>>         >         > However I reboot my server to and pki-tomcat do not<br>>         start and<br>>         >         provide with a new erreor in<br>>         /var/log/pki/pki-tomcat/ca/debug<br>>         >         ><br>>         >         > [19/Oct/2016:11:11:52][localhost-startStop-1]:<br>>         CertUtils:<br>>         >         verifySystemCertByNickname() passed: auditSigningCert<br>>         cert-pki-ca<br>>         >         > [19/Oct/2016:11:11:52][localhost-startStop-1]:<br>>         >         SignedAuditEventFactory: create()<br>>         >         message=[AuditEvent=CIMC_CERT_VERIFICATION][SubjectID=$<br>>         >         > System$][Outcome=Success][CertNickName=auditSigningCert<br>>         >         cert-pki-ca] CIMC certificate verification<br>>         >         ><br>>         >         > java.lang.Exception: SystemCertsVerification: system<br>>         certs<br>>         >         verification failure<br>>         >         > at<br>>         ><br>>         com.netscape.cms.selftests.common.SystemCertsVerification.runSelfTest(SystemCertsVerification.java:198)<br>>         >         > at<br>>         ><br>>         com.netscape.cmscore.selftests.SelfTestSubsystem.runSelfTestsAtStartup(SelfTestSubsystem.java:861)<br>>         >         > at<br>>         ><br>>         com.netscape.cmscore.selftests.SelfTestSubsystem.startup(SelfTestSubsystem.java:1797)<br>>         >         > at<br>>         ><br>>         com.netscape.cmscore.apps.CMSEngine.startupSubsystems(CMSEngine.java:1701)<br>>         >         > at<br>>         ><br>>         com.netscape.cmscore.apps.CMSEngine.startup(CMSEngine.java:1148)<br>>         >         > at com.netscape.certsrv.apps.CMS.startup(CMS.java:200)<br>>         >         > at com.netscape.certsrv.apps.CMS.start(CMS.java:1602)<br>>         >         > at<br>>         ><br>>         com.netscape.cms.servlet.base.CMSStartServlet.init(CMSStartServlet.java:114)<br>>         >         > at<br>>         javax.servlet.GenericServlet.init(GenericServlet.java:158)<br>>         >         > at<br>>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>>         >         > at<br>>         ><br>>         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>>         >         > at<br>>         ><br>>         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>>         >         > at java.lang.reflect.Method.invoke(Method.java:606)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)<br>>         >         > at<br>>         java.security.AccessController.doPrivileged(Native Method)<br>>         >         > at<br>>         javax.security.auth.Subject.doAsPrivileged(Subject.java:536)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:169)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:123)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1272)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:133)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:156)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:145)<br>>         >         > at<br>>         java.security.AccessController.doPrivileged(Native Method)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)<br>>         >         > at<br>>         ><br>>         org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1862)<br>>         >         > at<br>>         ><br>>         java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)<br>>         >         > at<br>>         java.util.concurrent.FutureTask.run(FutureTask.java:262)<br>>         >         > at<br>>         ><br>>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>>         >         > at<br>>         ><br>>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>>         >         > at java.lang.Thread.run(Thread.java:745)<br>>         >         > [19/Oct/2016:11:11:52][localhost-startStop-1]:<br>>         >         SignedAuditEventFactory: create()<br>>         ><br>>         message=[AuditEvent=SELFTESTS_EXECUTION][SubjectID=$System$][Outcome=Failure]<br>>         >         self tests execution (see selftests.log for details)<br>>         >         > [19/Oct/2016:11:11:52][localhost-startStop-1]:<br>>         >         CMSEngine.shutdown()<br>>         >         ><br>>         >         ><br>>         >         > I am currently stuck here.<br>>         >         > Thanks a lot for your help.<br>>         ><br>>         >         I'm guessing at least one of the CA subsystem<br>>         certificates are<br>>         >         still<br>>         >         expired. Look at the "getcert list" output to see if<br>>         there are any<br>>         >         expired certificates.<br>>         ><br>>         >         rob<br>>         ><br>>         >         ><br>>         >         > Bertrand<br>>         >         ><br>>         >         ><br>>         ><br>>         >     Hello Rob,<br>>         ><br>>         >     I check on my 2 servers and no certificate is expired<br>>         ><br>>         >     [root@sdkipa03 ~]# getcert list |grep expire<br>>         >         expires: 2018-06-22 22:02:26 UTC<br>>         >         expires: 2018-06-22 22:02:47 UTC<br>>         >         expires: 2034-07-09 15:24:34 UTC<br>>         >         expires: 2016-10-30 13:35:29 UTC<br>>         ><br>>         >     [root@sdkipa01 conf]# getcert list |grep expire<br>>         >         expires: 2018-06-12 23:38:01 UTC<br>>         >         expires: 2018-06-12 23:37:41 UTC<br>>         >         expires: 2018-06-11 22:53:57 UTC<br>>         >         expires: 2018-06-11 22:55:50 UTC<br>>         >         expires: 2018-06-11 22:57:47 UTC<br>>         >         expires: 2034-07-09 15:24:34 UTC<br>>         >         expires: 2018-06-11 22:59:55 UTC<br>>         ><br>>         >     I see that one certificate is in status: CA_UNREACHABLE,<br>>         maybe I<br>>         >     reboot to soon my server...<br>>         ><br>>         >     I continue to investigate<br>>         ><br>>         >     Thanks for your help.<br>>         >     Bertrand<br>>         ><br>>         > I fix my previous issue.<br>>         > Now I have an issue with a server.<br>>         > This server can not start pki-tomcatd, I get this error in<br>>         debug file:<br>>         > "Error netscape.ldap.LDAPExceptio n: IO Error creating JSS SSL<br>>         Socket (-1)"<br>>         ><br>>         > After investigation i see that I do not have "ipaCert"<br>>         certificat in<br>>         > "/etc/httpd/alias"<br>>         > cf below command:<br>>         ><br>>         > [root@sdkipa03 ~]# getcert list -d /etc/httpd/alias<br>>         > Number of certificates and requests being tracked: 4.<br>>         > Request ID '20141110133632':<br>>         >     status: MONITORING<br>>         >     stuck: no<br>>         >     key pair storage:<br>>         ><br>>         type=NSSDB,location='/etc/httpd/alias',nickname='Server-Cert',token='NSS<br>>         > Certificate DB',pinfile='/etc/httpd/alias/pwdfile.txt'<br>>         >     certificate:<br>>         ><br>>         type=NSSDB,location='/etc/httpd/alias',nickname='Server-Cert',token='NSS<br>>         > Certificate DB'<br>>         >     CA: IPA<br>>         >     issuer: CN=Certificate Authority,O=A.SKINFRA.EU<br>>         >     subject: CN=sdkipa03.skinfra.eu,O=A.SKINFRA.EU<br>>         >     expires: 2018-06-22 22:02:47 UTC<br>>         >     principal name: HTTP/sdkipa03.skinfra.eu@A.SKINFRA.EU<br>>         >     key usage:<br>>         > digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment<br>>         >     eku: id-kp-serverAuth,id-kp-clientAuth<br>>         >     pre-save command:<br>>         >     post-save command: /usr/lib64/ipa/certmonger/restart_httpd<br>>         >     track: yes<br>>         >     auto-renew: yes<br>>         ><br>>         ><br>>         > How can I add the certificate to /etc/httpd/alias?<br>>         ><br>>         Hi,<br>><br>>         for the record, the command getcert list that you supplied shows<br>>         the<br>>         certificates in /etc/httpd/alias that are tracked by certmonger.<br>>         If you<br>>         want to display all the certificates contained in /etc/httpd/alias<br>>         (whether tracked or not), then you may want to use certutil -L -d<br>>         /etc/httpd/alias instead.<br>><br>>         If ipaCert is missing, you can export ipaCert certificate from<br>>         another<br>>         master, then import it to your server.<br>><br>>         On a master containing the cert:<br>>         # certutil -d /etc/httpd/alias -L -n 'ipaCert' -a ><br>>         /tmp/newRAcert.crt<br>><br>>         Then copy the file /tmp/newRAcert.crt to your server and import<br>>         the cert:<br>>         # certutil -d /etc/httpd/alias -A -n 'ipaCert' -a -i<br>>         /tmp/newRAcert.crt<br>>         -t u,u,u<br>><br>>         And finally you need to tell certmonger to monitor the cert using<br>>         getcert start-tracking.<br>><br>>         Hope this helps,<br>>         Flo.<br>><br>>         > Thanks fo ryour support.<br>>         > Regards<br>>         > Bertrand<br>>         ><br>>         ><br>>         ><br>><br>>     Hi,<br>><br>>     Florence, thanks for your help.<br>>     I was able to import correctly ipaCert with your commands.<br>>     Now it seems that I also have an issue on one server with<br>>     "subsystemCert cert-pki-ca" in /etc/pki/pki-tomcat/alias as I get<br>>     below error when pki-tomcat try to start<br>><br>><br>>     LdapJssSSLSocket set client auth cert nickname subsystemCert cert-pki-ca<br>>     Could not connect to LDAP server host sdkipa03.XX.YY port 636 Error<br>>     netscape.ldap.LDAPException: IO Error creating JSS SSL Socket (<br>>     -1)<br>><br>><br>>     Is there a way to restore a correct "subsystemCert cert-pki-ca"?<br>><br>>     Regards<br>>     Bertrand<br>><br>> Hello,<br>><br>> I am still stuck with my IPA server.<br>> I have issues on both servers.<br>> On server1, below certificate is not renewed properly<br>>    certutil -L -d /etc/httpd/alias/ -n "ipaCert"<br>><br>> and on server 2 this is this certificate:<br>>   certutil -L -d /var/lib/pki/pki-tomcat/alias/ -n "Server-Cert cert-pki-ca"<br>><br>> Could you provide me with the correct syntax with start-tracking command.<br>> I tried to laucnh this command but my certificat remains in<br>> "NEWLY_ADDED_NEED_KEYINFO_READ_PIN" state.<br>> Here is the comnd I use:<br>> getcert start-tracking -c dogtag-ipa-retrieve-agent-submit -d<br>> /var/lib/pki/pki-tomcat/alias -n 'Server-Cert cert-pki-ca' -B<br>> /usr/lib64/ipa/certmonger/stop_pkicad -C<br>> '/usr/lib64/ipa/certmonger/renew_ca_cert "Server-Cert cert-pki-ca"' -T<br>> "Server-Cert cert-pki-ca" -P '20160614000000'<br>><br>Hi Bertrand,<br><div><br></div>to get the right command, you can check on a system where the <br>certificate is properly monitored, this will show you the right parameters:<br>$ sudo getcert list -n ipaCert<br>Number of certificates and requests being tracked: 8.<br>Request ID '20161122095344':<br>[..]        key pair storage: <br>type=NSSDB,location='/etc/httpd/alias',nickname='ipaCert',token='NSS <br>Certificate DB',pinfile='/etc/httpd/alias/pwdfile.txt'<br>[...]<br>        CA: dogtag-ipa-ca-renew-agent<br>[...]<br>        pre-save command: /usr/lib64/ipa/certmonger/renew_ra_cert_pre<br>        post-save command: /usr/lib64/ipa/certmonger/renew_ra_cert<br>[...]<br><div><br></div>The relevant fields are NSSDB location, pinfile, nickname, CA, pre and <br>post-save commands. So in order to monitor ipaCert, you will need to use<br>$ sudo getcert start-tracking -d /etc/httpd/alias -n ipaCert \<br>     -p /etc/httpd/alias/pwdfile.txt \<br>     -c dogtag-ipa-ca-renew-agent \<br>     -B /usr/lib64/ipa/certmonger/renew_ra_cert_pre \<br>     -C /usr/lib64/ipa/certmonger/renew_ra_cert<br><div><br></div>HTH,<br>Flo.<br><div><br></div>> Thanks by advance for your help.<br>><br>> Regards<br>> Bertrand<br><br></blockquote><div>Hello Florence,<br></div><div><br></div><div>Thanks for your reply.<br></div><div>Before doing any mistakes, I just need some explanations as I think I do not well understand how it should work.<br></div><div><br></div><div>Do all the certificate need to be track by certmonger on all servers or they should only be tracked on one server and FreeIPA will update them on other servers?<br></div><div><br></div><div>In my case I have below certicates outdated and not track on "server 1":</div><div>   - certutil -L -d /var/lib/pki/pki-tomcat/alias/ -n "auditSigningCert cert-pki-ca"<br>   - certutil -L -d /var/lib/pki/pki-tomcat/alias/ -n "ocspSigningCert cert-pki-ca"<br>   - certutil -L -d /var/lib/pki/pki-tomcat/alias/ -n "subsystemCert cert-pki-ca"<br></div><div><br></div><div>They are tracked by certmonger and have been correctly renewed on "server 2"<br></div><div>Do I need to add them tracked by certmonger on "server 1"?<br></div><div>If not, it means FreeIPA failed to update them? Should I delete and import them manually on server 2?<br></div><div><br></div><div>If you need more details, do not hesitate to ask.<br></div><div><br></div><div>Regards<br></div><div>Bertrand<br></div></div></body></html>