gpt4 book ai didi

forms - 通过 Web 表单使用 PGP 或 SSL 签署 HTML 文档

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:38 24 4
gpt4 key购买 nike

假设我在网上发布了一份两方之间的契约(Contract)。我希望双方都能够签署契约(Contract)以表明他们同意这些条款,就像他们在现实生活中手写一样。我在网上看到过许多 TOS 协议(protocol),其中只需一个复选框即可完成,但我想更进一步,使每一方都能断言签名是他们的而不是伪造的(其他人为他们选中了复选框)。

  • 假设页面已通过 HTTPS 提供,并且用户名/密码组合不是一种选择,哪种加密技术最适合身份验证:PGP、SSL 还是其他?
  • 我如何仅使用 HTML 和另一端的 LAMP 服务器来做到这一点,从而使过程尽可能自动化,同时仍然安全?代码示例显然是受欢迎的,但不是必需的;我只是想把它概念化:契约(Contract)的内容必须包含在签名中吗?我是否让用户上传公钥之类的?我不是加密专家,所以这就是我迷路的地方。

最佳答案

SSL 是一种传输安全机制,不适用。

您可以使用 OpenPGP 或 PKI(X.509 证书和 CMS 格式)。这些技术使您可以对数据进行两次或更多次签名,而不会使以前的签名失效——这是通过使用分离签名来完成的。

选择使用什么(PGP 或 PKI)是你的 - 这些技术可以用于类似的场景,但有不同的方法来验证 key :在 PGP 中,用户 key 由其他用户签名,而在 PKI 中,证书被签名证书颁发机构,这应该具有更高的可信度。

当您使用加密签名“签署文档”时,从技术角度来看,它是已签名文档的散列。可以在服务器端计算哈希值,发送给客户端进行签名,然后将分离出来的签名传回服务器端。这样就可以把文件保存在服务器上,用于签名的私钥不会离开客户端。

但是,要在客户端进行实际签名,您需要一些模块来与服务器通信并完成这项工作。您不能仅使用 Web 浏览器 - 需要一些浏览器插件。原因是 Javascript“密码学”,即使它在技术上允许访问存储在文件中或加密设备上的客户端 key ,也存在某些概念上的缺陷,这使得它几乎毫无用处。所以你最终会使用更可信和更安全的东西,即签名的小程序或 ActiveX 控件或 Flash 脚本。

我们公司提供各种安全组件,其中有组件和modules for distributed signing (包括上述插件)。这些模块用于PKI操作(虽然一般我们也有用于OpenPGP操作的​​组件,但这些组件目前不支持分布式签名)。

而且我应该注意,当用户选择要使用的证书并单击“签名”按钮(例如)时,此处的“自动化”可能达到一定程度。没有用户的明确操作,你不能签署任何东西。在某些情况下,用户还需要提供 PIN/密码以防止私钥被滥用。

关于forms - 通过 Web 表单使用 PGP 或 SSL 签署 HTML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8924738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com