如何用Openssl来快速获得一对密钥?
-
场景设定
- 使用openssl工具获得一对基于 ECC-secp256r1 椭圆曲线的密钥对。
- 需要用这对密钥对数据文件
data.txt
进行签名和验签。
-
获得密钥对以及签名验签
// 1. Create private key by secp256r1
openssl ecparam -name prime256v1 -genkey -out key.pem
// 2. Genarate pubkey by `key.pem`
openssl ec -in key.pem -pubout -out pub.pem
// 3. Sign `data.txt` by `key.pem`
openssl dgst -sha256 -sign key.pem -out signature.bin data.txt
// 4. Verify signature by `pub.pem`
openssl dgst -verify pub.pem -sha256 -signature signature.bin data.txt
- 格式化文件
// signature.bin format `base64`
openssl base64 -in signature.bin -out signature64.txt
// key.pem format 'pkcs8'
openssl pkcs8 -topk8 -inform PEM -in key.pem -outform PEM -nocrypt -out keypkcs8.pem
Github地址:https://github.com/kumataahh