Python Openssl 生成证书2024 年 8 月 29 日 | 4 分钟阅读 引言自签名证书对于本地开发很有用,但我不建议在生产应用程序中使用。如果您想托管一个公共网站,获取一个可信赖的签名证书可能是更好的解决方案。 当使用自签名证书时,用户在第一次访问时会收到通知,告知您的网站使用的是不受信任的证书。您可以从 GoDaddy 等公司购买一个,或者从 Let's Encrypt 获取免费证书。 如果您只需要自签名证书用于个人使用或测试,请继续了解如何自己签名证书。 完成后,您将需要两个文件:“私钥文件”和“签名证书文件”。在配置 SSL/TLS 服务器时,这两个文件是必需的。私钥绝不能共享。 生成自签名证书以下步骤用于生成它
检查 OpenSSL 是否已安装要运行这些说明,您必须安装 OpenSSL。要查看它是否已安装,请在命令提示符中键入以下内容 如果收到版本号,则表示已安装。如果收到“无法识别的命令”错误,则必须安装它。Mac 上应该已经安装了,但您可以通过运行 brew 来安装较新版本。 在 Linux 中安装 OpenSSL1 Openssl 很可能已经在 Linux 上安装了。如果没有,您可以使用发行版的包管理器来安装它。例如,在 Debian/Ubuntu 系统上 在 Windows 中安装 OpenSSL 在 http://gnuwin32.sourceforge.net/packages/openssl.htm 下载 Windows 的 GPG 二进制文件。如果您看到有关 openssl 不是可识别命令的错误消息,您可能需要调整 PATH 环境变量以指向新的 openssl/bin 位置。 如果在 Windows 上启动 openssl 后看到以下错误消息 然后将环境变量 OPENSSL CONF 设置为默认(或自定义)openssl.cnf 文件的位置。如果您将 openssl 安装到 C:optopenssl,请按以下方式进行设置 生成私有的 RSA 密钥为了保护您的私钥,您可以选择有密码或无密码生成。您只需选择其中一个选项。这将生成一个“2048 位 RSA”私钥。 使用密钥生成证书签名请求 (CSR)使用上一步生成的私钥,我们必须创建一个证书签名请求。证书签名请求可以交互式地准备,也可以通过将附加的证书详细信息作为命令行参数传递来准备。只需选择其中一个选项。 使用密钥签名证书签名请求最后一步是使用私钥签名请求。在这种情况下,我们使用生成它的同一密钥来签名证书请求。这就是“自签名”一词的由来。 查看证书详细信息要查看证书的详细信息并验证信息,请运行以下命令 删除私钥的密码短语要查看证书的详细信息并验证信息,请运行以下命令 生成密钥和证书的单条命令我们之前回顾了创建自签名证书的步骤,包括生成密钥、编写证书签名请求以及使用同一密钥对其进行签名。 理解这一过程至关重要,但有一个更简单的方法可以在一步完成,而无需创建中间证书签名请求文件。 用于运行 HTTPS 服务器的 Python 脚本下面的代码演示了如何使用新创建的密钥和证书来启动一个简单的 HTTPS 服务器。运行脚本后,它将启动一个 Web 服务器,该服务器将提供当前目录的内容。 |
?在一个充满学生的教室里,至少有两个学生同名的可能性很高。我们如何称呼这些学生?我们将使用唯一标识每个人的姓氏或家族姓氏。在Python的对象教室中,...
阅读 10 分钟
本教程的问题陈述是,如果我们给定一个长度为 n 的已排序数组和一个整数 x,那么我们需要找到 x 在给定数组中的较低插入索引。任何元素的较低插入索引是...
5 分钟阅读
Python 中的 mechanize 模块是一个提供程序化网页浏览接口的库。它本质上是一个浏览器模拟器,允许您在 Python 脚本中自动化与网页的交互。该模块构建在 urllib2 模块之上,并支持...
阅读 16 分钟
Python 提供了最受欢迎的绘图库之一 Matplotlib。它是开源的、跨平台的,用于制作二维图表。它通常用于数据可视化和通过各种图表进行表示。Matplotlib 最初由 John D. Hunter 设计,...
5 分钟阅读
一个整数被称为 n 阶阿姆斯特朗数。当它每个数字被分离、立方并相加时,结果之和与该数字相同,(即,pqrs... = pn + qn + rn +...)
阅读 3 分钟
对于许多学习者来说,学习基于文本语言的语法是困难的。当程序中违反某些规则时,就会出现语法错误。因此,突出两种语言之间的相似点和对比点是很有帮助的。下面是一些Scratch块及其Python等价物。列表需要...
阅读 3 分钟
Python 中的 datetime 模块是标准库的一部分,它提供了用于处理日期和时间的类和函数。datetime 模块特别适用于以下任务:从字符串解析日期和时间 将日期和时间格式化为字符串 对日期和时间进行算术运算...
7 分钟阅读
Selenium 模块 Selenium 是 Python 提供的一个用于自动化测试的模块。它为使用 Selenium 驱动程序进行不同的功能测试提供了易于使用的 API。Selenium 是一个开源的 Python 框架,它提供用于使用 Selenium 编写功能测试的 API。它用于...
阅读 2 分钟
众所周知,Python 是一种面向对象的编程语言。因此,Python 遵循 OOP 的所有概念,其中一个概念就是继承。在使用继承概念时,我们可以在继承的类中使用 super() 函数来引用父类...
阅读 4 分钟
Boto3 是一个 Python 模块,允许开发人员以编程方式与亚马逊网络服务 (AWS) 资源进行交互。它提供了一个易于使用的 AWS 服务接口,使开发人员更容易构建与 AWS 服务交互的应用程序。使用 Boto3,开发人员可以在 AWS 上执行各种操作...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India