Так что не самая безопасная практика - вводить пароль через аргумент командной строки. Тем не менее, документация для openssl смутила меня о том, как передать аргумент пароля команде openssl.
Вот что я пытаюсь сделать
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d
Затем запрашивается ключ доступа для расшифровки. Я искал документы openssl и веб-сайты, чтобы попытаться найти ответ, если я просто хотел дать пароль команде, не пытаясь отобразить пароль в файле. Я пытался добавить -pass:somepassword
и -pass somepassword
как с кавычками, так и без, но безрезультатно.
Я наконец-то понял ответ и увидел, что на некоторых других форумах у людей были похожие вопросы, поэтому я решил опубликовать свой вопрос и ответить здесь для сообщества.
примечание: я использую openssl версии 0.9.8y
источник
openssl
команд (не толькоenc
), находится на странице руководства для openssl (1) также в Интернете в разделе «ОПЦИИ». Но я не верю вашему последнему слову о -passin / out; другиеopenssl
команды типаrsa dsa ec pkey pkcs8 pkcs12 req ca
Пользуются теми , но в каждой версии , которую я видел , в том числе 1.0.1e построен непосредственно из вышестоящего источникаenc
использования-pass
или-k -kfile
как описано (наenc
страницах руководства).openssl dgst
команды? Как вы вводите парольную фразу для этого в командной строке?-passin
, используется для предоставления пароля для входного сертификата, и-passout
для нового сгенерированного сертификатаЯ использовал
-passin
и-passout
для установки паролей к обоим файлам в примере:где
123
и321
парольисточник
На данный момент Ubuntu 14.04 LTS поставляется с openssl 1.0.1f-1ubuntu2.16
В этой версии параметр для использования
-k
Пример:
источник
man enc
), она не является общей. Если вы посмотритеman openssl
под заголовком «Pass Phrase Options», каковы общие параметры;pass:password
,env:var
,file:pathname
,fd:number
Илиstdin
, как упоминалось в предыдущем ответе.