Bug 1956550
Summary: | IPA server installation fails when cert contains non-ASCII character | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Bijesh Thekkepat <bthekkep> |
Component: | ipa | Assignee: | Florence Blanc-Renaud <frenaud> |
Status: | CLOSED ERRATA | QA Contact: | ipa-qe <ipa-qe> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.9 | CC: | amore, bthekkep, frenaud, jmiracol, jreznik, mpolovka, pcech, rcritten, rcunha, ssidhaye, tscherf |
Target Milestone: | rc | Keywords: | TestCaseProvided, Triaged, ZStream |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | ipa-4.6.8-5.el7_9.7 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-07-21 01:10:02 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Comment 4
Rob Crittenden
2021-05-03 22:09:50 UTC
Hello Rob, Yes, the client part fails as well. ipaclient-install-02930848.log is already attached, Comment 3 Let me know if you want it reattached. Sorry, I loaded the BZ before all attachments had been made. It is failing trying to add a certificate to /etc/ipa/nssdb, the shared IPA system NSS database. The certutil command-line is logged after obfuscating any possible secrets and it is failing in that obfuscation step on the upper-case eñe (unicode /xd1) in the issuer subject. Can you provide the output of: ldapsearch -x -D 'cn=directory manager' -W -b cn=certificates,cn=ipa,cn=etc,dc=example,dc=test replacing the dc's with the appropriate values for your domain? Issue can be reproduced on rhel 7.9 (with python2). The error happens when calling certutil to add the CA in the NSS databases. The parameter storing the nickname is a unicode and the method ipautil.run is expecting only string or bytes: arg_string = nolog_replace(' '.join(_log_arg(a) for a in args), nolog) with the following definition for _log_arg: if six.PY3: def _log_arg(s): """Convert string or bytes to a string suitable for logging""" if isinstance(s, bytes): return s.decode(locale.getpreferredencoding(), errors='replace') else: return s else: _log_arg = str Since nickname is a utf-8 unicode, str(nickname) fails with encoding issue. Upstream ticket: https://pagure.io/freeipa/issue/8879 Fixed upstream ipa-4-6: https://pagure.io/freeipa/c/82b4e8872c4890fd598a6e86924fd396810c845c https://pagure.io/freeipa/c/f99067f4a34da4416d1877f63e257a8bec470bf5 Test case is available upstream in test_integration/test_caless.py::TestServerInstall::test_valid_certs Verified : 2021-06-24T09:50:16 TASK [List installed IPA packages version] ************************************* 2021-06-24T09:50:17 ok: [master.testrelm.test] => (item=ipa-server) => 2021-06-24T09:50:17 msg: 2021-06-24T09:50:17 - arch: x86_64 2021-06-24T09:50:17 epoch: null 2021-06-24T09:50:17 name: ipa-server 2021-06-24T09:50:17 release: 5.el7_9.7 2021-06-24T09:50:17 source: rpm 2021-06-24T09:50:17 version: 4.6.8 2021-06-24T10:35:46 =========================== short test summary info ============================ 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_nonexistent_ca_pem_file 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_unknown_ca 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_ca_server_cert .... .... 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_ds_intermediate_ca 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_ca_self_signed 2021-06-24T10:35:46 PASSED ipatests/test_integration/test_caless.py::TestServerInstall::test_valid_certs Based on this marking bug as verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (ipa bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:2807 |