虽然都是国密算法SM2,但是随着厂商不一样,每个厂商的使用方法不一样,导致SM2签名结果不一致,今天就给大家介绍一些示例,都是各种对接过程中的存货,会拆分成几个文章进行讲解。
为了确保安全,示例中的密钥会使用几个*号进行代替。
SM2模式,和示例一中的ASN1是有区别的。同样的公私钥,签名值不一样。如.NET和JAVA对接时会出现。
SM2公钥(长度88):
BEdX9*****uXRXwNtHz47DJO0Th4PJLLWqsnqXjK5v6wGyPyDL6FeXAD2+hK/fWyp9K+b8AVk+sc94g/6gyR6j4=
SM2私钥(长度44):
ASwcX*****y2hZYC+5DZ6jCRpNg6R0bFtOJD6J+WyJk=
待签名字符串:{"ecToken":"xxxxxxxxxssssssss","idNo":"340100198808089999","idType":"01","insuOrg":"010203","userName":"测试人员"}
SM2签名值(长度96):
MEQCIDE2eEs50WmWkcG49MXq3UyEpbPj0xW9rbc3SZ+bd++sAiA4761FXv1ATiIn/S8liwucnYq3Zbn7+mPbb8YXQ7/3+A==