openssl操作公私钥和加解密的一些常用命令

Posted glensblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl操作公私钥和加解密的一些常用命令相关的知识,希望对你有一定的参考价值。

生成公私钥实践:

生成私钥,这里以椭圆曲线secp256k1为例:

openssl ecparam -name secp256k1 -genkey -out secp256k1-priv.pem                           #带EC曲线参数
openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-priv.pem #不带EC曲线参数

查看私钥文件中的内容,包括私钥和公钥的hex编码形式:

openssl pkey -in secp256k1-priv.pem -text

根据私钥生成对应公钥:

openssl ec -in secp256k1-priv.key -pubout -out secp256k1-pub.key

 

私钥文件通常有两种格式pkcs#1和pkcs#8,上面生成的默认为pkcs#1格式,

pkcs#1格式包括如下头部和尾部:

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

pkcs#8格式包括如下头部和尾部

-----BEGIN PRIVATE KEY-----
......
-----END PRIVATE KEY-----

如果要转换为pkcs#8格式:

openssl pkcs8 -topk8 -nocrypt -in secp256k1-priv.key -out secp256k1-priv-pk8.key

 

以上是关于openssl操作公私钥和加解密的一些常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Java中使用OpenSSL生成的RSA公私钥进行数据加解密

RSA公私钥和签名、验签过程

ssh密码登陆的原理,密码的公私钥和sshkey的不是一回事

android rsa加解密私钥和公钥怎么用

HP通过OpenSSL生成证书密钥并且加密解密数据,以及公钥,私钥和数字签名的理解

加解密原理