Full-stack web applications developer

Calling openssl genrsa from Python

September 28, 2017Arthur Pemberton0 Comments

I have been writing some automation code a few dozen websites, and I wanted to generate SSL keys, and I couldn’t get the `subprocess` call to work properly, so I thought I would post the final solution. The argument to `communicate()` is critical.

import subprocess

filename = 'my.key'
numbits = 2048

cmd = ['openssl', 'genrsa', '-out', filename, str(numbits), '-passin', 'stdin']

p = subprocess.Popen(
	stdin = subprocess.PIPE,
	stdout = subprocess.PIPE,
	stderr = subprocess.PIPE,

out, err = p.communicate('\n')

Leave a Reply