【数字签名】如何正确地加签/验签

news/2024/10/29 5:29:27/

       项目上需要用到数字签名,原本是简单的服务器签名,客户端验签的流程。因为ios端没有找到比较好的验签库,故根据网传的步骤实现验签,但死活验签不成功,折腾了半天。
       网上的验签流程:

数字签名的技术流程描述如下:
发送方使用摘要算法对原文HASH生成信息摘要;
发送方使用自己的私钥对信息摘要进行签名(加密);
发送方将原文本身和已签名的信息摘要一起发送出去;
接收方使用相同的摘要算法对接收的原文本身生成新的信息摘要;
接收方使用发送方的公钥对已签名的信息摘要进行验签(解密),获得信息发送者的信息摘要;
接收方比较这两个信息摘要是否相同,如果相同则确认信息发送者的身份和信息没有被修改过;否则,则表示被修改过。

       流程没有问题,但是摘要算法是如何处理的并没有说清楚,我一直以为是简单的hash处理。但其实不是,这里其实用了两步,第一步利用摘要算法进行hash,第二步对hash添加对应算法的算法标识符,这样得到加密前的原文。举个RSA-SHA256的栗子:123456的SHA256的hash是8D969EEF6ECAD3C29A3A629280E686CF0C3F5D5A86AFF3CA12020C923ADC6C92,但这个并不能直接用于rsa加密,需要加上SHA256的前缀3031300d0609608648016503040201050004203031300d0609608648016503040201050004208D969EEF6ECAD3C29A3A629280E686CF0C3F5D5A86AFF3CA12020C923ADC6C92,这样才能加密后的签名才是正确的签名。
       不同算法的前缀参考rfc3447


http://www.ppmy.cn/news/426434.html

相关文章

对签名验签的理解

1.公钥私钥 1.1一些规则: 公钥加密的数据只有私钥能解开私钥加密的数据只有公钥能解开公钥有很多把,私钥只有一把 注:无需知道原理,只要记住这么个规则 1.2这些规则产生的结论: 下面假设你有一把私钥和公钥&#x…

爱签电子合同怎么签,应该注意哪些问题?

随着在线办公趋势的发展,电子合同成为越来越多企业的选择,但相关法律对电子合同的有效性又有严格的规定,那么企业电子合同到底该怎么签,应该注意什么问题呢,今天就带大家了解一下。 根据人力资源社会保障部办公厅发布的…

国务院:推进电子印章、签名应用,君子签助推高频事项“跨省通办”

10月5日,国务院办公厅印发《关于加快推进政务服务“跨省通办”的指导意见》(以下简称《指导意见》),明确指出:加快推进电子印章、电子签名应用和跨地区、跨部门互认,为提高“跨省通办”服务效能提供有效支撑…

签名验签

几个基本概念: 加密:发送方利用接收方的公钥对要发送的明文进行加密。 解密:接受方利用自己的私钥进行解密。 公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥加密,用对应的公…

电子签名的制作和使用

电子签名的制作和使用 一、在Word文档中插入手写签名生成电子签名1、准备好签名图片。2、用Word打开需要签名的文件,点菜单中的“插入>插图>图片”来选择已经写好的签名图片,插入后可以调整图片大小。3、点击菜单“格式>颜色>黑白”。4、点击…

电子签名-为你的数据签字画押

博主:爱码叔 个人博客站点: icodebook 公众号:漫话软件设计 专注于软件设计与架构、技术管理。擅长用通俗易懂的语言讲解技术。对技术管理工作有自己的一定见解。文章会第一时间首发在个站上,欢迎大家关注访问! 更多密…

电子签章如何申请(电子签章类型)

电子签章申请:通过公安机关申请电子公章、通过签章代办企业申请电子公章、通过第三方电子合同平台申请电子公章。 电子签章如何申请 通过公安机关申请电子公章 这是最常规、最传统的申请电子公章的方式。申请人可先在网上填写申请信息,并持营业执照、…

电子签名怎么签才有效?

第一次接触电子签名的企业或个人,往往不太清楚,电子签名怎么签才有效,电子签名的签署流程又是怎样的,第三方电子签名平台如何确保电子签名的法律效力。下面小编将在下文为您详细讲解。 电子合同的签署并不同于纸质合同&#xff0…