嵌入式系统客户端 - SSL证书

时间:2016-07-15 01:41:35

标签: ssl https http-post client-server

我正在开发一种产品,每天都会向我的服务器发送一些数据。服务器不会向我的设备发送任何数据/请求(HTTP状态除外)。我使用redpine无线模块RS9113为我做连接件。我希望此通信启用 https ,并且我的Web服务器已经拥有CA颁发的证书。

问题是:

  1. 当我从嵌入式设备进行POST时,我的理解是SSL库会检查服务器证书的有效性。我是对的吗?

  2. 如果我的客户端不需要证书,是否意味着服务器的公钥存储在无线模块上(每次都用于加密)?我可以猜测这是我需要问redpine无线人员的事情,但是你能否让我大致了解一下这是如何工作的?

  3. 在此设置中,我是否需要在嵌入式设备上安装任何证书?我很好,如果有人将数据发布到服务器,因为我们有标识符可以清除不合格的数据结构。如果设备上没有证书,如果我们发布POST,是否意味着数据是从设备服务器加密的?

  4. 奖金问题:在此设置中,如果我的服务器上的证书已续订​​,是否会在发送数据时出现任何问题?

1 个答案:

答案 0 :(得分:0)

我不知道redpine无线模块,因此将此响应视为对SSL的疑虑的解决方案

  

当我从嵌入式设备进行POST时,我的理解是SSL库会检查服务器证书的有效性。我是对的吗?

是的,SSL库应检查证书的颁发者(根CA)或证书本身是否存在于信任库中。如果您使用自签名证书或信任库中不存在的CA,则必须在信任库中包含公钥

  

如果我的客户端不需要证书,是否意味着服务器的公钥存储在无线模块上(每次都用于加密)?

这两件事没有关系。您需要无线模块中服务器的公钥来建立信任。如果使用双向身份验证,则需要客户端证书。在SSL握手期间显示客户端证书,以向服务器验证客户端

  

在此设置中,我是否需要在嵌入式设备上安装任何证书?

不,如果不需要双向身份验证

  

如果设备上没有证书,如果我们发布POST,是否意味着数据是从设备服务器加密的?

客户端证书(如果有)不用于加密。用于在初始握手期间进行身份验证。握手建立了一个对称密钥,用于加密和解密双方的通信。

  

在此设置中,如果我的服务器上的证书已续订​​,是否会在发送数据时出现任何问题?

取决于客户端信任库上的服务器证书的设置。如果在同一侧发布新证书,则导入根CA就足够了。如果您使用自签名证书,则需要导入新证书