在 Web 应用程序中实现端到端 PKI

Implementing end-to-end PKI in a web application

我创建了一个 Web 应用程序,允许两个设备通过 Web 服务器相互传输文件。

该应用程序不支持点对点连接。

我正在努力实现服务器可以为所有客户端文件传输提供服务,而无需知道文件内容的方式。

经过一番研究,我找到了一种方法,那就是使用 PKI。 所以我真的不明白它是如何让它安全的。

所以目前我达到了这一点:

其中客户端 A 得到 B 的 public 密钥,反之亦然,并使用 public 密钥加密文件,另一方有私钥解锁文件。

不过这也是可以被骗的,如果服务器发送一个假的public密钥,比如他自己的public密钥,然后解锁文件保存在本地,然后加密使用真正的 public 密钥,这使得它不是 100% 可信的。

现在PKI部分进来了,就是用LetsEncrypt这样的CA,但是A怎么通过服务器拿到B的public密钥,又不给服务器作弊的选项,看到真实的数据?即使你发送了签名证书,如果其他客户端可以使用它,那么服务器也可以这样做吗?

Where client A get's B's public key and vice-versa, and use the public key to encrypt the file and the other side has the private key to unlock the file.

服务器没有A或B的私钥,因此发送文件或public密钥虽然服务器很安全。这就是 PKI...!!

只有非对称密码无法帮助加密和解密大文件,但它确实可以帮助您建立对称密钥。

在浏览器端,您可以使用任何浏览器扩展来访问用户的证书存储以共享证书或解密。 My Co. 提供免费的 Signer.Digital 浏览器扩展,记录在