如何用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
posted @ 2020-12-23 15:20  kumata  阅读(430)  评论(0编辑  收藏  举报