On 01/12/2015 08:50 AM, robertdaniels2...@gmail.com wrote: > I'm loading certs via python-nss, and need to serialize the format as > x509 PEM output. I'm using a mix of python-nss and openssl. > > crypto.dump_certificate does not take a nss.Certificate parameter, so > looking for what is the "best practices" path to achieve this.
The soon to be released version 0.17.0 has support for serializing a SecItem to PEM form. To use it you would get the binary DER data for the cert via the der_data property and then serialize it to PEM like this: nss.SecItem(cert.der_data).to_base64(pem_type='CERTIFICATE') but ... 0.17.0 hasn't been released yet. So in the mean time you can grab the binary DER data from the cert (e.g. cert.der_data) and pass it into this Python function import base64 def make_pem(der_data): data = base64.b64encode(der_data) pemcert = '\n'.join([data[x:x+64] for x in range(0, len(data), 64)]) return '-----BEGIN CERTIFICATE-----\n' + \ pemcert + \ '\n-----END CERTIFICATE-----' print make_pem(cert.der_data) -- John -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto