OpenSSL:这是您现在需要了解的关于SSL和TLS的知识。

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


OpenSSL是一个软件库,可实现SSL(安全套接字层)和TLS(传输层安全性)Web安全协议.

SSL和TLS是使用加密技术保护双方之间通信的方法。尽管在技术层面上存在一些重要的差异(并且SSL已在很大程度上过时了,以支持更安全的TLS),但它们的工作方式基本上相同。 (实际上,许多人只是将这两种协议都称为“ SSL”。)

下面对SSL / TLS的工作方式进行了非常简单的描述,但是它使您对所发生的事情有基本的了解:

  • 在客户端和服务器之间建立连接后,客户端将请求安全连接。它请求有关客户端支持哪种类型的密码安全性的信息.
  • 服务器选择服务器和客户端都支持的最安全的选项,然后发送使用服务器公钥签名的安全证书.
  • 客户端验证证书并生成一个使用服务器的公共密钥加密的密钥以发送到服务器.
  • 客户端和服务器使用秘密密钥生成一对对称密钥(或两对公共-私有密钥),并且通信安全地开始.

SSL / TLS不是软件或技术,而是一种协议,一种用于完成上述一系列步骤的过程以及特定的加密算法。需要一个软件(“实现”)来实现协议.

OpenSSL是当前使用的最受欢迎的SSL / TLS实现.

OpenSSL教程

  • 《 OpenSSL命令行工具简介》是一本极好的教程,涵盖了公共密钥密码学背后的理论以及OpenSSL的实际使用.
  • Ubuntu的OpenSSL简介概述了SSL技术,尤其是OpenSSL实施。虽然适用于Ubuntu用户,但此处的大多数信息对于任何Linux发行版的用户都将有所帮助.
  • OpenSSL Essentials:使用SSL证书,私钥和CSR是针对Web托管用户的OpenSSL理论和实践的很好概述。一些信息是特定于Digital Ocean客户的,但是大多数信息将对使用Linux虚拟主机计划的任何人有所帮助。.
  • OpenSSL命令行HOWTO是一系列使用OpenSSL的食谱样式食谱.
  • OpenSSL Cookbook是一本免费的两章电子书,涵盖了opensl的​​最常用功能和命令。它摘自Ivan Ristic的全长书籍《防弹SSL和TLS:了解并部署SSL / TLS和PKI到安全服务器和Web应用程序》(2014)。.
  • 使用OpenSSL API进行安全编程是非常详细的编程教程,介绍了如何使用OpenSSL库将SSL加密合并到C应用程序中.
  • 使用Borland C ++ Builder和OpenSSL逐步构建一个简单的HTTPS客户端.
  • 配置中 & 使用OpenSSL工具是在命令行上使用openssl工具的简短教程.
  • 适用于Apache Rampart / C的OpenSSL教程是该库中的详细技术教程,适用于Linux上的Apache Web服务器用户.

OpenSSL工具

  • 可从官方GitHub存储库获取openssl库源代码.
  • Openssl工具是一组Shell脚本,可简化OpenSSL的使用.
  • SSL Checker可以帮助您诊断OpenSSL安装问题。只需输入一个域名,该工具就会提供有关证书的详细信息.
  • OpenSSL CSR Tool将根据您的输入参数自动生成客户CSR(证书签名请求).
  • Win32 OpenSSL是OpenSSL的发行版,旨在易于在Windows计算机上安装.
  • CSR解码器将检查您的CSR(证书签名请求),解码详细信息,并向您报告CSR的内容.

OpenSSL社区

  • OpenSSL.org是OpenSSL工具包的官方主页.
  • OpenSSL Software Services Inc是OpenSSL项目的企业赞助商.

有关OpenSSL和相关主题的书籍

  • Viega,Messier和Chandra撰写的《带有OpenSSL的网络安全》(2002)是有关OpenSSL的权威文章。现在有点过时了,但是基本信息仍然有用.
  • 防弹SSL和TLS:Ivan Ristic撰写的《了解和将SSL / TLS和PKI部署到安全服务器和Web应用程序》(2014年)是一本非常完整的服务器安全指南,深入介绍了SSL和相关工具。探索了OpenSSL和其他SSL选项.
  • Apache:Laurie和Laurie撰写的权威指南(2002)与OpenSSL无关,而是与Apache Web服务器管理有关。这里将安全性很好地涵盖了整个系统管理的整个任务中。该材料特别相关,因为其中一位合著者是OpenSSL项目的核心贡献者.
  • Joshua Davies撰写的《使用密码学和PKI实施SSL / TLS》(2011年)对于希望深入了解SSL和OpenSSL在基本层面上的工作原理的人来说是“必读”.
  • SSL和TLS:Eric Rescorla撰写的Designing and Building Secure Systems(设计和构建安全系统,2000年)是对SSL和TLS的高度技术性介绍,其中包含有关优缺点,实现方法以及在系统工程中的实际使用的信息。详细介绍了OpenSSL和其他几个SSL工具.

OpenSSL的替代品

OpenSSL是用于服务器端Web安全的最受欢迎的SSL / TLS库之一,它充当SSL协议的默认“参考实现”。但这不是唯一可用的选项.

  • LibreSSL是OpenSSL的分支,其目标是“现代化代码库,提高安全性并应用最佳实践开发流程”。
  • NSS是Mozilla的一组安全性库。它们用于Firefox和Chrome浏览器以及Red Hat和AOL。 NSS与Apache服务器配合良好.
  • BoringSSL是Google的OpenSSL分支。它可以在开放源代码许可下供公众使用,但是不能保证API的稳定性,因为它不是在考虑消费者的情况下构建的.
  • S2n是Amazon在OpenSSL项目中仅实现TLS安全库的实现,不包括所有其他加密工具.
  • GnuTLS是GNU项目中的SSL / TLS库.

如何使用OpenSSL保持安全

了解OpenSSL的最重要的事情是它不是完美的,而且永远不会完美。任何软件项目都属于这种情况,尤其是涉及密码安全性的项目。.

可以最大程度确保您的网站安全的一件事是使OpenSSL安装保持最新。订阅OpenSSL新闻日志,并确保在有新版本的任何时候进行升级.

如果您认为没有足够的资源或财力来保持OpenSSL安装的最新状态,请考虑使用托管托管服务,以便为您解决这些问题.

虚拟主机优惠券

寻找大量关于安全托管的信息?
SiteGround(在我们的读者中排名第一)提供免费的SSL证书和高级安全性。我们已为您节省了 67% 在这些受欢迎的计划上。使用此独家折扣链接
得到交易.

进一步阅读和资源

我们提供了更多与编程和计算机使用相关的指南,教程和信息图:

  • SOAP简介和资源:了解有关此重要消息传递协议的所有信息.
  • OAuth资源:此资源说明了OAuth如何允许不同的计算机应用程序相互通信.

Unix编程资源

计算机编程涉及很多方面,我们为您提供了一个学习的好地方:Unix编程资源.

网站站长工具A-Z的最终列表
Unix编程资源

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me