openssl-ecparam 命令手册
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选项
-help
打印出使用信息。
-inform DER|PEM
EC参数输入格式;默认情况下未指定。有关详细信息,请参阅openssl-format-options(1)。
-outform DER|PEM
EC参数输出格式;默认值为PEM。有关详细信息,请参阅openssl-format-options(1)。参数编码为IETF RFC 3279中指定的EcpkParameters。
-in filename
如果未指定此选项,则指定从中读取参数的输入文件名或标准输入。
-out filename
这指定了输出文件名参数。如果不存在此选项,则使用标准输出。输出文件名不应与输入文件名相同。
-noout
此选项禁止输出参数的编码版本。
-text
此选项以人类可读的形式打印出EC参数。
-check
验证椭圆曲线参数。
-check_named
通过检查曲线参数是否与任何内置曲线匹配来验证椭圆名称曲线参数。
-name arg
使用具有指定“短”名称的EC参数。使用-list_curves获取当前实现的所有EC参数的列表。
-list_curves
打印出所有当前实现的EC参数名称的列表并退出。
openssl ecparam -list_curves |grep SM
-conv_form arg
这指定了如何将椭圆曲线上的点转换为八位字节字符串。可能的值有:compressed/压缩、uncompressed/未压缩(默认值)和hybrid/混合。有关点转换形式的更多信息,请阅读X9.62标准。注意:由于专利问题,默认情况下,二进制曲线的压缩选项是禁用的,可以通过在编译时定义预处理器宏OPENSSL_EC_BIN_PT_COMP来启用。
-param_enc arg
这指定了椭圆曲线参数的编码方式。可能的值是:named_curve,即ec参数由OID指定,或者在显式给出ec参数的地方显式指定(有关ec参数结构的定义,请参阅RFC 3279)。默认值为named_curve。请注意,RFC 3279中指定的隐式CA替代方案目前尚未在OpenSSL中实现。
-no_seed
此选项禁止参数生成的“seed”包含在ECParameters结构中(参见RFC 3279)。
-genkey
此选项将使用指定的参数生成EC私钥。
-engine id
请参阅openssl(OpenSSL命令手册)中的“Engine Options/引擎选项”。此选项已弃用。
-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
要创建具有显式参数的EC参数,请执行以下命令:
openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit
要验证给定的EC参数,请执行以下命令:
openssl ecparam -in ec_param.pem -check
要创建EC参数和私钥,请执行以下命令:
openssl ecparam -out ec_key.pem -name prime192v1 -genkey
要将点编码更改为“compressed/压缩”,请执行以下命令:
openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed
要将EC参数打印到标准输出,请执行以下命令:
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选项已被弃用。
OpenSSL 3.0中删除了-C选项。
***推荐阅读***
CentOS编译安装OpenSSL 3.3.1
OpenSSL命令手册
如何使用OpenSSL创建RSA证书文件?
openVPN服务器配置的31个关键点
巧用openVPN实现访问云资源池业务
openVPN客户端连接指南
配置openVPN使用用户名密码认证
手撸一个自动搭建openVPN服务器的SHELL脚本
openVPN配置实现客户端互访
在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本
openVPN+SmartDNS=openDNS or smartVPN?