RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1950132 - local ca is not generated under fips
Summary: local ca is not generated under fips
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: certmonger
Version: ---
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: beta
: ---
Assignee: Rob Crittenden
QA Contact: ipa-qe
URL:
Whiteboard:
Depends On:
Blocks: 1954618
TreeView+ depends on / blocked
 
Reported: 2021-04-15 20:07 UTC by Ade Lee
Modified: 2021-11-26 07:31 UTC (History)
3 users (show)

Fixed In Version: certmonger-0.79.13-3.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1954618 (view as bug list)
Environment:
Last Closed: 2021-11-09 17:55:16 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FREEIPA-7072 0 None None None 2021-10-13 15:18:46 UTC
Red Hat Product Errata RHBA-2021:4187 0 None None None 2021-11-09 17:55:19 UTC

Description Ade Lee 2021-04-15 20:07:50 UTC
Description of problem:

Certmonger uses default OpenSSL encryption algorithms to generate the PKCS12 object used for the local CA.  This uses operations that are disallowed under fips, and so the local ca pkcs12 creds file is not generated.

We can fix this by using approved algorithms as in : 

https://pagure.io/certmonger/pull-request/198

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Ade Lee 2021-04-15 20:09:36 UTC
For additional context, this is used in Openstack to provide the local CA on the undercloud.

Comment 2 Rob Crittenden 2021-04-16 00:03:47 UTC
This is fixed upstream in 62a6634867db5d9f79b613055b8788136d4cb41d

certmonger allowed openssl to pick the default key and cert algorithms when calling PKCS12_create. openssl uses PBE-SHA1-RC2-40 by default to encrypt the key which is not FIPS compliant. The upstream change switches to AES-128-CBC for both the cert and key.

This will not replace existing credential files on upgrade. In order to have certmonger generate a new PKCS#12 to store the local CA credentials remove /var/lib/certmonger/local/creds and restart.

To verify that the credentials are compliant run:

# openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
Enter Import Password: < enter, there is no password >
MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256

Moving to POST.

Comment 9 Sumedh Sidhaye 2021-06-11 10:50:29 UTC
Build used for verification:

https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1590096

on-FIPS

[root@ci-vm-10-0-137-238 ~]# sysctl crypto.fips_enabled
crypto.fips_enabled = 0
[root@ci-vm-10-0-137-238 ~]# rpm -q certmonger
certmonger-0.79.13-3.el8.x86_64
[root@ci-vm-10-0-137-238 ~]# openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
Enter Import Password:
MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
[root@ci-vm-10-0-137-238 ~]# rm -f /var/lib/certmonger/local/creds; systemctl restart certmonger; sleep 5; openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
Enter Import Password:
MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
[root@ci-vm-10-0-137-238 ~]# 


FIPS:

reproducer:

[root@ci-vm-10-0-138-78 ~]# rpm -q certmonger
certmonger-0.79.13-2.el8.x86_64
[root@ci-vm-10-0-138-78 ~]# systemctl status certmonger
● certmonger.service - Certificate monitoring and PKI enrollment
   Loaded: loaded (/usr/lib/systemd/system/certmonger.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@ci-vm-10-0-138-78 ~]# systemctl start certmonger
[root@ci-vm-10-0-138-78 ~]# file /var/lib/certmonger/local/creds
/var/lib/certmonger/local/creds: empty
[root@ci-vm-10-0-138-78 ~]# openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
140688192808768:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:
[root@ci-vm-10-0-138-78 ~]# rm -f /var/lib/certmonger/local/creds; systemctl restart certmonger; sleep 5; openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
140043420477248:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:crypto/asn1/asn1_lib.c:101:



Verification:

[root@ci-vm-10-0-138-78 ~]# rpm -q certmonger
certmonger-0.79.13-3.el8.x86_64
[root@ci-vm-10-0-138-78 ~]# systemctl restart certmonger
[root@ci-vm-10-0-138-78 ~]# #rm -f /var/lib/certmonger/local/creds; systemctl restart certmonger; sleep 5; openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
[root@ci-vm-10-0-138-78 ~]# systemctl status certmonger
● certmonger.service - Certificate monitoring and PKI enrollment
   Loaded: loaded (/usr/lib/systemd/system/certmonger.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-06-11 06:09:29 EDT; 12s ago
 Main PID: 9413 (certmonger)
    Tasks: 1 (limit: 11394)
   Memory: 1.6M
   CGroup: /system.slice/certmonger.service
           └─9413 /usr/sbin/certmonger -S -p /run/certmonger.pid -n

Jun 11 06:09:29 ci-vm-10-0-138-78.hosted.upshift.rdu2.redhat.com systemd[1]: certmonger.service: Succeeded.
Jun 11 06:09:29 ci-vm-10-0-138-78.hosted.upshift.rdu2.redhat.com systemd[1]: Stopped Certificate monitoring and PKI enrollment.
Jun 11 06:09:29 ci-vm-10-0-138-78.hosted.upshift.rdu2.redhat.com systemd[1]: Starting Certificate monitoring and PKI enrollment...
Jun 11 06:09:29 ci-vm-10-0-138-78.hosted.upshift.rdu2.redhat.com systemd[1]: Started Certificate monitoring and PKI enrollment.
[root@ci-vm-10-0-138-78 ~]# rm -f /var/lib/certmonger/local/creds; systemctl restart certmonger; sleep 5; openssl pkcs12 -info -in /var/lib/certmonger/local/creds  -noout
Enter Import Password:
MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-128-CBC, Iteration 2048, PRF hmacWithSHA256

Comment 12 errata-xmlrpc 2021-11-09 17:55:16 UTC
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 (certmonger 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:4187


Note You need to log in before you can comment on or make changes to this bug.