首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SSL/TLS没有内置到现代操作系统中?

为什么SSL/TLS没有内置到现代操作系统中?
EN

Software Engineering用户
提问于 2011-03-20 00:15:42
回答 7查看 4.4K关注 0票数 17

构成Internet基础设施的许多基本网络协议都内置于大多数主要的操作系统中。例如,TCP、UDP和DNS都内置于Linux、UNIX和Windows中,并通过低级别的系统API提供给程序员。

但是,当涉及到SSL或TLS时,必须求助于第三方库,如OpenSSL或Mozilla NSS。

SSL是一个相对较老的协议,它基本上是一个与TCP/IP一样普遍存在的行业标准,那么为什么不将它内置到大多数操作系统中呢?

EN

回答 7

Software Engineering用户

发布于 2011-03-20 01:06:49

我认为这主要取决于你所看到的“操作系统”。如果是内核的话,我的回答是:为什么呢?我可能错了,但DNS不是Linux系统上的glibc的一部分吗?

如果不是关于内核或用户空间,几乎每个OS /平台都有一个SSL / TLS堆栈,有些可能有多个。

它甚至可以被看作是一种优势。如果没有OpenSSL,您将不得不适应Windows、Mac和Linux (和.)API接口。TLS不允许编写跨平台的TLS应用程序。只需选择一个支持目标平台的TLS库即可。

对我来说,TLS的真正问题是,你不能简单地“打开它”。相反,您必须管理一组受信任的证书、证书吊销列表、自签名证书等等。所有这些都需要大量的用户交互。

可悲的是,保安从来都不是免费的。这是程序员的努力和给用户带来的不便。

票数 10
EN

Software Engineering用户

发布于 2011-03-20 07:50:19

这是一个法律问题。一些国家把密码学和武器放在一起。然后,将密码代码放入内核,就会使导出任何内核代码变得更加困难。

票数 8
EN

Software Engineering用户

发布于 2011-08-13 08:06:04

将TCP构建到操作系统中有明显的好处。即使不涉及应用程序数据,TCP也需要精确的定时和对网络数据包的快速响应。如果您试图在通用IP API之上的用户空间中实现TCP,那么情况会更糟。在内核中集成SSL没有类似的优点。

另一方面,也有一些缺点。例如,SSL需要操作密钥环和证书列表等。通过内核或OS这样做是不优雅的。因此,即使它与操作系统一起出现,它也只是一个库(就像在Windows中一样)。这些库无论如何都是可用的,所以它最终只是包装上的一个改变。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/60030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档