什么是SSL上下文?

时间:2015-07-26 06:15:01

标签: ssl network-programming

在为SSL编程时,无论选择哪种语言(C ++,Java,Ruby等),都可能会遇到将要使用的SSLContext对象。我不知道SSLContext在语义上意味着什么?当我搜索谷歌时,只有很多页面解释了这种对象在各种编程语言中的语法用法。

我的问题:SSLContext在SSL方面的意义/做法是什么?无论实现它的语言如何。

2 个答案:

答案 0 :(得分:17)

SSL Context是密码,协议版本,可信证书,TLS选项,TLS扩展等的集合。由于具有相同设置的多个连接非常常见,因此它们在上下文中放在一起并且相关然后,基于此上下文创建SSL连接。要创建新连接,您只需要参考上下文,这样就可以节省时间和内存,而不必重新创建所有这些设置。

编辑:@EJP很好地将这个“集合”描述为工厂。 SSL上下文与SSL session不同,即使两者都是设置集合。会话是SSL握手后获得的会话,仅涵盖双方同意的密码和协议版本以及交换密钥。鉴于上下文涵盖了所有密码和协议版本以及本地系统(客户端或服务器)在建立新TLS连接时愿意支持的可信证书列表。因此,SSL会话描述了已建立的SSL关系,而SSL上下文描述了建立SSL关系所需的内容。

答案 1 :(得分:2)