openssl-ecparam 命令是OpenSSL的操作命令之一,用于EC(Elliptic Curve,椭圆曲线)参数的操作和生成,OpenSSL目前无法生成新组,因此此命令只能从已知(命名)曲线创建EC参数。openssl-ecparam 命令的使用方式如下:openssl ecparam [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-noout] [-text] [-check] [-check_named] [-name arg] [-list_curves] [-conv_form arg] [-param_enc arg] [-no_seed] [-genkey] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq]1、OPTIONS选项
EC参数输入格式;默认情况下未指定。有关详细信息,请参阅openssl-format-options(1)。EC参数输出格式;默认值为PEM。有关详细信息,请参阅openssl-format-options(1)。参数编码为IETF RFC 3279中指定的EcpkParameters。如果未指定此选项,则指定从中读取参数的输入文件名或标准输入。这指定了输出文件名参数。如果不存在此选项,则使用标准输出。输出文件名不应与输入文件名相同。 通过检查曲线参数是否与任何内置曲线匹配来验证椭圆名称曲线参数。使用具有指定“短”名称的EC参数。使用-list_curves获取当前实现的所有EC参数的列表。openssl ecparam -list_curves |grep SM
这指定了如何将椭圆曲线上的点转换为八位字节字符串。可能的值有:compressed/压缩、uncompressed/未压缩(默认值)和hybrid/混合。有关点转换形式的更多信息,请阅读X9.62标准。注意:由于专利问题,默认情况下,二进制曲线的压缩选项是禁用的,可以通过在编译时定义预处理器宏OPENSSL_EC_BIN_PT_COMP来启用。 这指定了椭圆曲线参数的编码方式。可能的值是:named_curve,即ec参数由OID指定,或者在显式给出ec参数的地方显式指定(有关ec参数结构的定义,请参阅RFC 3279)。默认值为named_curve。请注意,RFC 3279中指定的隐式CA替代方案目前尚未在OpenSSL中实现。此选项禁止参数生成的“seed”包含在ECParameters结构中(参见RFC 3279)。-rand files, -writerand file
有关详细信息,请参阅openssl(OpenSSL命令手册)中的“Random State Options/随机状态选项”。-provider name
-provider-path path
-propquery propq
请参阅openssl(OpenSSL命令手册)、provider(7)和property(7)中的“Provider Options/提供者选项”。openssl-genpkey和openssl-pkeyparam命令能够执行此命令可以执行的所有操作,并支持其他公钥类型。 2、示例
openssl-genpkey和openssl-pkeyparam命令的文档包含与此处列出的示例等效的示例。要使用组“prime192v1”创建EC参数,请执行以下命令:openssl ecparam -out ec_param.pem -name prime192v1
openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit
openssl ecparam -in ec_param.pem -check
openssl ecparam -out ec_key.pem -name prime192v1 -genkey
要将点编码更改为“compressed/压缩”,请执行以下命令:openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed
openssl ecparam -in ec_param.pem -noout -text
参考命令:openssl(OpenSSL命令手册),openssl-pkeyparam(1),openssl-genpkey(1),openssl-ec(1),openssl-dsaparam(1)3、历史
在OpenSSL 3.0中,-engine选项已被弃用。