在理解数字签名方面我缺少一些东西,希望有人可以为我清理它。
数字签名是为了验证某些内容未被修改并来自某个人。
所以说我以某种方式截获了一个带有签名的xml文件。我撕掉签名,然后对文件进行一些编辑。然后我为这个文件生成一个新的签名,并将它发送给它要去的人。他们检查参考,然后检查出来。该文件未被篡改。但事实是,只有签名也被篡改了。这一定是不可能的,那么,我在这个难题中错过了什么巨大的作品?
答案 0 :(得分:3)
如果收件人接受任何人签署的文件,那么您的方法就可以了。但签名通常与其他一些识别数据一起使用,这使得替换签名毫无意义。
EG。当用户将签名的报告发送到税务局时,报告中包含他的姓名,签名必须包含他的姓名。此签名证明John Doe已自行授权或撰写本报告。如果替换签名,它将包含您的名称,报告的收件人将比较报告中的名称和签名并拒绝该文档。
另一个例子是服务器的SSL身份验证。服务器显示包含服务器的域名或IP地址的签名证书(过程更复杂,我在此处省略了详细信息)。客户端将证书中的数据与其连接的地址进行比较,并确定他是否可以信任该服务器。