Bug 1484359

Summary: Lightweight CA key replication fails (regressions)
Product: Red Hat Enterprise Linux 7 Reporter: Fraser Tweedale <ftweedal>
Component: pki-coreAssignee: Fraser Tweedale <ftweedal>
Status: CLOSED ERRATA QA Contact: Michal Reznik <mreznik>
Severity: urgent Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: urgent    
Version: 7.4CC: mharmsen, mreznik, pbokoc, tscherf
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
The Certificate System CA key replication now works correctly A previous update to one of the key unwrapping functions introduced a requirement for a key usage parameter which was not being supplied at the call site, which caused lightweight Certiciate Authority (CA) key replication to fail. This bug has been fixed by modifying the call site so that it supplies the key usage parameter, and lightweight CA key replication now works as expected.
Story Points: ---
Clone Of:
: 1486870 (view as bug list) Environment:
Last Closed: 2018-04-10 17:00:07 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:
Bug Depends On:    
Bug Blocks: 1486870    
Attachments:
Description Flags
verification_steps none

Description Fraser Tweedale 2017-08-23 10:48:06 UTC
Description of problem: lightweight CA replication fails with a
NullPointerException:




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


How reproducible: always


Steps to Reproduce:
1. Install FreeIPA and replica with CA.
2. Create a new lightweigth ca (`ipa ca-add`)
3.

Actual results: Key replication to the replica fails with the following log output


[23/Aug/2017:20:39:19][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Running ExternalProcessKeyRetriever
[23/Aug/2017:20:39:19][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: About to execute command: [/usr/libexec/ipa/ipa-pki-retrieve-key, caSigningCert cert-pki-ca bbb070b9-becc-4a1c-a55b-7ce96b31ed92, f25-1.ipa.local]
[23/Aug/2017:20:39:20][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Importing key and cert
[23/Aug/2017:20:39:20][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Caught exception during cert/key import
java.lang.NullPointerException
        at org.mozilla.jss.pkcs11.PK11KeyWrapper.unwrapSymmetric(PK11KeyWrapper.java:458)
        at com.netscape.cmsutil.crypto.CryptoUtil.unwrap(CryptoUtil.java:2536)
        at com.netscape.cmsutil.crypto.CryptoUtil.importPKIArchiveOptions(CryptoUtil.java:2317)
        at com.netscape.ca.CertificateAuthority$KeyRetrieverRunner._run(CertificateAuthority.java:3597)
        at com.netscape.ca.CertificateAuthority$KeyRetrieverRunner.run(CertificateAuthority.java:3502)
        at java.lang.Thread.run(Thread.java:748)
[23/Aug/2017:20:39:20][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Retrying in 576 seconds


Expected results: key replication to the replica succeeds; log output will be like:

[23/Aug/2017:20:36:19][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Running ExternalProcessKeyRetriever
[23/Aug/2017:20:36:19][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: About to execute command: [/usr/libexec/ipa/ipa-pki-retrieve-key, caSigningCert cert-pki-ca bbb070b9-becc-4a1c-a55b-7ce96b31ed92, f25-1.ipa.local]
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Importing key and cert
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Reinitialising SigningUnit
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: CertificateAuthority:initSigUnit: ca cert found
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: CertificateAuthority: initSigUnit 1- setting mIssuerObj and mSubjectObj
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: ca.signing Signing Unit nickname caSigningCert cert-pki-ca bbb070b9-becc-4a1c-a55b-7ce96b31ed92
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Got token Internal Key Storage Token by name
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Found cert by nickname: 'caSigningCert cert-pki-ca bbb070b9-becc-4a1c-a55b-7ce96b31ed92' with serial number: 15
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: converted to x509CertImpl
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Got private key from cert
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Got public key from cert
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: got signing algorithm RSASignatureWithSHA256Digest
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: CA signing unit inited
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: cachainNum= 0
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: in init - got CA chain from JSS.
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Shared OCSP signing unit inited
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: in init - got OCSP chain from JSS.
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: CA First signing algorithm is SHA1withRSA
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: CertificateAuthority: initSigUnit - setting mIssuerObj and mSubjectObj
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: in init - got CA name CN=test1
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: Adding self to authorityKeyHosts attribute
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: In LdapBoundConnFactory::getConn()
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: masterConn is connected: true
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: getConn: conn is connected true
[23/Aug/2017:20:36:26][KeyRetrieverRunner-bbb070b9-becc-4a1c-a55b-7ce96b31ed92]: getConn: mNumConns now 1


Additional info:

Comment 2 Fraser Tweedale 2017-08-23 10:55:57 UTC
Upstream ticket: https://pagure.io/dogtagpki/issue/2796
Gerrit review: https://review.gerrithub.io/375318

Comment 3 Matthew Harmsen 2017-08-29 23:37:12 UTC
ftweedal pushed the changes:

    Pushed to master: 33ff29c893b2e0ad13a80f59acb197a7375b7ed9
    Pushed to ORIGIN_10_4_BRANCH: 606027b188fee6d20c17323d7c464d6630024a20

Comment 8 Michal Reznik 2018-01-22 13:22:28 UTC
Verified on:

ipa-server-4.5.4-8.el7.x86_64
pki-base-10.5.1-5.el7.noarch

Comment 9 Michal Reznik 2018-01-22 13:23:33 UTC
Created attachment 1384441 [details]
verification_steps

Comment 11 errata-xmlrpc 2018-04-10 17:00:07 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, 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-2018:0925