Jochen Kellner via FreeIPA-users wrote:
> Alex Corcoles via FreeIPA-users <[email protected]>
> writes:
>
>> Hi all,
>>
>> Sorry I didn't keep track of this more accurately. Some time ago, the
>> ipa-healthcheck service started failing (September 23rd, I think). I
>> took a look, and IIRC, it said something like some certs were about to
>> expire. I ignored that (because they renew automatically?). But then I
>> checked some time after that, and ipa-healthcheck started reporting:
> ...
>> "msg": "Certificate 'auditSigningCert cert-pki-ca' does not match the
>> value of ca.audit_signing.cert in /etc/pki/pki-tomcat/ca/CS.cfg"
> ...
>> Any thoughts?
>
> This looks similar to
> https://pagure.io/freeipa/issue/9277
> https://github.com/dogtagpki/pki/issues/2157
The KRA values are definitely not being updated. That shouldn't be the
case for the CA values.
rob
>
> I've used this play to fix my system:
> ---
> # file: freeipa-fixes.yml
> - name: Fix problems in IPA installations or configurations after install /
> postinstall or later
> hosts:
> - ipaservers
> become: true
>
> tasks:
> # ...
> # Another healthcheck fix: when the PKI server certificate is renewed
> # the new certificate is written to /var/lib/pki/pki-tomcat/ca/conf/CS.cfg.
> # It needs to be in /var/lib/pki/pki-tomcat/kra/conf/CS.cfg too.
> # {
> # "source": "pki.server.healthcheck.meta.csconfig",
> # "check": "KRADogtagCertsConfigCheck",
> # "result": "ERROR",
> # "uuid": "892ad5b7-8612-4476-8120-2a5fe6c6b005",
> # "when": "20221116030029Z",
> # "duration": "0.024925",
> # "kw": {
> # "key": "kra_sslserver",
> # "nickname": "Server-Cert cert-pki-ca",
> # "directive": "kra.sslserver.cert",
> # "configfile": "/var/lib/pki/pki-tomcat/kra/conf/CS.cfg",
> # "msg": "Certificate 'Server-Cert cert-pki-ca' does not match the value
> # of kra.sslserver.cert in /var/lib/pki/pki-tomcat/kra/conf/CS.cfg"
> # }
> # },
> # This is likely a bug in /usr/libexec/ipa/certmonger/renew_ca_cert
> - name: Fetch ca.sslserver.cert from /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> ansible.builtin.command:
> cmd: awk -F '=' '/^ca.sslserver.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> register: ca_sslserver_cert
> check_mode: false
> changed_when: false
>
> - name: Fetch kra.sslserver.cert= from
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> ansible.builtin.command:
> cmd: awk -F '=' '/^kra.sslserver.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> register: kra_sslserver_cert
> check_mode: false
> changed_when: false
>
> # - name: debug display the possibly different certs
> # ansible.builtin.debug:
> # var: "{{ item }}"
> # loop:
> # - ca_sslserver_cert.stdout
> # - kra_sslserver_cert.stdout
>
> - name: Fix ipa-healthcheck, KRADogtagCertsConfigCheck
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> regexp: '^kra.sslserver.cert='
> line: 'kra.sslserver.cert={{ ca_sslserver_cert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: ca_sslserver_cert.stdout != kra_sslserver_cert.stdout
> notify: Restart pki-tomcat
>
> # "key": "transportCert cert-pki-kra",
> # "directive": "ca.connector.KRA.transportCert",
> # "configfile": "/var/lib/pki/pki-tomcat/conf/ca/CS.cfg",
> # "msg": "Certificate 'transportCert cert-pki-kra' does not match the
> value of
> # ca.connector.KRA.transportCert in /var/lib/pki/pki-tomcat/c
> onf/ca/CS.cfg"
> - name: Fetch Certificate 'transportCert cert-pki-kra'
> ansible.builtin.shell:
> cmd: certutil -d /etc/pki/pki-tomcat/alias/ -L -n 'transportCert
> cert-pki-kra' -a | awk '/^[^-]/ { sub(/\r/, ""); printf("%s", $0) }'
> register: transportcert
> check_mode: false
> changed_when: false
>
> - name: Fetch Certificate ca.connector.KRA.transportCert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^ca.connector.KRA.transportCert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> register: ca_connector_transportcert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, ca.connector.KRA.transportCert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> regexp: '^ca.connector.KRA.transportCert='
> line: 'ca.connector.KRA.transportCert={{ transportcert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: ca_connector_transportcert.stdout != transportcert.stdout
> notify: Restart pki-tomcat
>
> - name: Fetch Certificate kra.transport.cert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^kra.transport.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> register: kra_transport_cert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, kra.transport.cert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> regexp: '^kra.transport.cert='
> line: 'kra.transport.cert={{ transportcert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: kra_transport_cert.stdout != transportcert.stdout
> notify: Restart pki-tomcat
>
> - name: Fetch Certificate ca.connector.KRA.transportCert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^ca.connector.KRA.transportCert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> register: ca_connector_transportcert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, ca.connector.KRA.transportCert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
> regexp: '^ca.connector.KRA.transportCert='
> line: 'ca.connector.KRA.transportCert={{ transportcert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: ca_connector_transportcert.stdout != transportcert.stdout
> notify: Restart pki-tomcat
>
> # "nickname": "subsystemCert cert-pki-ca",
> # "directive": "kra.subsystem.cert",
> # "configfile": "/var/lib/pki/pki-tomcat/kra/conf/CS.cfg",
> # "msg": "Certificate 'subsystemCert cert-pki-ca' does not match the
> value
> # of kra.subsystem.cert in /var/lib/pki/pki-tomcat/kra/conf/CS.cfg"
>
> - name: Fetch Certificate 'subsystemCert cert-pki-ca'
> ansible.builtin.shell:
> cmd: certutil -d /etc/pki/pki-tomcat/alias/ -L -n 'subsystemCert
> cert-pki-ca' -a | awk '/^[^-]/ { sub(/\r/, ""); printf("%s", $0) }'
> register: subsystemcert
> check_mode: false
> changed_when: false
>
> - name: Fetch Certificate kra.subsystem.cert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^kra.subsystem.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> register: kra_subsystem_cert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, kra.subsystem.cert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> regexp: '^kra.subsystem.cert='
> line: 'kra.subsystem.cert={{ subsystemcert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: kra_subsystem_cert.stdout != subsystemcert.stdout
> notify: Restart pki-tomcat
>
> # "nickname": "storageCert cert-pki-kra",
> # "directive": "kra.storage.cert",
> # "configfile": "/var/lib/pki/pki-tomcat/kra/conf/CS.cfg",
> # "msg": "Certificate 'storageCert cert-pki-kra' does not match the value
> # of kra.storage.cert in /var/lib/pki/pki-tomcat/kra/conf/CS.cfg"
>
> - name: Fetch Certificate 'storageCert cert-pki-kra'
> ansible.builtin.shell:
> cmd: certutil -d /etc/pki/pki-tomcat/alias/ -L -n 'storageCert
> cert-pki-kra' -a | awk '/^[^-]/ { sub(/\r/, ""); printf("%s", $0) }'
> register: storagecert
> check_mode: false
> changed_when: false
>
> - name: Fetch Certificate kra.storage.cert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^kra.storage.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> register: kra_storage_cert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, kra.storage.cert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> regexp: '^kra.storage.cert='
> line: 'kra.storage.cert={{ storagecert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: storagecert.stdout != kra_storage_cert.stdout
> notify: Restart pki-tomcat
>
> # "nickname": "auditSigningCert cert-pki-kra",
> # "directive": "kra.audit_signing.cert",
> # "configfile": "/var/lib/pki/pki-tomcat/kra/conf/CS.cfg",
> # "msg": "Certificate 'auditSigningCert cert-pki-kra' does not match the
> # value of kra.audit_signing.cert in /var/lib/pki/pki-tomcat/kra/conf/CS.cfg"
>
> - name: Fetch Certificate 'auditSigningCert cert-pki-kra'
> ansible.builtin.shell:
> cmd: certutil -d /etc/pki/pki-tomcat/alias/ -L -n 'auditSigningCert
> cert-pki-kra' -a | awk '/^[^-]/ { sub(/\r/, ""); printf("%s", $0) }'
> register: auditsigningcert
> check_mode: false
> changed_when: false
>
> - name: Fetch Certificate kra.audit_signing.cert
> ansible.builtin.shell:
> cmd: awk -F '=' '/^kra.audit_signing.cert=/ { print $2 }'
> /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> register: kra_audit_signing_cert
> check_mode: false
> changed_when: false
>
> - name: Fix ipa-healthcheck, kra.audit_signing.cert
> ansible.builtin.lineinfile:
> dest: /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
> regexp: '^kra.audit_signing.cert='
> line: 'kra.audit_signing.cert={{ auditsigningcert.stdout }}'
> owner: pkiuser
> group: pkiuser
> mode: '0660'
> backup: true
> when: kra_audit_signing_cert.stdout != auditsigningcert.stdout
> notify: Restart pki-tomcat
>
>
> handlers:
> # ...
> - name: Restart pki-tomcat
> ansible.builtin.service:
> name: [email protected]
> state: restarted
>
_______________________________________________
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