我有一个客户端应用程序分发给多个客户端。有时此应用程序充当某些进程的服务器。我希望通过 ssl 进行通信。我想在应用程序中插入服务器证书并发布到多个客户端。这种设计是个好主意吗?
有没有使用这种设计的实时产品示例?
最佳答案
您可以通过这种方式添加 TLS 通信,但据我了解您的问题,所有应用程序实例都会收到相同的证书,因此它们可以相互模拟。如果有人在一个应用程序中提取证书的私钥,他们就可以解密所有进程和应用程序的所有通信。仅将 key 分发到您无法控制的多个环境这一事实就可以证明随时撤销证书是合理的。
如果您希望与公开信任的根进行适当的 TLS 通信,那么该设计不是一个好主意。进程和应用程序可能必须使用不受信任的证书(可能是自签名证书)进行通信。
关于sockets - 可以在其中插入服务器证书构建的应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135984/