在客户端和服务器之间使用自定义协议(不是HTTPS)时是否需要SSL证书?

时间:2019-07-07 12:20:21

标签: ssl https certificate protocols

我有一个正在处理的项目,它是一个桌面应用程序,正在与通过TCP构建的服务器进行通信。我想使用SSL(TLS)来确保连接的安全和加密,但是我不确定,在自定义协议中使用SSL时是否需要SSL证书?因为它需要HTTPS吗?

此外,我想知道SSL证书在两个端点之间的流加密过程中的作用是什么?仅仅是为了验证两个端点吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

  

...在自定义协议中使用SSL时是否需要SSL证书?

证书用于标识服务器,即确保客户端连接到预期的服务器,而不是中间人。 TLS还提供了执行这种检查的其他方法,例如在客户端和服务器之间使用预共享的机密,请参见Wikipedia: TLS-PSK

  

我想知道SSL证书在两个端点之间的流加密过程中的作用是什么?仅仅是为了验证两个端点吗?

证书的主要作用是提供身份验证。通过RSA密钥交换,证书还可以用于将对称加密密钥的信息从客户端传输到服务器-通过使用从证书中获取的服务器公钥对预主密钥进行加密,以便服务器可以使用匹配的私钥。但是请注意,RSA密钥交换被认为已过时,并且在现代密钥交换方法(Diffie-Hellman)中并未使用证书。