草庐IT

sm2验签

全部标签

RSA 签名与验签

背景由于最近公司组织一些技术分享,有些同学分享过程中,提到一些非对称加密算法,对于公钥和私钥作用的介绍是有些不恰当的地方,比如:私钥加密,公钥解密在网上我也搜索了相关内容,发现不少网友,甚至国内大厂以及有些境外的技术文章,都在RSA签名的过程中用了私钥加密(encrypt),公钥解密的说法,这种说法可能会方便理解数字签名一些细节,但是对加密和签名这两个不同的概念造成混淆,下面我们会介绍RSA以及它在签名和加密的关系,下面的大部分内容是翻译一些参考内容,这些参考内容的链接也会放到文末,大家有兴趣的可以看一下。RSA算法这节会先介绍一下RSA算法,但是为了不让我们陷入数学的细节,我们对部分计算方法

openssl生成SM2公私钥对命令详解

        (1)获得openssl支持椭圆曲线算法列表        命令:opensslecparam-list_curves        返回结果: secp112r1:SECG/WTLScurveovera112bitprimefield secp112r2:SECGcurveovera112bitprimefield secp128r1:SECGcurveovera128bitprimefield secp128r2:SECGcurveovera128bitprimefield secp160k1:SECGcurveovera160bitprimefield secp160r1

c# .net framework 实现微信支付v3 h5支付 签名 验签

接口文档:微信支付-开发者文档(qq.com)publicconststringtransactions_url="https://api.mch.weixin.qq.com/v3/pay/transactions/h5";publicstaticstringcertPath=AppDomain.CurrentDomain.BaseDirectory+@"\cert\apiclient_cert.p12";publicstaticstringcertificatesPath=AppDomain.CurrentDomain.BaseDirectory+@"\cert\certificates_c

在项目中将图片上传到SM.MS报错 [vite] http proxy error

语言及配置:vue、vantui、vite报错信息[vite]httpproxyerror:Error:readECONNRESETatTLSWrap.onStreamRead(node:internal/stream_base_commons:217:20)或者[vite]httpproxyerror:Error:connectETIMEDOUT2606:4700:3037::6815:532d:443atTCPConnectWrap.afterConnect[asoncomplete](node:net:1494:16)解决办法官方文档:SM.MSv2APIDocs。在官方文档中指定上传的

IP组播5_PIM-SM(ASM)详解

目录1.PIM-SM(ASM)简介2.PIM-SM(ASM)工作原理2.1什么是DR?2.2什么是RP?2.2.1静态RP2.2.2动态RP2.3组播源注册和RPT建立2.4SPT切换3.PIM-SM(ASM)实验3.1PIM-SM常用配置命令3.2PIM-SM(ASM)实验配置步骤3.3PIM-SM(ASM)实验效果1.PIM-SM(ASM)简介PIM-SM同时支持ASM和SSM两种模型,PIM-SM(ASM)模型应用与成员规模大和稀疏PIM网络,PIM-SM(ASM)引入了RP(汇聚点),组播源需要向RP注册才能正常转发组播数据,组播组成员加入组播组后,组成员端DR需要通过Join报文跟R

国密(GmSSL)算法SM4之ECB模式

国密(GmSSL)算法SM4之ECB模式文章目录国密(GmSSL)算法SM4之ECB模式前言一、概念1.SM42.ECB3.pkcs5padding二、功能实现1.pkcs5padding2.pkcs5Unpadding3.encrypt4.decrypt总结前言本文将介绍如何使用java实现SM4算法的ECB模式加解密,并提供相应的代码示例。加解密底层实现基于gmsslc实现,通过javanative方式调用。参考关志老师的国密算法实现:https://github.com/guanzhi/GmSSL一、概念1.SM4SM4是一种国密对称加密算法。2.ECBECB(ElectronicCod

【Java加解密系列】- SM4加解密

之前文章介绍过SM2生成密钥和加解密的代码实现过程,这篇文章主要介绍下SM4对称加密算法的代码实现,依然还是引用的BC库。代码实现比较简单,直接上代码:publicfinalclassSm4Utils{privatestaticfinalLoggerLOGGER=LoggerFactory.getLogger(Sm4Utils.class);privatestaticfinalStringALGORITHM_NAME_ECB_PADDING="SM4/ECB/PKCS5Padding";privatestaticvolatilebooleaninitResult;privatestaticOb

C#实现 国密SM4/ECB/PKCS5Padding对称加密Java加解密

目录JAVA示例C#示例  JAVA示例            org.bouncycastle        bcprov-jdk15on        1.56      packagecn.china.sm4;/** *@Description:Description *@Packagecn.china.sm4 *@Date2023-01-10 *@Authoradmin *@Since3.0 */importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjava.security.Key;importjava.secu

OpenSSL 3.1.1 ECC 加密、解密、签名、验签(国密 sm2、sm3)

OpenSSL3.1.1ECC加密、解密、签名、验签(国密sm2、sm3)openssl3默认废弃了旧版本(opessl1.x)的部分api导致部分旧ecc代码无法使用(可以通过配置编译选项打开),这里展示如何使用新接口用ECC进行加密解密。新接口是真的方便,基本上你都不需要懂啥密码学知识,对我们这种密码白痴来说太好了头文件生成密钥对导出公钥&导入公钥公钥加密私钥解密私钥签名公钥验签工具函数所有代码(后来改过)头文件小小的封装了一下#include"openssl/crypto.h"#include"openssl/types.h"#include"openssl/x509.h"#includ

【IC卡 国密SM4算法 密钥分散,加解密,MAC计算】

IC卡SM4MAC算法密钥分散加解密MAC计算实例测试在这里记录一下工作中调查国密算法SM4过程中掌握的心得体会。密钥分散对基于SM4的分散算法的描述。密钥分散算法简称Diversify,是指将一个双长度的密钥MK,对分散数据进行处理,推导出双长度的密钥DK。将分散数据的8个字节,作为输入数据的左半部分:将分散数据的8个字节求反,作为输入数据的右半部分;用MK对输入数据进行SM4运算。//////基于SM4的分散算法。///将分散数据的8个字节,作为输入数据的左半部分;将分散数据的8个字节求反,作为输入数据的右半部分;用CKKey对输入数据进行SM4运算。///////////////publ