Lui*_*igi 1 embedded ssl https tls1.2 mbedtls
我在嵌入式设备上遇到了一个 mbedTLS 示例,在下载固件之前我看到了服务器证书验证(以 github.com 为例),但唯一编码的证书/密钥是 github 之一(CA 链,而不是 github 证书)本身)。
我的问题是:
我对答案有一个大致的了解,但我需要确定性。
问候,
如果我执行服务器 CA 验证,我只需要 CA 证书吗?
正确的
服务器验证后,两者之间的通信是否完全加密,这意味着固件文件是明文暴露的还是加密的?加密是使用服务器的私钥完成的吗?(我想它是在 github 服务器上)。如果不是,服务器私钥有什么用?正直?
服务器证书的验证是 TLS 握手的一部分,但不是握手的结束。仅在握手完成后数据才会被加密,但在握手完成之前不会传输任何应用程序数据。因此,通过 TLS 传输的固件使用客户端和服务器商定的任何密码进行加密 - 这可能是弱密码或强密码。
应用程序数据不使用任何私钥加密,而是使用对称加密技术。有关更多详细信息,请参阅SSL/TLS 的工作原理。
我还需要客户端私钥来建立加密连接吗?如果不是,客户端私钥是否应该与服务器私钥执行相同的操作,但在客户端?
客户端不需要私钥来加密。除此之外,服务器私钥应该保密(私有),因此客户端不可能只使用服务器私钥。再次,请参阅SSL/TLS 的工作原理了解详细信息。