【发布时间】:2017-07-01 07:03:29
【问题描述】:
我正在通过私有 API 提供数据,并且我想对它们进行签名。我的用户有点偏执,并且自己保存数据。他们想确保他们保存的数据来自我,并且从那以后没有被任何人修改过。我不能只使用 https,因为 Https 只是证明服务器的身份。他们想要确保数据没有改变是不够的,即使我也不应该改变它们。
这就是我想要做的。
- 使用 sha1 或其他方法构建数据块的校验和。
- 使用私有自签名证书构建此校验和的数字签名。
- 通过 https 提供校验和、其签名和我的公钥。
我的问题是:
- 这是正确的做法吗?
- 我应该为 Comodo 或 Symantec 等权威机构购买证书吗?
- 我可以使用我的 https 证书签署我的校验和吗?
- 如果我从权威机构购买证书,到期后会发生什么?我的旧校验和签名不再有效吗?
【问题讨论】:
-
“你用你的私钥签署消息”如何保护数据不被你修改?
-
它之所以有效,是因为它们存储了数据和校验和的副本。如果我们不能互相信任,我们将需要像区块链这样更激进的解决方案。你也可以引入第三部分,只允许他对数据进行签名。因此,未经他的同意,我将无法再生成签名数据。
标签: ssl certificate digital-signature