Я хочу сгенерировать 2 сертификата с использованием подпроцесса openssl и python, которые key.pem
и cert.pem
, и использует для этого следующую команду:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
эта команда отлично работает при выполнениииз термина, но когда он выполняется из скрипта python с помощью подпроцесса python, он выдает только файл key.pem
в нужном каталоге, а не файл cert.pem
.Ниже приведен фрагмент кода из скрипта Python:
tempdirname = 'temp_cert/'
keyname = 'key.pem'
certname = 'cert.pem'
expiration_period = '500'
cmd = ['openssl', 'req', '-newkey', 'rsa:2048', '-nodes', '-keyout', tempdirname+keyname, '-x509', '-days', expiration_period, '-out', tempdirname+certname]
p = subprocess.Popen(
cmd,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=False
)
out, err = p.communicate('\n')
Я также хочу, чтобы файл cert.pem
находился в том же каталоге.Что я должен делать?Я использую Python 2.7