当前位置: 首页 > article >正文

什么是 OpenSSL?OpenSSL 如何工作?

正确实施 SSL 对网站的安全和成功至关重要。而且,由于许多网站所有者都是第一次了解 SSL,因此为他们配备所有必要的工具和实用程序至关重要。OpenSSL 就是这样一种工具。那么,什么是 OpenSSL?为什么它如此重要?

以下指南涵盖了此实用实用程序的各个方面,包括如何使用 OpenSSL和各种OpenSSL 命令进行轻松高效的 SSL 管理。

什么是 OpenSSL?

OpenSSL是一个开源软件库和命令行工具,用于实现安全通信的SSL和TLS协议。它提供加密功能,例如生成密钥和证书、加密数据和验证证书,使其成为互联网安全和服务器管理的必备工​​具。

OpenSSL 用于什么?

OpenSSL 是一个开源命令行工具,用于生成 CSR和私钥、安装 SSL 文件、合并和转换证书为不同的 SSL 格式、验证证书详细信息以及解决问题。它在管理和保护 SSL/TLS 实施方面发挥着至关重要的作用。

要在您的网站上安装 SSL 证书,您必须遵循一些强制性步骤,这些步骤对于任何服务器或电子邮件客户端都是相同的。当您没有 Web 控制面板或想要简化整个过程时,OpenSSL 特别方便。

由于并非所有服务器都提供用于 SSL 管理的 Web 用户界面,因此在某些平台上,OpenSSL 是导入和配置证书的唯一解决方案。

如何使用 OpenSSL

OpenSSL 的全部内容都是命令行。您所要做的就是学习一些常用的 OpenSSL 命令,随着每个新证书的出现,配置过程将变得更快、更轻松。

OpenSSL 于 1998 年首次发布,适用于 Linux、Windows、macOS 和 BSD 系统。大多数 Linux 发行版都预编译了 OpenSSL。

如何检查 Linux 上是否安装了 OpenSSL?

要检查您的 Linux 系统上是否安装了 OpenSSL,请使用以下命令。

对于使用 rpm 包的 GNU/Linux 发行版:

rpm -qa | grep -i openssl

对于使用 deb 包的 GNU/Linux 发行版:

dpkg -l | grep -i openssl

对于 Arch Linux 使用:

pacman -Q openssl

如何在 Windows 上使用 OpenSSL?

如果您使用的是 Windows 系统,您可以从这里下载 OpenSSL。

默认安装将在 C 盘上为该程序创建一个目录 -C:\OpenSSL-Win32

要运行该程序,请转到C:\OpenSSL-Win32\bin\目录并双击openssl.exe文件。将打开一个带有OpenSSL>提示符的文本窗口。

在此提示符下输入您需要的 OpenSSL 命令。您生成的文件将位于同一目录中。Windows 的 OpenSSL 命令与 Linux 服务器上使用的命令相同。

常用 OpenSSL 命令

下面我们为普通用户整理了一些常用的 OpenSSL 命令。您可以随时使用它们来生成或管理证书。

检查 OpenSSL 版本

了解您拥有的 OpenSSL 版本至关重要,因为它决定了您可以使用哪些加密算法和协议。您可以通过运行以下命令来检查您的 OpenSSL 版本:

openssl version –a

使用 OpenSSL 生成 CSR

您可以使用 OpenSSL 创建CSR(证书签名请求)代码。运行以下命令生成 CSR:

openssl req -new -key yourdomain.key -out yourdomain.csr

您还可以借助–subj开关在命令行内提交您的信息。

此命令将禁用问题提示:

openssl req -new -key yourdomain.key -out yourdomain.csr -subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"

或者,您可以通过CSR 生成器工具创建 CSR 。

使用 OpenSSL 生成私钥

要生成私钥,您需要指定密钥算法、密钥大小和可选密码。标准密钥算法是 RSA,但您也可以针对特定情况选择 ECDSA。选择密钥算法时,请确保不会遇到兼容性问题。在本文中,我们仅展示如何通过 RSA 算法生成私钥。

对于密钥大小,使用 RSA 密钥算法时应选择 2048 位,使用 ECDSA 算法时应选择 256 位。任何低于 2048 的密钥大小都不安全,而更高的值可能会降低性能。

最后,你应该决定是否需要为你的私钥设置密码。请注意,某些服务器不接受带有密码的私钥。

准备好生成私钥(使用 RSA 算法)后,运行以下命令:

openssl genrsa -out yourdomain.key 2048

此命令将在您的当前目录中创建yourdomain.key文件。您的私钥将采用PEM格式。

使用 OpenSSL 查看私钥信息

您可以通过以下命令查看私钥的编码内容:

cat yourdomain.key

使用 OpenSSL 解码私钥

要解码您的私钥,请运行以下命令:

openssl rsa -text -in yourdomain.key -noout

使用 OpenSSL 提取公钥

要从私钥中提取公钥,请使用以下命令:

openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key

使用 OpenSSL 立即创建您的私钥和 CSR

OpenSSL 功能非常多样,还有一个命令可以生成私钥和 CSR:

openssl req -out yourdomain.csr -new -newkey rsa:2048 -nodes -keyout yourdomain.key

此命令生成没有密码的私钥(-keyout yourdomain.key)和 CSR 代码(out yourdomain.csr)。

使用 OpenSSL 检查 CSR 信息

为了确保在向 CA 提交 CSR 之前提供了正确的信息,请运行以下命令:

openssl req -text -in yourdomain.csr -noout –verify

将 CSR 发送给 CA

运行以下命令,查看并复制CSR的全部内容:

cat yourdomain.csr

确保包含—–BEGIN CERTIFICATE REQUEST—–和—–END CERTIFICATE REQUEST—标签,并将所有内容粘贴到 SSL 供应商的订单中。

在 OpenSSL 中检查证书

在您的 CA 将 SSL 证书发送到您的收件箱后,请运行以下命令以确保证书的信息与您的私钥匹配。

openssl x509 -text -in yourdomain.crt –noout

这就是我们常见的 OpenSSL 命令列表。如果您愿意,可以研究所有 OpenSSL 命令。


http://www.kler.cn/a/507520.html

相关文章:

  • python爬虫爬取淘宝商品比价||淘宝商品详情API接口
  • 鸿蒙-点击Notification通知并打开App的具体页面
  • Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件
  • vue3+elementPlus之后台管理系统(从0到1)(day1)
  • Web3 时代,区块链与物联网的融合创新前景
  • 3.Qt Quick-QML地图引擎之v4.3版本(新增动态轨迹线/海图/天地图街道/天地图卫星)
  • hive连接mysql报错:Unknown version specified for initialization: 3.1.0
  • OpenCV入门学习
  • 讲一下ZooKeeper的持久化机制?
  • 【Linux】进程结束和进程等待
  • 银行卡 卡号展示隐藏****
  • 【大语言模型】ACL2024论文-38 从信息瓶颈视角有效过滤检索增强生成中的噪声
  • C# OpenCV机器视觉:极大值抑制
  • 销售团队如何选择销售业绩统计表模板?
  • PouchDB + Dexie.js:构建高效的离线优先同步方案
  • 《探索烟雾目标检测开源项目:技术与应用的深度剖析》
  • STM32网络通讯之LWIP下载移植项目设计(十六)
  • Thrustmaster Hotas Warthog飞行操作杆开发
  • [cg] glDrawBuffers MRT的应用
  • 【0x3D】HCI_Remote_Host_Supported_Features_Notification事件详解
  • 1.7 ChatGPT:引领AI对话革命的致胜之道
  • 冯康简介,中国有限元先驱
  • 基于HPM6750实现一个UVC和MSC的符合类设备
  • Flink CDC解决数据库同步,异常情况下增量、全量问题
  • Vue前端框架概述
  • 数据持久层:构建应用程序与数据源的桥梁