Есть ли какая-либо функция для автоматической вставки пользовательского ввода в python после выполнения команды cmd? - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь запустить команду openssl в python. Проблема в том, что каждый раз, когда я запускаю команду, она запрашивает пароль. Есть ли какая-либо функция для добавления переменных i, j, k, l при запросе пароля? Пароль должен быть между 0000-9999. Это мой код:

from pynput.keyboard import Key, Controller
import os
import subprocess

keyboard=Controller()

for i in range(10):
for j in range(10):
    for k in range(10):
        for l in range(10):
            os.system('openssl rsa -in bob.prv -pubout -out bob.pub')
            print(i)
            print(j)
            print(k)
            print(l)
            keyboard.press('enter')
            keyboard.release('enter')

1 Ответ

0 голосов
/ 07 мая 2019

Один из способов избежать запроса пароля - использовать аргументы passphrase как часть команды OpenSSL.Существуют различные источники, из которых пароль можно передать, например, файл, переменную env и т. Д.

Для команды openssl rsa есть два аргумента парольной фразы: -passin arg & -passout arg.

Подробнее см. https://www.openssl.org/docs/manmaster/man1/rsa.html

Подробнее о том, как передавать аргументы парольной фразы, см. В разделе Параметры фразы фразы в разделе: https://www.openssl.org/docs/manmaster/man1/openssl.html

...