I'm new to python, sorry if I'm missing something "obvious".
Currently I'm working on a script to generate TLSA records for DNSSEC.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from subprocess import Popen, PIPE
def makeTLSA():
der_cert_proc = Popen(['openssl', 'x509','-in','/etc/letsencrypt/live/example.com/cert.pem','-outform','DER'], stdout=PIPE, stderr=PIPE)
der_cert_output = der_cert_proc.communicate()[0].strip()
return der_cert_output
print makeTLSA()
This currently only prints out the cert in DER format. But the output is different to calling
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -outform DER
But if I change it to
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from subprocess import Popen, PIPE
def makeTLSA():
der_cert_proc = Popen(['openssl', 'x509','-in','/etc/letsencrypt/live/example.com/cert.pem'], stdout=PIPE, stderr=PIPE)
der_cert_output = der_cert_proc.communicate()[0].strip()
return der_cert_output
print makeTLSA()
It outputs the same as
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem
Python is 2.7.5 on Centos 7 box.