Dav*_*lpy 87 linux command-line openssl
因此,通过命令行参数传递密码并不是最安全的做法。也就是说,openssl 的文档让我对如何将密码参数传递给 openssl 命令感到困惑。
这就是我想要做的
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d
然后提示输入用于解密的密码。如果我只是想将密码提供给命令而不尝试将密码回显到文件,我搜索了 openssl 文档和互联网以尝试找到答案。我尝试添加-pass:somepassword和-pass somepassword带引号和不带引号都无济于事。
我终于找到了答案,并在其他一些论坛上看到人们提出了类似的问题,所以我想我会在这里为社区发布我的问题和答案。
注意:我使用的是 openssl 版本 0.9.8y
Dav*_*lpy 157
文档对我来说不是很清楚,但它有答案,挑战在于无法看到示例。
这是如何做到的:
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -pass pass:somepassword
请注意,命令行命令语法-pass后面总是跟一个空格,然后是您提供的密码类型,即pass:普通密码,然后是冒号后没有空格的实际密码。
此外,文档指定您可以通过执行以下操作来提供其他密码源:
env:somevar 从环境变量中获取密码file:somepathname 从位置文件的第一行获取密码 pathnamefd:number 从文件描述符编号中获取密码。stdin 从标准输入读取现在我已经写了这个问题和答案,这一切似乎很明显。但肯定需要一些时间来弄清楚,我看到其他人也需要类似的时间,所以希望这可以减少时间并为其他人更快地回答!:)
对于 OpenSSL 1.0.1e,要使用的参数是-passinor -passout。所以这个例子是:
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d -passin pass:somepassword
小智 21
我在示例中使用-passin和-passout为两个文件设置密码:
openssl pkcs12 -in voip.p12 -out voip.pem -passin pass:123 -passout pass:321
Run Code Online (Sandbox Code Playgroud)
其中,123和321是密码
小智 6
此时 Ubuntu 14.04 LTS 自带 openssl 1.0.1f-1ubuntu2.16
在这个版本中使用的参数是 -k
例子:
openssl enc -aes-256-cbc -e -in some_file.unenc -out some_file.enc -k somepassword
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153721 次 |
| 最近记录: |