什么是SSL上下文?

Mos*_*ebi 13 ssl network-programming

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

我的问题:SSLContextSSL的意思/做法是什么?无论实现它的语言如何.

Ste*_*ich 17

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

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