什么是 SSL 上下文?

问题描述 投票:0回答:2

在进行 SSL 编程时,无论您选择哪种语言(C++、Java、Ruby 等),您都可能会遇到要使用的

SSLContext
对象。我不知道
SSLContext
在语义上意味着什么?当我在谷歌上搜索它时,有很多页面解释了此类对象在各种编程语言中的语法用法。

我的问题:

SSLContext
在 SSL 方面意味着什么/做什么?无论实现它的语言是什么。

ssl network-programming
2个回答
33
投票

SSL 上下文 是密码、协议版本、可信证书、TLS 选项、TLS 扩展等的集合。由于具有相同设置的多个连接很常见,因此它们被放在一个上下文中,相关的 SSL 连接是然后根据这个上下文创建。要创建新连接,您只需要引用上下文,与必须重新创建所有这些设置的情况相比,这可以节省时间和内存。

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


© www.soinside.com 2019 - 2024. All rights reserved.