当做事的时候,也是在学习的时候!
分类: 网络与安全
2015-08-11 14:37:36
原文地址:OpenSSL命令---genpkey 作者:kongkong011
用途:
用于产生各种密钥(RSA、DSA、DH、EC等)的私钥值。
用法:
选项说明:
-out filename:指定输出文件。如果没有设置,则为标准输出。
-outform PEM | DER:指定输出格式,一般为PEM和DER。
-pass arg:输出文件口令保护存放方式。
-cipher:私钥加密的加密算法。
-engine id:硬件引擎。
-paramfile file:产生私钥的参数值。一些公钥算法可以根据这些参数产生一个私钥。如果想这样产生密钥,则必须设置此选项。参数值来决定是否使用公钥算法。如果用了此选项,该选项必须在-pkeyopt之前。
-algorithm alg:公钥算法,可以用RSA、DSA以及DH。如果用了此选项,该选项必须在-pkeyopt之前。
-pkeyopt opt:value:设置公钥算法的选项值。
-genparam:产生一系列参数来代替私钥值。如果用了此选项,该选项必须在-algorithm alg 、-pkeyopt 以及-paramfile file之前。
-text:打印消息值。
密钥产生选项值:
这些选项支持每个算法,对个算法可以改变。OpenSSL中的实现如下:
RSA密钥产生选项:
B
B
DSA参数产生选项:
B
DH参数产生选项:
B
B
EC参数产生选项:
B
GOST2001 密钥和参数产生选项:
默认的是不支持Gost 2001.为了支持这个算法,必须在OpenSSL配置文件中加载ccgost硬件引擎。可以看看在engines/ccgost 目录下的README.gost文件介绍。
GOST R 34.10算法的参数文件是可选的。参数可以在密钥产生中被指定。
B
注意:
使用genpkey项目是受到鼓舞的,是因为可以使用附加的算法选项和提供的硬件引擎算法可以被使用。
实例:
用常规参数值产生一个RSA私钥值。
用AES算法对输出的私钥文件进行加密,密钥为“hello”。
用公共的指数3来产生一个2048位的RSA密钥值。
产生一个1024位的DSA密钥参数值。
根据参数值来产生DSA密钥值。
产生1024位的DH参数值。
根据参数值产生DH密钥值。