如何从命令行使用密码生成 openSSL 密钥?

2024-03-25

首先 - 如果我不提供密码会怎样?是否使用了某种伪随机短语?我只是在寻找“足够好”的东西来阻止休闲黑客。

第二 - 如何从命令行生成密钥对,并在命令行上提供密码?


我终于使用这些命令让它工作,使用 exec() 通常认为使用不安全,最好在文件中给出 PassPhrase。我可以接受这种风险,因为我确信 PHP 只会在我的 PC(运行 Windows 并且没有 PS 命令)上执行。

openssl genrsa -aes128 -passout pass:foobar -out privkey.pem 2048
openssl rsa -in privkey.pem -passin pass:foobar -pubout -out privkey.pub

非常感谢@caf,没有他们这是不可能的。

唯一遗憾的是,无论我如何谷歌,似乎都没有人能得到openssl_pkey_new()在 Windows 上使用 Xampp(这是proper生成密钥对的方法)


如果您不使用密码,则私钥不会使用任何对称密码进行加密 - 它的输出完全不受保护。

您可以生成密钥对,使用类似的调用在命令行上提供密码(在本例中,密码是foobar):

openssl genrsa -aes128 -passout pass:foobar 3072

但是,请注意,该密码可能会被当时在计算机上运行的任何其他进程获取,因为命令行参数通常对所有进程都是可见的。

更好的替代方法是将密码写入受文件权限保护的临时文件中,并指定:

openssl genrsa -aes128 -passout file:passphrase.txt 3072

或者在标准输入上提供密码:

openssl genrsa -aes128 -passout stdin 3072

您还可以使用命名管道file:选项或文件描述符。


然后要获取匹配的公钥,您需要使用openssl rsa,提供与-passin用于加密私钥的参数:

openssl rsa -passin file:passphrase.txt -pubout

(这需要标准输入上的加密私钥 - 您可以使用以下命令从文件中读取它-in <file>).


在文件中创建 3072 位私钥和公钥对的示例,私钥对使用密码加密foobar:

openssl genrsa -aes128 -passout pass:foobar -out privkey.pem 3072
openssl rsa -in privkey.pem -passin pass:foobar -pubout -out privkey.pub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从命令行使用密码生成 openSSL 密钥? 的相关文章

随机推荐

  • 正则表达式匹配Android包名

    如何检查字符串是否是有效的 Android 包名称 AndroidManifest 文档中对包属性描述了有效的 Android 包名称 该名称应该是唯一的 该名称可以包含大写或小写字母 A 到 Z 数字和下划线 但是 各个包名称部分只能以字
  • 使用 Linq 与自定义 IEqualityComparer 相交

    长话短说 我有 2 个对象集合 一个包含好的值 我们称之为 Good 另一个包含默认值 Default 先生 我想要良好和默认以及默认之间的并集 换句话说 相交 并集 Good 默认 默认 人们可能认为它解析为默认值 但这就是它变得棘手的地
  • 如何从map/filter等执行异步操作(即返回Future)?

    我有一个DataSet map需要从外部 REST API 提取数据的操作 REST API 客户端返回一个Future Int 是否有可能拥有DataSet map操作以某种方式等待这个Future异步 或者我需要使用来阻止线程Await
  • 如何确定用户是否按下 UITableViewCell 2 秒?

    我正在使用手势识别器 初始化于viewDidLoad UILongPressGestureRecognizer longPressRecognizer UILongPressGestureRecognizer alloc initWithT
  • 如何使用jquery取消绑定mouseleave点击

    我有一个 div 当您鼠标输入时 它会预览正在显示的图像 当您鼠标离开时 它会再次隐藏它 我想要实现的是 当您单击该 div 时 它会动画并显示 但我想随后取消绑定 mouseleave 功能 以便图像保留在不起作用的屏幕上 mousele
  • 从插入符递归特征消除 (rfe) 结果中检索选定的变量

    在我的工作项目中 我使用 caret 包中的 rfe 函数来进行递归特征消除 我用一个玩具例子来说明我的观点 library mlbench library caret data PimaIndiansDiabetes rfFuncs su
  • 如何对 scipy.sparse.csr_matrix 类型的矩阵进行元素运算?

    在 numpy 中 如果你想计算矩阵每个条目的正弦 元素化 那么 a numpy arange 0 27 3 reshape 3 3 numpy sin a 会完成工作的 如果你想要力量 让我们说每个条目 2 个 a 2 会做的 但如果你有
  • 将参数发送到驻留在另一个进程中的应用程序实例

    我有一个单实例应用程序 c WPF net3 51 检查应用程序是否已实例化是通过互斥体完成的 如果应用程序已在运行 我会从已打开的应用程序实例中打开一个新窗口 到目前为止效果很好 但是 由于应用程序扩展 我现在必须将 e Args 或至少
  • C# .net读取.mdb文件

    我有必要使用 C net 编写一个应用程序来编辑特定的 mdb 文件 它纯粹是一个部门内应用程序 用于读取部门内文件 有争议的是 这些文件不应该是 mdb 文件 但我在这方面没有选择 我正在推动更改为 XML 文件 但那是另一回事 这些文件
  • PlotLegends 使 Manipulate[] ing 图形变得慢如爬行

    我设置了一个简短的程序 使用 Manipulate 显示具有不同参数的相同函数的三个图 我想用参数的值来标记每个函数 我的出发点是让一个传奇人物出现 在绘图中添加 PlotLegend 会导致 Mathematica 变得异常缓慢 我的代码
  • C# 中两个 List<> 相交

    我有两个List
  • Three.js 在平面上旋转相机

    我的应用程序中有一个相机 camera new THREE PerspectiveCamera 75 window innerWidth window innerHeight 0 1 1000 camera position z 1 cam
  • Python OOP 继承:方法解析顺序 (MRO)

    当我使用方法解析顺序 MRO 时 输出存在变化 任何人都可以解释为什么结果会出现这种差异 class A def init self pass def abc self print A class B A def init self pas
  • Python 字符串的所有可能组合

    你好 我正在使用 python 我正在尝试编写一个方法 其中给定一个字符串 它会找到该字符串的每个组合并将其附加到列表中 我将给出字符串并显示我想要的结果 string x god outcome lst g o d go gd og od
  • Passport.js + Express.js 在身份验证后将用户转发到原始目的地

    我有一个应用程序 服务器上是 Node Express Passport 客户端上是 jQuery Backbone js 客户端在 URL 中使用哈希标签 但对于某些功能来说 用户登录非常重要 我希望可以通过 URL 访问该应用程序 例如
  • PHP 阿拉伯文文本使用 strpos 进行比较

    我在 mysql 表中有一个阿拉伯语关键字 例如 1591 1610 1585 1575 1606 请考虑用 代替 带有 的值会自动转换为阿拉伯语 Mysql表编码 utf8 general ci 我从外部资源示例 twitter 中获取一
  • laravel 5 - css 文件未在资产清单中定义?

    我收到 laravel 5 的错误消息 我不明白 Next exception ErrorException with message File build css all css not defined in asset manifest
  • 在 C++ 中如何知道数组包含多少个元素? [复制]

    这个问题在这里已经有答案了 例如 我有一个包含 3 个元素的数组 int array 1 4 66 我怎么知道有多少个元素array包含 执行此操作 std size myarray std size https en cppreferen
  • 无法导入 play.api.db.databases

    我正在 Scala Play 2 5 4 中开发一个应用程序 我想测试我的数据库交互 并尝试通过中推荐的方法来测试这一页 https www playframework com documentation 2 5 x ScalaTestin
  • 如何从命令行使用密码生成 openSSL 密钥?

    首先 如果我不提供密码会怎样 是否使用了某种伪随机短语 我只是在寻找 足够好 的东西来阻止休闲黑客 第二 如何从命令行生成密钥对 并在命令行上提供密码 我终于使用这些命令让它工作 使用 exec 通常认为使用不安全 最好在文件中给出 Pas