Мне нужно выполнить преобразование цифровых сертификатов из pfx в pem во внешнем приложении, из которого я могу запускать системные команды. Я могу сделать это из CLI с помощью команды:
openssl pkcs12 -входящий путь/к/cert.pfx -исходящий путь/к/cert.pem
Это запросит у пользователя пароль сертификата и, во-вторых, парольную фразу.
Я пробовал решение, представленное здесь:
Автоматически вводить данные в командную строку
И это не работает для меня. Итак, если я попытаюсь (обратите внимание на разрывы строк):
printf 'пароль\nфраза_пароля\n' | openssl pkcs12 -входящий путь/к/cert.pfx -исходящий путь/к/cert.pem
Он по-прежнему будет запрашивать у меня пароль и кодовую фразу. Я также пытался использовать эхо
, безуспешно.
Любые идеи?
РЕДАКТИРОВАТЬ:
Следуя совету Level9, я попытался использовать параметры openssl, например:
openssl pkcs12 -in path/to/cert.pfx -out path/to/cert.pem -password pass:the_password -passout pass:
Я пробовал как указывать кодовую фразу, так и нет, как в примере. Теперь он генерирует файл pem, но если я попытаюсь открыть его из своей файловой системы, просто чтобы проверить правильность, то меня попросят ввести пароль, но он не примет тот, который я указал в командной строке.