当前位置:   article > 正文

SM2加解密的实现_c++基于openssl实现sm2加解密函数

c++基于openssl实现sm2加解密函数

GmSSL是国密实验室提供的国密加解密组件,依赖于openssl1.1.1版本;centos7系统默认安装的openssl是1.0.2,因此需要安装openssl-1.1.1

安装

  1. #!/bin/bash
  2. basepath=$(cd `dirname $0`; pwd)
  3. echo "安装openssl-1.1.1"
  4. cd ${basepath}
  5. tar -zxvf ${basepath}/openssl-1.1.1p.tar.gz
  6. cd ${basepath}/openssl-1.1.1p
  7. ./config
  8. make
  9. make install
  10. echo "/usr/local/lib64/" >> /etc/ld.so.conf
  11. ldconfig
  12. mv /usr/bin/openssl /usr/bin/openssl.old
  13. ln -sv /usr/local/bin/openssl /usr/bin/openssl
  14. echo "安装GmSSL"
  15. cd ${basepath}
  16. unzip ${basepath}/GmSSL-master.zip
  17. cd ${basepath}/GmSSL-master
  18. ./config
  19. make
  20. make install
  21. echo "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" >> /etc/profile

生成秘钥

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

生成公钥

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

加密

gmssl sm2utl -encrypt -in msg.txt -pubin -inkey pub.key -out enced.der

解密

gmssl sm2utl -decrypt -in enced.der -inkey priv.key

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/388348
推荐阅读
相关标签
  

闽ICP备14008679号