OpenSSL

维基百科,自由的百科全书
(重定向自BoringSSL
跳转到导航 跳转到搜索
OpenSSL
File:OpenSSL logo.svg
File:UEFI Secure Boot DB certificate.png
开发者OpenSSL项目
首次发布1998
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    编程语言C语言汇编Perl
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      类型安全性加密函数库
      许可协议3.0以前:OpenSSL与SSLeay双重许可协议
      3.0开始:Apache许可证2.0
      网站www.openssl.org

      OpenSSL是一个开放源代码软件函数库包,应用程序可以使用这个包来在计算机网络上进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联网的网页服务器上。

      其主要函数库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。OpenSSL可以运行在OpenVMSMicrosoft Windows以及绝大多数类Unix操作系统上(包括SolarisLinuxMac OS X与各种版本的开放源代码BSD操作系统)。

      虽然此软件是开放源代码的,但其3.0以前版本的许可协议与GPL有冲突之处,故GPL软件使用OpenSSL时(如Wget)必须对OpenSSL给予例外。

      历史[编辑]

      OpenSSL计划在1998年开始,其目标是发明一套自由的加密工具,在互联网上使用。OpenSSL以Eric Young以及Tim Hudson两人开发的SSLeay为基础,随着两人前往RSA公司任职,SSLeay在1998年12月停止开发。因此在1998年12月,社群另外分支出OpenSSL,继续开发下去。

      OpenSSL管理委员会目前由7人组成[1],有13个开发人员[2]具有提交权限(其中许多人也是OpenSSL管理委员会的一部分)。只有两名全职员工(研究员),其余的是志愿者。

      该项目每年的预算不到100万美元,主要依靠捐款。 TLS 1.3的开发由Akamai赞助。[3]

      主要版本发布[编辑]

      OpenSSL版本历史[4][5]
      版本 初始版本日期 备注 最近更新版本
      停止支持: 0.9.1 1998年12月23日
      • OpenSSL项目的正式开启
      0.9.1c(1998年12月23日)
      停止支持: 0.9.2 1999年3月22日
      • 取代0.9.1c
      0.9.2b(1999年4月6日)
      停止支持: 0.9.3 1999年5月25日
      • 取代0.9.2b
      0.9.3a(1999年5月27日)
      停止支持: 0.9.4 1999年8月9日
      • 取代0.9.3a
      0.9.4(1999年4月9日)
      停止支持: 0.9.5 2000年2月28日
      • 取代0.9.4
      0.9.5a(2000年4月1日)
      停止支持: 0.9.6 2000年9月24日
      • 取代0.9.5a
      0.9.6m(2004年3月17日)
      停止支持: 0.9.7 2002年12月31日
      • 取代0.9.6m
      0.9.7m(2007年2月23日)
      停止支持: 0.9.8 2005年7月5日
      • 取代0.9.7m
      0.9.8zh(2015年12月3日)
      停止支持: 1.0.0 2010年3月29日
      • 取代0.9.8n
      1.0.0t(2015年12月3日)
      停止支持: 1.0.1[6] 2012年3月14日
      • 取代1.0.0
      • 维护至2016年12月31日
      • 支持RFC 6520 TLS/DTLS心跳
      • 支持SCTP
      • RFC 5705 TLS key material exporter
      • RFC 5764 DTLS-SRTP协商
      • Next Protocol Negotiation
      • PSS signatures in certificates, requests and 证书吊销列表
      • Support for password based recipient info for CMS
      • 支持TLS v1.2以及TLS v1.1
      • Preliminary FIPS capability for unvalidated 2.0 FIPS module
      • 支持安全远程密码协议英语Secure Remote Password protocol(SRP)
      1.0.1u(2016年9月22日)
      停止支持: 1.0.2[7] 2015年1月22日 1.0.2u(2019年12月20日 (2019-12-20)
      停止支持: 1.1.0[8] 2016年8月25日 (2016-08-25) 1.1.0l(2019年9月10日 (2019-09-10)
      停止支持: 1.1.1[10] 2018年9月11日 (2018-09-11) 1.1.1w(2023年9月11日 (2023-09-11)
      支持中: 3.0[note 1] 2021年9月7日 (2021-09-07) 3.0.10 (2023年8月1日 (2023-08-01)
      支持中: 3.1 2023年3月14日 (2023-03-14) 3.1.2 (2023年8月1日 (2023-08-01)
      支持中: 3.2[14][15] 2023年11月23日 (2023-11-23)
      • 客户端支持 QUIC
      • TLS 证书压缩
      • ECDSA 的确定性使用
      • TLS 原始公钥支持
      持续开发中
      支持中: 3.3[16] 2024年4月9日 (2024-04-09) 持续开发中
      最新版本: 3.4[17] 2024年10月22日 (2024-10-22) 持续开发中
      格式:
      停止支持
      支持中
      最新版本
      最新预览
      未来版本
      从未发布

      算法[编辑]

      OpenSSL支持许多不同的加密算法:

      加密
      AESBlowfishCamelliaChacha20Poly1305SEED英语SEEDCAST-128英语CAST-128DESIDEARC2英语RC2RC4RC5TDESGOST 28147-89英语GOST (block cipher)[18]SM4
      密码散列函数
      MD5MD4MD2SHA-1SHA-2SHA-3RIPEMD-160MDC-2英语MDC-2GOST R 34.11-94英语GOST (hash function)[18]BLAKE2Whirlpool[19]SM3
      公开密钥加密
      RSADSAECDSAECDHE迪菲-赫尔曼密钥交换椭圆曲线密码学X25519Ed25519X448英语Curve448Ed448英语Curve448GOST R 34.10-2001[18]SM2

      (从1.0版开始,椭圆曲线迪菲-赫尔曼密钥交换用于支持前向安全性[20])

      许可协议(Licensing)[编辑]

      OpenSSL 根据 OpenSSL 许可证和 SSLeay 许可证获得双重许可,这意味着可以使用任一许可证的条款。[21]OpenSSL 许可实际上是 Apache许可协议1.0,而 SSLeay 许可则与四条款 BSD许可协议有些相似。

      由于OpenSSL 许可是Apache许可协议1.0(而非Apache许可协议2.0),因此被要求在宣传资料和任何redistributions中明确标出:“本产品包含由 OpenSSL Project 开发,用于 OpenSSL 工具包的软件”(根据 OpenSSL 许可第 3 和第 6 条规定)。由于此限制,OpenSSL许可和Apache许可协议1.0这两个许可与GNU GPL许可[22]不兼容。

      一些 GPL 开发者为了允许他们的系统与 OpenSSL 一起使用,特别在他们的许可协议中加入了"OpenSSL例外"。例如,GNU Wget[23]climm [24]采用了这样的例外条款。某些包(如 Deluge)在 GPL 许可协议的开头添加额外部分,记录此例外[25]。而其他包则选择使用具有不同许可的替代品,例如采用 GNU-LGPLGnuTLSBSD 许可的 Botan[26]MPL 许可的 NSS,这些工具具备相同的功能。

      2015 年 8 月,OpenSSL 宣布将要求大多数贡献者签署贡献者许可协议(Contributor License Agreement, CLA),并计划将 OpenSSL 的许可最终变更为Apache许可协议 2.0。此过程于 2017 年 3 月展开,并于 2018 年完成。

      2021 年 9 月 7 日,采用Apache许可协议 2.0 许可的OpenSSL 3.0.0 正式发布。[27]

      发生过的重大漏洞[编辑]

      拒绝服务(DoS): ASN.1 解析[编辑]

      在OpenSSL 0.9.6k,某些特定的ASN.1序列会在 Windows 电脑上触发大量递归。该错误于 2003 年 11 月 4 日被发现。能够发送任意大量的 ASN.1 序列将导致 OpenSSL 崩溃。

      "可预测私钥"漏洞(仅限Debian[编辑]

      OpenSSL 的伪随机数产生器使用复杂的程序方法来获取熵。为了防止Valgrind分析工具发出相关警告, Debian发行版的维护者对 Debian 的 OpenSSL 包变体应用了补丁,该补丁将其可生成的私钥总数限制为32,768,无意中破坏了其随机数生成器。损坏的版本包含在 2006 年 9 月 17 日发布的 Debian 版本中(版本 0.9.8c-1),这也影响了其他基于Debian的系统,例如Ubuntu[28]

      该错误于 2008 年 5 月 13 日由 Debian 报告。在 Debian 4.0 发行版(代号 etch)中,这些问题已在版本 0.9.8c-4etch3 中修复,而针对 Debian 5.0 发行版(代号 lenny)的修复则包含在版本 0.9.8g-9 中[29]

      OCSP 装订漏洞[编辑]

      在连线建立的握手阶段时,客户端可能会发送格式不正确的ClientHello消息页面存档备份,存于互联网档案馆),导致 OpenSSL 解析的内容超出消息末端。CVE 项目分配了标识符CVE -2011-0014页面存档备份,存于互联网档案馆) ,这影响了所有 OpenSSL 版本 0.9.8h 至 0.9.8q 以及 OpenSSL 1.0.0 至 1.0.0c。由于解析可能会导致读取不正确的存储器地址,因此攻击者有可能引发DoS。某些应用程序也可能会暴露已解析的OCSP扩展的内容,从而导致攻击者能够读取ClientHello之后的存储器内容。[30]

      ASN.1 BIO 漏洞[编辑]

      当使用基本输入/输出 (BIO) 或基于 FILE 的函数读取不受信任的DER格式资料时,OpenSSL 容易受到攻击。但该漏洞不会直接影响 OpenSSL 的 SSL/TLS 代码,或者任何使用 ASN.1 函数(特别是 d2i_X509 和 d2i_PKCS12)的应用程序。

      该漏洞于 2012 年 4 月 19 日发现,并分配了 CVE 标识符CVE -2012-2110页面存档备份,存于互联网档案馆)。

      SSL、TLS 和 DTLS 明文恢复攻击[编辑]

      在处理 SSL、TLS 和 DTLS 中的 CBC 密码包时,发现 OpenSSL 在 MAC 处理期间容易受到定时攻击。 Nadhem Alfardan 和 Kenny Paterson 发现了这个问题,并于 2013 年 2 月 5 日发布了他们的发现[31]CVE 标识符为CVE -2013-0169页面存档备份,存于互联网档案馆

      心脏出血漏洞[编辑]

      OpenSSL 1.0.1至1.0.1f 版本在其 TLS心跳扩展(Heartbeat Extension)的实现中存在一个严重的内存处理漏洞,该漏洞可被利用在每次心跳中泄露最多 64 KB 的应用程序内存。[32][33]CVE -2014-0160页面存档备份,存于互联网档案馆))。通过读取 Web 服务器的内存,攻击者可能访问敏感数据,包括服务器的私钥。[34]

      这可能使攻击者能够解码之前窃听的通信内容,特别是在加密协议未确保完美前向保密(Perfect Forward Secrecy, PFS)的情况下。掌握私钥还可能让攻击者对未来的通信进行中间人攻击(MITM attack)。

      该漏洞还可能泄露其他用户敏感请求与响应的未加密部分,包括会话Cookie 和密码,这可能让攻击者冒充其他用户的身份进行服务操作。[35]

      该漏洞于 2014 年 4 月 7 日披露时,估计大约 17%(约 50 万台)由受数字证书认证机构 (CA) 认证的安全 Web 服务器可能受到了此攻击的影响[36]。并且,Heartbleed 漏洞可能同时影响服务器和客户端。

      CCS注入漏洞[编辑]

      CCS 注入漏洞 (CVE -2014-0224页面存档备份,存于互联网档案馆)) 是一个安全绕过漏洞,是由 OpenSSL 中处理密钥材料的方法存在的弱点引起。

      此漏洞可以通过中间人攻击(MITM)被利用。攻击者可以解密和修改传输中的流量。一名远程未经身份验证的攻击者可以通过特制的握手过程迫使通信双方使用弱密钥材料。成功的攻击可能导致安全绕过,使攻击者能够访问潜在的敏感信息。该攻击仅能在易受攻击的客户端与服务器之间执行。

      OpenSSL 客户端在版本 0.9.8za、1.0.0m 和 1.0.1h 之前的所有 OpenSSL 版本中都存在漏洞。仅已知 OpenSSL 1.0.1 和 1.0.2-beta1 中的服务器容易受到攻击。建议使用 1.0.1 之前版本服务器的用户升级作为预防措施。[37]

      ClientHello 为内容的 DoS 攻击[编辑]

      此漏洞(CVE -2015-0291页面存档备份,存于互联网档案馆))允许任何人读取证书的内容并准确地修改它,从而利用该漏洞使客户端或服务器崩溃。如果客户端连接到一个使用 OpenSSL 1.0.2 的服务器并在重新协商时提供无效的签名算法扩展,将会发生空指针引用。这可能导致针对服务器的拒绝服务(DoS)攻击。

      斯坦福大学的安全研究员 David Ramos 持有一个私有的漏洞利用程序,并将其提交给 OpenSSL 团队,随后该问题被修补。

      OpenSSL 将此漏洞分类为高严重性问题,指出版本 1.0.2 受到影响。[38]

      对 Diffie–Hellman 小型子group的 密钥恢复攻击[编辑]

      此漏洞(CVE-2016-0701页面存档备份,存于互联网档案馆))在满足某些特定条件时,允许恢复 OpenSSL 服务器的 Diffie–Hellman 私钥。

      该漏洞由 Adobe 系统安全研究员 Antonio Sanso 私下报告,OpenSSL 将此漏洞分类为高严重性问题,并指出仅版本 1.0.2 受到影响。[39]

      分支[编辑]

      Agglomerated SSL[编辑]

      在2009年,OpenSSL API受挫之后,当时的OpenBSD开发人员Marco Peereboom创建了分支Agglomerated SSL(assl),它重新使用OpenSSL API,但提供了更简单的外部接口。[40]

      LibreSSL[编辑]

      2014年4月的心脏出血漏洞事件之后,OpenBSD项目成员以OpenSSL 1.0.1g作为分支,创建一个名为LibreSSL的项目。[41]在缩减OpenSSL的代码库的第一周,将超过90,000行的C语言代码从分支中删除。[42]

      BoringSSL[编辑]

      2014年6月,Google发布了自己的OpenSSL分支BoringSSL[43],计划与OpenSSL和LibreSSL的开发者合作。[44][45][46]

      GmSSL[编辑]

      GmSSL支持SM2/SM3/SM4/SM9/ZUC等商用密码,主要使用SM2替代RSA/Diffie-Hellman/ECDSA/ECDHSM3替代MD5/SHA-1/SHA-256SM4替代DES/AESSM9替代PKI/CA体系,所有代码在GitHub上开源[47],并由北京大学信息安全实验室开发和维护[48]。此项目获得2015年度中国Linux软件大赛二等奖(一等奖空缺)[49]

      受到的批评[编辑]

      旧版本兼容问题[编辑]

      在开发者社群中,经常提及OpenSSL每次推出新的主要版本时引入 API 兼容性破坏的案例[50][51][52][53],此时就会需要对软件进行调整,从而往往延迟新版本的采用。

      此外,由于旧版本通常在新主要版本发布后的维护期不超过两年,这种情况往往迫使某些供应商必须非常早地开始准备软件迁移。 因此在更新到新版本时,有时可能面临失去与现有软件的某些兼容性风险, [54][55],或导致软件回归(Software regression)的风险。[56][57]

      发行版本间隔时间太长[编辑]

      虽然长期支持版本(LTS)会维护长达 5 年[58],但发行时间间的间隔往往迫使操作系统供应商不得不长时间地停留在最后一个支持的版本上,从而在新版本发布时较没有缓冲时间。

      例如,OpenSSL 3.0 原本预计在 2019 年第 4 季发布, 但最终拖延了 21 个月才发行,且没有延长对先前支持的版本 1.1.1 的预期支持结束日期,尽管存在需要对现有软件进行适配的重要变更。

      显著的性能下降[编辑]

      上述提到的 1.1.1 版本较短的支持延迟引发了对对性能敏感的用户更多的担忧。在 OpenSSL 3.0 正式发布后不久,一些用户开始报告该版本在多线程环境下出现严重的性能下降问题,许多人指出频繁的底层操作中锁的使用效率较低,导致速度降低达到 80 到 400 倍[59][60][61][62][63][64][65][66]。OpenSSL 团队已建立一个综合性问题来试图集中收集这些大规模性能回归的报告。[67]

      大约一半的回报者表示,无法从早期版本升级到 3.0 ,这进一步加剧了由于先前版本 1.1.1 版本支持时间有限而带来的困扰。

      对用户需求的考量[编辑]

      在开发 QUIC 传输以支持 HTTP 3.0时,提出使用 TLS 来提供安全性[68],并发现需要对 TLS 库进行一些适配修改。这些修改最初引入到了 BoringSSL[69], 成为当时 QUIC 开发者主要使用的版本,后来也被移植到其他版本中[70]。 这项工作的移植很快被提议给 OpenSSL[71]

      虽然当天就开始讨论,但进展迅速受阻,最初是由于许可考量而受阻,然后在这些问题解决后仍被搁置。最终,10 个月后,OpenSSL 管理委员会在一篇博客文章中宣布[72],由于担心 API 会随时间变更,这些补丁集将不会被纳入 3.0 版本。

      在预计发布 3.0 版本超过一年后,该版本仍遥遥无期,一支来自 AkamaiMicrosoft 的志愿者团队决定 fork 该项目为 QuicTLS,并在 OpenSSL 代码上支持这些补丁,以促进 QUIC 开发进展。这一行动得到了社群的普遍欢迎。

      最终,在 OpenSSL 3.0 正式发布后,QUIC 补丁集再次被考虑,但最终被否决[73],该 pull 请求被关闭,在社群中引发了数十到数百条失望反应[74]。也有用户向操作系统供应商请求支持替代的 QuicTLS 分叉[75][76],或查找其他解决方案[77]

      最后,QuicTLS 项目的联合创始人 Rich Salz,宣布希望从 QuicTLS 分叉出一个 Apache 项目[77]。但截止到 2023 年 2 月 25 日,仍然没有一个默认在操作系统中提供长期支持且兼容 QUIC 的 TLS 库,而这要求最终用户需要自行从源码重新构建。

      参见[编辑]

      注记[编辑]

      1. ^ 跳过主要版本号2.0.0,因为该版本号先前被用于OpenSSL的FIPS模块中。[13]

      参考[编辑]

      1. ^ OpenSSL Management Committee. OpenSSL Software Foundation. [2018-07-22]. (原始内容存档于2018-07-22). 
      2. ^ OpenSSL Committers. OpenSSL Software Foundation. [2018-07-22]. (原始内容存档于2018-07-22). 
      3. ^ Marquess, Steve. Akamai sponsors TLS 1.3. openssl-announce (邮件列表). 2017-01-19 [2018-11-09]. (原始内容存档于2017-02-01). 
      4. ^ OpenSSL – Changelog. OpenSSL Software Foundation. [2016-09-26]. (原始内容存档于2016-09-13). 
      5. ^ OpenSSL – Release Strategy. OpenSSL Software Foundation. [2016-09-26]. (原始内容存档于2016-10-06). 
      6. ^ OpenSSL 1.0.1 Series Release Notes. [2017-02-20]. (原始内容存档于2015-01-20). 
      7. ^ OpenSSL 1.0.2 Series Release Notes. [2017-02-20]. (原始内容存档于2014-09-04). 
      8. ^ OpenSSL 1.1.0 Series Release Notes. [2017-02-20]. (原始内容存档于2018-03-17). 
      9. ^ 9.0 9.1 Caswell, Matt. OpenSSL 1.1.1 Is Released - OpenSSL Blog. www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始内容存档于2018-09-15) (English). 
      10. ^ Inc., OpenSSL Foundation,. OpenSSL 1.1.1 Is Released - OpenSSL Blog. www.openssl.org. [2018-09-18]. (原始内容存档于2018-09-15). 
      11. ^ Caswell, Matt. Using TLS1.3 With OpenSSL - OpenSSL Blog. www.openssl.org. OpenSSL Foundation. 2018-02-08 [2018-02-17]. (原始内容存档于2018-02-09) (English). 
      12. ^ Caswell, Matt. OpenSSL 1.1.1 Is Released. www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始内容存档于2018-09-15) (English). 
      13. ^ 13.0 13.1 Matt Caswell. The Holy Hand Grenade of Antioch. OpenSSL Blog. 2018-11-28 [2019-10-07]. (原始内容存档于2021-09-07). 
      14. ^ OpenSSL 3.2.0 Final Release. OpenSSL Blog. [2024-10-11]. (原始内容存档于2024-12-07). 
      15. ^ OpenSSL 3.2 series notes. GitHub. [2023-11-24]. 
      16. ^ OpenSSL 3.3 Final Release. OpenSSL Blog. [2024-10-11]. 
      17. ^ OpenSSL 3.4 Final Release. OpenSSL Blog. [2024-11-22]. (原始内容存档于2024-12-08). 
      18. ^ 18.0 18.1 18.2 GOST engine OpenSSL 1.0.0 README. cvs.openssl.org. [2020-12-09]. (原始内容存档于2013-04-15). 
      19. ^ OpenSSL source code, directory crypto/whrlpool. [2017-08-29]. (原始内容存档于2019-02-17). 
      20. ^ Protecting data for the long term with forward secrecy. [2012-11-05]. (原始内容存档于2016-03-04). 
      21. ^ License. OpenSSL Library. [2024-12-07]. (原始内容存档于2025-01-24) (English). 
      22. ^ "Licenses – Free Software Foundation". [2024-12-07]. (原始内容存档于2012-01-18). 
      23. ^ WGET 1.10.2 for Windows (win32). web.archive.org. 2008-01-02 [2024-12-07]. (原始内容存档于2008-01-02). 
      24. ^ climm - Download!. web.archive.org. 2011-02-12 [2024-12-07]. 原始内容存档于2011-02-12. 
      25. ^ Deluge的授權書. [2024-12-07]. (原始内容存档于2013-12-03). 
      26. ^ Botan on github. [2024-12-07]. (原始内容存档于2022-06-06). 
      27. ^ OpenSSL 3.0 - OpenSSLWiki. wiki.openssl.org. [2024-12-07]. (原始内容存档于2025-01-17). 
      28. ^ “Debian OpenSSL – 可預測的 PRNG Bruteforce SSH 利用 Python”. [2024-12-07]. (原始内容存档于2025-02-06). 
      29. ^ "DSA-1571-1 openssl – predictable random number generator". Debian Project. 2008-05-13 [2024-12-07]. (原始内容存档于2014-02-20). 
      30. ^ "OpenSSL Updates Fix Critical Security Vulnerabilities". [2024-12-07]. (原始内容存档于2014-08-26). 
      31. ^ “論 TLS 中 RC4 的安全性”. 皇家霍洛威学院信息安全系。. [2024-12-07]. (原始内容存档于2013-03-15). 
      32. ^ "OpenSSL Security Advisory [07 Apr 2014]". [2024-12-07]. (原始内容存档于2014-04-08). 
      33. ^ "TLS heartbeat read overrun (CVE-2014-0160)". [2024-12-07]. (原始内容存档于2014-04-08). 
      34. ^ Codenomicon Ltd. heartbleed bug. [2024-12-07]. (原始内容存档于2014-04-07). 
      35. ^ "Why Heartbleed is dangerous? Exploiting CVE-2014-0160". [2024-12-07]. 原始内容存档于2014-04-08. 
      36. ^ "Half a million widely trusted websites vulnerable to Heartbleed bug". [2024-12-07]. (原始内容存档于2014-11-19). 
      37. ^ “OpenSSL 安全建議”. [2024-12-07]. (原始内容存档于2024-04-30). 
      38. ^ Brandon Stosh. "OpenSSL Patches Severe Denial-of-Service Vulnerability". [2024-12-07]. (原始内容存档于2024-10-05). 
      39. ^ Goodlin, Dan (January 28, 2016). "High-severity bug in OpenSSL allows attackers to decrypt HTTPS traffic". [2024-12-07]. (原始内容存档于2016-11-20). 
      40. ^ security/assl: assl-1.5.0p0v0 – hide awful SSL API in a sane interface. OpenBSD ports. 2014-05-22 [2015-02-10]. (原始内容存档于2015-02-10). 
      41. ^ OpenBSD has started a massive strip-down and cleanup of OpenSSL. OpenBSD journal. 2014-04-15 [2018-02-14]. (原始内容存档于2014-07-01). 
      42. ^ OpenBSD forks, prunes, fixes OpenSSL. ZDNet. 21 April 2014 [21 April 2014]. (原始内容存档于2014-04-21). 
      43. ^ https://boringssl.googlesource.com/boringssl/页面存档备份,存于互联网档案馆) BoringSSL
      44. ^ Google unveils independent 'fork' of OpenSSL called 'BoringSSL'. Ars Technica. 2014-06-21 [2018-02-14]. (原始内容存档于2014-06-23). 
      45. ^ BoringSSL. Adam Langley's Weblog. 2014-06-20 [2018-02-14]. (原始内容存档于2018-06-01). 
      46. ^ 存档副本. [2018-02-14]. (原始内容存档于2018-02-14). 
      47. ^ GitHub上的GmSSL页面
      48. ^ GmSSL —— 支持国密算法和标准的 OpenSSL 分支. 开源中国. [2016-05-17]. (原始内容存档于2019-10-19). 
      49. ^ 首届中国Linux软件大赛:100万元奖金发出. 安全牛. [2015年12月12日]. (原始内容存档于2019年10月19日). 
      50. ^ OpenSSL 3 breaks webpack build. [2024-12-07]. (原始内容存档于2024-12-08). 
      51. ^ openssl version 3.0 in arch?. [2024-12-07]. (原始内容存档于2024-05-16). 
      52. ^ OpenSSL 3.0 transition plans. [2024-12-07]. (原始内容存档于2024-12-25). 
      53. ^ OpenSSL 3.0 Compatibility. [2024-12-07]. (原始内容存档于2024-12-08). 
      54. ^ Compile against OpenSSL 3.X. [2024-12-07]. (原始内容存档于2024-12-08). 
      55. ^ ESET Management Agent (RHEL 9.x, OpenSSL 3.0.x). [2024-12-07]. (原始内容存档于2024-12-09). 
      56. ^ python bug 46313. [2024-12-07]. (原始内容存档于2024-12-08). 
      57. ^ RHEL 9 : openssl (RHSA-2022:6224). [2024-12-07]. (原始内容存档于2024-12-08). 
      58. ^ Release Strategy by openssl. [2024-12-07]. (原始内容存档于2024-12-09). 
      59. ^ Massive performance degradation in OpenSsl 3.0 if used in a heavy multi threaded server application. [2024-12-07]. (原始内容存档于2024-12-08). 
      60. ^ Performance issue with Openssl 3.0 in multi threaded application when using d2i_x509. [2024-12-07]. (原始内容存档于2024-12-08). 
      61. ^ Severe efficiency degradation of credential loading in comparison to 1.1.1. [2024-12-07]. (原始内容存档于2024-12-07). 
      62. ^ 3.0 performance degraded due to locking. 
      63. ^ High cpu usage for outbound ssl requests after upgrading from v16.15.0 to v18.1.0. [2024-12-07]. (原始内容存档于2024-12-08). 
      64. ^ Massive performance degradation in OpenSsl 3.0 FIPS provider. [2024-12-07]. (原始内容存档于2024-12-08). 
      65. ^ Performance measurements. [2024-12-07]. (原始内容存档于2024-12-08). 
      66. ^ PEM/DER decoding of PKCS8 RSA private keys are 80 times slower in 3.0. [2024-12-07]. (原始内容存档于2024-12-08). 
      67. ^ 3.0 Performance problems. [2024-12-07]. (原始内容存档于2024-12-08). 
      68. ^ Using Transport Layer Security (TLS) to Secure QUIC. [2024-12-07]. (原始内容存档于2024-12-08). 
      69. ^ TLS 1.3 / QUIC needs. [2024-12-07]. (原始内容存档于2024-12-07). 
      70. ^ Support QUIC TLS API. [2024-12-07]. (原始内容存档于2024-12-08). 
      71. ^ WIP: master QUIC support. [2024-12-07]. (原始内容存档于2025-01-21). 
      72. ^ QUIC and OpenSSL. 
      73. ^ OMC Release Requirements. [2024-12-07]. (原始内容存档于2025-01-21). 
      74. ^ The QUIC API OpenSSL will not provide. [2024-12-07]. (原始内容存档于2025-01-21). 
      75. ^ [Pkg-openssl-devel] Any intent to maintain quictls ?. [2024-12-07]. (原始内容存档于2024-12-07). 
      76. ^ Bug#1011391: openssl: please support quictls patchset. [2024-12-07]. (原始内容存档于2024-12-08). 
      77. ^ 77.0 77.1 HTTP/3 support. [2024-12-07]. (原始内容存档于2024-12-07). 

      外部链接[编辑]