|
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 |
|