0

是否有一个 OpenSSL 命令来派生用于生成 EC 密钥对的命名曲线?

我在这里将参数生成到 PEM 文件中:

openssl ecparam -name secp256k1 -out secp256k1.pem

然后通过键入以下内容验证使用的命名曲线:

openssl ecparam -in secp256k1.pem -text -noout

但是,当您只有 Private.pem 和 Public.pem 而没有 ecparam 文件时,如何实现相同的效果?

openssl pkey -in user1Key.pem -text -noout处理我使用命令行 OpenSSL 工具而不是 C 库生成的密钥。当我对 PEM 文件运行此命令时 - 我使用 C 生成 - 我得到了所有内容,但没有得到简短的 ecparam 名称。我得到 Private、Public、Seed、Prime、A、B 等。

4

1 回答 1

0

更新:

我的 C 代码使用 OpenSSL API 生成 EC 对,其中设置了曲线的显式参数。当我对 OpenSSL 的命令行工具做同样的事情时,我没有设置显式参数。

为了解决这个问题——为了验证双方都派生了相同的密钥——我使用了以下 OpenSSL 命令行工具:

openssl ecparam -in ec_paramprime256v1.pem -genkey -noout -out appKey.pem -param_enc explicit

如果这对您产生了影响,我建议您调查 OpenSSL 的 wiki 以获取set_asn1_flag

于 2017-01-04T21:33:41.763 回答