OpenSSL命令---ec

用途:

椭圆曲线密钥处理工具。它可以转换不同的格式以及打印相对应的组件信息值。需要注意的是OpenSSL用的私钥格式指定为: Elliptic Curve Cryptography'(hhttp://www.secg.org/)。为了转换一个OpenSSL EC 私钥文件到PKCS#8文件,建议使用B命令。

用法:

openssl ec [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-out filename] [-passin arg]
[-passout arg] [-text] [-noout] [-param_out] [-conv_form arg] [-pubin] [-pubout] [-param_enc arg]
[-engine id] [-des] [-des3] [-idea]

选项说明:

-inform PEM|DER:输入文件格式,DER或者PEM格式。DER选项是一个私钥,它用ASN1 DER编码的SEC1私钥文件。当为公钥时,用RFC3280指定的SubjectPublicKeyInfo结构。默认的是PEM格式,它也接受PKCS#8格式的私钥。

-outform DER|PEM:输出文件格式,DER或者PEM格式。

-in filename:输入的椭圆曲线密钥文件,默认为标准输入。

-out filename:椭圆曲线密钥输出文件,默认为标准输出。

-passin arg:指定私钥包含口令存放方式。

-passout arg:输出文件口令保护存放方式。 -text:打印所有信息。

-noout:不打印信息。

-param_out:指定参数编码方法,可以是named_curveexplicit,默认为named_curve

-conv_form arg:指定信息存放方式,可以是compresseduncompressed或者hybrid,默认为compressed

-pubin:设置此选项后,从输入文件中读取公钥值,默认读取的是私钥值。

-pubout:设置此选项后,保存公钥值到输出文件中,默认的是保存私钥值到输出文件中。

-param_enc arg:指定椭圆曲线的编码方式。它的值为可以为BEC参数被OID所指定;它的另一个值为BEC参数被明确的给出(RFC3279中定义的EC参数结构)。默认的值是B。在RFC3279中指定B B众二选一。

-engine id:指定引擎。

 -des -des3 -idea -aes128, -aes192, -aes256-camellia128, -camellia192, -camellia256:指定的私钥保护加密算法。会提示输入口令。如果没有指定其中的一种,则密钥用简单的文本形式写出。

注意:

PEM格式的私钥文件使用以下的头部和尾部:

-----BEGIN EC PRIVATE KEY-----
 -----END EC PRIVATE KEY-----

PEM格式的公钥文件使用以下的头部和尾部:

-----BEGIN PUBLIC KEY-----
 -----END PUBLIC KEY-----

示例:

3DES加密一个私钥:

openssl ec -in key.pem -des3 -out keyout.pem

生成ec私钥:

openssl ecparam -genkey  -name secp112r1 -out eckey.pem -text

转换为DER编码:

openssl ec -outform der -in eckey.pem -out eckey.der

给私钥进行口令保护:

openssl ec -in eckey.pem -des -out enceckey.pem 

将公钥写入文件:

openssl ec -in eckey.pem -pubout -out ecpubkey.pem

显示密钥信息:

openssl ec -in eckey.pem –text
openssl ec -in ecpubkey.pem -pubin –text

你可能感兴趣的:(OpenSSL)