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