Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 548374 | Differences between
and this patch

Collapse All | Expand All

(-)ca-certificates/mozilla/certdata2pem.py (-10 / +10 lines)
Lines 70-76 for line in open('certdata.txt', 'r'): Link Here
70
        field, type = line_parts
70
        field, type = line_parts
71
        value = None
71
        value = None
72
    else:
72
    else:
73
        raise NotImplementedError, 'line_parts < 2 not supported.'
73
        raise NotImplementedError('line_parts < 2 not supported.')
74
    if type == 'MULTILINE_OCTAL':
74
    if type == 'MULTILINE_OCTAL':
75
        in_multiline = True
75
        in_multiline = True
76
        value = ""
76
        value = ""
Lines 95-101 for obj in objects: Link Here
95
    if obj['CKA_CLASS'] not in ('CKO_NETSCAPE_TRUST', 'CKO_NSS_TRUST'):
95
    if obj['CKA_CLASS'] not in ('CKO_NETSCAPE_TRUST', 'CKO_NSS_TRUST'):
96
        continue
96
        continue
97
    if obj['CKA_LABEL'] in blacklist:
97
    if obj['CKA_LABEL'] in blacklist:
98
        print "Certificate %s blacklisted, ignoring." % obj['CKA_LABEL']
98
        print("Certificate %s blacklisted, ignoring." % obj['CKA_LABEL'])
99
    elif obj['CKA_TRUST_SERVER_AUTH'] in ('CKT_NETSCAPE_TRUSTED_DELEGATOR',
99
    elif obj['CKA_TRUST_SERVER_AUTH'] in ('CKT_NETSCAPE_TRUSTED_DELEGATOR',
100
                                          'CKT_NSS_TRUSTED_DELEGATOR'):
100
                                          'CKT_NSS_TRUSTED_DELEGATOR'):
101
        trust[obj['CKA_LABEL']] = True
101
        trust[obj['CKA_LABEL']] = True
Lines 104-116 for obj in objects: Link Here
104
        trust[obj['CKA_LABEL']] = True
104
        trust[obj['CKA_LABEL']] = True
105
    elif obj['CKA_TRUST_SERVER_AUTH'] in ('CKT_NETSCAPE_UNTRUSTED',
105
    elif obj['CKA_TRUST_SERVER_AUTH'] in ('CKT_NETSCAPE_UNTRUSTED',
106
                                          'CKT_NSS_NOT_TRUSTED'):
106
                                          'CKT_NSS_NOT_TRUSTED'):
107
        print '!'*74
107
        print('!'*74)
108
        print "UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: %s" % obj['CKA_LABEL']
108
        print("UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: %s" % obj['CKA_LABEL'])
109
        print '!'*74
109
        print('!'*74)
110
    else:
110
    else:
111
        print "Ignoring certificate %s.  SAUTH=%s, EPROT=%s" % \
111
        print("Ignoring certificate %s.  SAUTH=%s, EPROT=%s" % \
112
              (obj['CKA_LABEL'], obj['CKA_TRUST_SERVER_AUTH'],
112
              (obj['CKA_LABEL'], obj['CKA_TRUST_SERVER_AUTH'],
113
               obj['CKA_TRUST_EMAIL_PROTECTION'])
113
               obj['CKA_TRUST_EMAIL_PROTECTION']))
114
114
115
for obj in objects:
115
for obj in objects:
116
    if obj['CKA_CLASS'] == 'CKO_CERTIFICATE':
116
    if obj['CKA_CLASS'] == 'CKO_CERTIFICATE':
Lines 121-133 for obj in objects: Link Here
121
                                      .replace('(', '=')\
121
                                      .replace('(', '=')\
122
                                      .replace(')', '=')\
122
                                      .replace(')', '=')\
123
                                      .replace(',', '_')
123
                                      .replace(',', '_')
124
        bname = bname.decode('string_escape')
124
        bname = bname.encode().decode('unicode_escape')
125
        fname = bname + '.crt'
125
        fname = bname + '.crt'
126
        if os.path.exists(fname):
126
        if os.path.exists(fname):
127
            print "Found duplicate certificate name %s, renaming." % bname
127
            print("Found duplicate certificate name %s, renaming." % bname)
128
            fname = bname + '_2.crt'
128
            fname = bname + '_2.crt'
129
        f = open(fname, 'w')
129
        f = open(fname, 'w')
130
        f.write("-----BEGIN CERTIFICATE-----\n")
130
        f.write("-----BEGIN CERTIFICATE-----\n")
131
        f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
131
        f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE'].encode('raw_unicode_escape')).decode(), 64)))
132
        f.write("\n-----END CERTIFICATE-----\n")
132
        f.write("\n-----END CERTIFICATE-----\n")
133
133

Return to bug 548374