bpo-31659: Use simple slicing to format PEM cert (GH-3849)
DER_cert_to_PEM_cert() used textwrap.fill() to format PEM. But it's library to wrap lines on word boundary, while PEM is base64 encoded string. Additionally, importing textwrap is little slow.
This commit is contained in:
parent
edc05c5d88
commit
b75a228af8
|
@ -91,7 +91,6 @@ ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY
|
|||
"""
|
||||
|
||||
import ipaddress
|
||||
import textwrap
|
||||
import re
|
||||
import sys
|
||||
import os
|
||||
|
@ -1201,9 +1200,10 @@ def DER_cert_to_PEM_cert(der_cert_bytes):
|
|||
PEM version of it as a string."""
|
||||
|
||||
f = str(base64.standard_b64encode(der_cert_bytes), 'ASCII', 'strict')
|
||||
return (PEM_HEADER + '\n' +
|
||||
textwrap.fill(f, 64) + '\n' +
|
||||
PEM_FOOTER + '\n')
|
||||
ss = [PEM_HEADER]
|
||||
ss += [f[i:i+64] for i in range(0, len(f), 64)]
|
||||
ss.append(PEM_FOOTER + '\n')
|
||||
return '\n'.join(ss)
|
||||
|
||||
def PEM_cert_to_DER_cert(pem_cert_string):
|
||||
"""Takes a certificate in ASCII PEM format and returns the
|
||||
|
|
Loading…
Reference in New Issue