Bug 1294606

Summary: certutil fails to merge SQL databases after modifying trust in a certificate
Product: Red Hat Enterprise Linux 6 Reporter: Pavel Moravec <pmoravec>
Component: nss-utilAssignee: Bob Relyea <rrelyea>
Status: CLOSED ERRATA QA Contact: Hubert Kario <hkario>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.7CC: cww, dueno, hkario, kengert, nkinder, rrelyea, szidek
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: nss-3.27.1-3.el6 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1294607 (view as bug list) Environment:
Last Closed: 2017-03-21 10:25:57 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: 1269194, 1294607, 1343211    

Description Pavel Moravec 2015-12-29 08:58:14 UTC
Description of problem:
Having sql database with a certificate that has modified a trust attribute and trying to merge this db with another one, it fails with error:

certutil: Could not merge object unnamed (type Trust): Unknown code ___P 3


Version-Release number of selected component (if applicable):
nss-tools-3.19.1-3.el6_6.x86_64


How reproducible:
100%


Steps to Reproduce:
rm -rf db1 db2
mkdir db1
echo 123456 > db1/pwdfile
certutil -N -d sql:./db1 -f ./db1/pwdfile
certutil -A -d sql:./db1 -i test.crt -n test -t P,, -f ./db1/pwdfile
certutil -M -d sql:./db1 -n test -t T,, -f ./db1/pwdfile

mkdir db2
echo 123456 > db2/pwdfile
certutil -N -d sql:./db2 -f ./db2/pwdfile

certutil --merge -d sql:./db2  --source-dir sql:./db1 -f ./db2/pwdfile -@ ./db1/pwdfile


Actual results:
certutil --merge fails with:
certutil: Could not merge object unnamed (type Trust): Unknown code ___P 3


Expected results:
certutil --merge works well


Additional info:
commenting out "certutil -M" or replacing it by deletion and re-creating test's certificate prevents this bug. I.e. the problem originates in certutil modifying the trust attributes. Therefore either:
- this "-M" operation is the buggy one, 
- or at least it leaves the sql database in such (valid) state that --merge operation cant cope with

Comment 11 Kai Engert (:kaie) (inactive account) 2016-10-27 19:12:57 UTC
This package was reported against the nss-util package, but the fix modified the nss package (not nss-util).

Comment 15 errata-xmlrpc 2017-03-21 10:25:57 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://rhn.redhat.com/errata/RHEA-2017-0671.html