Bug 1827535
Summary: | PKCS11 engine does not work in FIPS mode: RSA_new_method:non FIPS rsa method | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Christian Heimes <cheimes> | ||||
Component: | openssl-pkcs11 | Assignee: | Anderson Sasaki <ansasaki> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 31 | CC: | ansasaki, crypto-team | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | openssl-pkcs11-0.4.10-6 openssl-pkcs11-0.4.10-6.fc32 openssl-pkcs11-0.4.10-6.fc31 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2020-05-01 00:36:23 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1827602 | ||||||
Attachments: |
|
Description
Christian Heimes
2020-04-24 06:40:32 UTC
PKCS11_get_rsa_method() does not set RSA_FLAG_FIPS_METHOD: https://github.com/OpenSC/libp11/blob/4084f83ee5ea51353facf151126b7d6d739d0784/src/p11_rsa.c#L474-L493 IMHO the easiest solution is to provide a new CTRL that sets the appropriate FIPS method flags on engine's methods. This would permit users to claim FIPS compliance from an OpenSSL conf file. In case it's possible to query the FIPS compliance state of a PKCS#11 module, then we can automate it, too. As far as I know PKCS#11 v2.x does not provide an API to query FIPS compliance of a provider. PKCS#11 v3 is finalized yet. Created attachment 1681390 [details]
Experimental FIPS hack
This hack resolves the problem for me. Bind9 named starts up and works with OpenSSL PKCS11 in FIPS mode. It's not a proper solution, though.
Anderson Sasaki pointed out that the problem is fixed in RHEL 8.2 downstream. FEDORA-2020-85fcc9d518 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-85fcc9d518 FEDORA-2020-8471ece45e has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-8471ece45e FEDORA-2020-8471ece45e has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-8471ece45e` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-8471ece45e See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2020-85fcc9d518 has been pushed to the Fedora 31 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-85fcc9d518` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-85fcc9d518 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. The update solves the issue with Bind9 named and OpenSSL PKCS#11 engine in FIPS mode (tested on F31, F32 uses the same patch and version of libp11). FEDORA-2020-8471ece45e has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2020-85fcc9d518 has been pushed to the Fedora 31 stable repository. If problem still persists, please make note of it in this bug report. |