openssl工具国际/国密签名命令行流程

慈云数据 2024-06-15 技术支持 40 0

openssl工具国际/国密签名命令的流程

  • 国际签名算法(RSA2048 + SHA256)
    • 1. 生成privkey
    • 2. 生成pubkey
    • 3. 生成签名
    • 验证签名
    • 国密算法签名(SM2 + SM3)
      • 1. 生成privkey
      • 2. 生成pubkey
      • 3. 生成sm3
      • 4. 生成签名
      • 5. 验证签名

        跳槽文档带不出来,每次开发设计安全启动都要重新调试一边openssl工具用于国际和国密算法签名的命令行参数。

        openssl工具国际/国密签名命令行流程
        (图片来源网络,侵删)

        这次直接记录到csdn,以备将来之需。以下命令基于OpenSSL 1.1.1f,其它版本慎用。

        国际签名算法(RSA2048 + SHA256)

        1. 生成privkey

        openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 -out rsa2048_priv.key

        openssl工具国际/国密签名命令行流程
        (图片来源网络,侵删)

        2. 生成pubkey

        openssl rsa -in rsa2048_priv.key -pubout -out rsa2048_pub.key

        3. 生成签名

        openssl dgst -sha256 -sign rsa2048_priv.key -out signature.bin test.bin

        验证签名

        openssl dgst -verify rsa2048_pub.key -sha256 -signature signature.bin test.bin

        国密算法签名(SM2 + SM3)

        1. 生成privkey

        openssl ecparam -genkey -name SM2 -out sm2_priv.key

        2. 生成pubkey

        openssl ec -in sm2_priv.key -pubout -out sm2_pub.key

        3. 生成sm3

        dgst openssl dgst -binary -out test.sm3.bin -sm3 test.bin

        4. 生成签名

        openssl pkeyutl -sign -in test.bin -inkey sm2_priv.key -out sm2.sig

        5. 验证签名

        openssl pkeyutl -verify -pubin -in test.sm3.bin -inkey sm2_pub.key -sigfile sm2.sig

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon