YtSign_2函数
int YtSign_2(char
*msg,char *OutSign,char* pin,char *InPath );
功能:使用锁对锁的硬件芯片唯一ID及信息进行数字签名
参数1――msg(in);要签名的信息。
参数3――pin(in);Pin码,只有Pin码正确才能进行签名
参数4――InPath (in);加密锁所在的设备路径
返回结果--若函数返回0,则表示函数执行成功,OutSign中包含有签名后的数据;若返回其它值, 则表示函数失败,错误原因可以参见错误代码含义。
提示:使用设置在锁中的SM2密钥对及锁的硬件芯片唯一ID对信息msg进行签名,返回签名后的数据
签名的流程如下:
1、对信息msg进行SM3国密HASH,得出HS值
2、然后将hash(msg)的结果送入到锁中进行数字签名。
3、在锁中先对锁的硬件芯片唯一ID及设置在锁中的公钥进行hash,得出Z值
4、然后再在锁中对HS及Z值进行hash,得出E值
5,接着,再在锁中使用私钥对E值进行签名,并将签名后的结果返回。
提示:YtSign_2函数与YtSign函数不同之处在于前者是使用硬件芯片唯一ID作为签名唯一标志,后者是使用开发商设置在锁中的用户身份作为签名唯一标志