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

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

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSSL 是一个开源的加密工具集,支持多种加密、解密和签名算法。国密是我国自主研发的一套密码算法体系,在信息安全领域得到广泛应用。国密签名信息是基于国密算法进行数字签名的一种方式。 数字签名是一种用于验证数据完整性、认证数据来源和防止数据被篡改的技术手段。它基于公钥加密算法的原理,通过加密和解密的运算确保数据的真实性。国密签名信息使用国密算法作为其核心加密算法,具有更高的加密安全性。 在使用 openssl 进行国密签名信息处理时,首先需要导入国密算法的支持库,这些支持库需要在编译时添加相应的参数。然后,使用 openssl命令行工具或者编程接口,通过调用相应的函数来生成、验证或者操作国密签名信息。 国密签名信息主要包括数据的哈希值和签名值两部分。首先需要对需要签名的数据进行哈希算法处理,生成对应的摘要信息。然后,使用私钥对该摘要信息进行加密,生成签名值。接收方可以使用公钥对签名值进行解密,然后对接收到的数据进行哈希值计算,并与解密后的签名值进行比对,以验证签名的真实性。 国密签名信息具有较高的安全性和防抵赖能力,在保护数据完整性和真实性方面发挥了重要作用。使用 openssl 进行国密签名信息处理是实现这一目标的常用方式之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值