certdata2pem.py doesn't handle CKT_NSS_MUST_VERIFY_TRUST
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ca-certificates (Debian) |
Fix Released
|
Unknown
|
|||
ca-certificates (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Hello,
I'm a Python core developer and hobbyist security researcher. While I
was working on my own parser for Mozillas certdata.txt [1] I found
an issue in curls mk-ca-bundle.pl script. Today I found the same issue in
Debian's and Ubuntu's script.
The Python script ./mozilla/
doesn't handle the flag CKT_NSS_
The flag was introduced in revision 1.84 of certdata.txt, see [2]
The PKCS#11 glue documentation [3] of the freedesktop.org project has
some background information on the flag, too. Quote:
---
The certificate is not a trusted anchor (even if a later trust record
in another PKCS #11 module says this cert should be trusted). If the
marked certificate is self-signed, then this is semantically
equivalent to CKT_NSS_
error code (unknown CA for CKT_NSS_
CA for CKT_NSS_
---
May I suggest that you reverse the check and distrust any certificate
unless it was explicitly flagged as a trusted delegator and root CA
cert? In the context of cryptography and TLS it more secure to omit a
root CA cert than to wrongly ship a bogus cert. By the way Adam
Langley [4] uses the same approach [5].
My Ubuntu box has files like Verisign_
in the /etc/ssl/certs/ directory. According to my script "Verisign Class 1 Public Primary Certification Authority"
is flagged as CKT_NSS_
$ LC_ALL=C apt-cache policy ca-certificates
ca-certificates:
Installed: 20120623
Candidate: 20120623
Version table:
*** 20120623 0
500 http://
100 /var/lib/
$ LC_ALL=C lsb_release -a
LSB Version: core-2.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
Regards,
Christian
[1] https:/
[2] http://
[3]
http://
[4] https:/
[5]
https:/
[6] https:/
Changed in ca-certificates (Debian): | |
status: | Unknown → New |
Changed in ca-certificates (Ubuntu): | |
assignee: | Marc Deslauriers (mdeslaur) → nobody |
Changed in ca-certificates (Debian): | |
status: | New → Fix Committed |
Changed in ca-certificates (Debian): | |
status: | Fix Committed → Fix Released |
curl has updated their script today. I notified the developers a couple of weeks ago.
https:/ /github. com/bagder/ curl/commit/ 51f0b798f curl.haxx. se/docs/ caextract. html
http://
SuSE's certdata.txt parsing script handles the flag correctly
https:/ /github. com/openSUSE/ ca-certificates /blob/master/ extractcerts. pl