Javatpoint标志
Javatpoint标志

Python Openssl生成证书

介绍

自签名证书对本地开发很有用,但我不建议将其用于生产应用程序。如果您希望托管一个公共网站,获取一个可信的签名证书可能是一个较好的解决方案。

当使用自签名证书时,用户在第一次访问时将收到通知,您的站点正在使用不受信任的证书。你可以从GoDaddy这样的公司购买证书,或者从Let's Encrypt获得免费证书。

如果您只需要用于个人使用或测试的自签名证书,请继续了解如何对自己的证书进行签名。

完成后,您将需要两个文件:“私钥档案”和“已签名的证书文件”.配置SSL/TLS服务器时,需要这两个文件。私钥永远不应该被共享。

生成自签名证书

为了生成它,需要遵循以下步骤:

  • 生成私钥“RSA”。
  • 使用密钥生成“证书签名请求(CSR)”。
  • 该密钥必须用于签名(证书签名请求)。

检查OpenSSL是否已经安装:

要运行这些指令,必须安装OpenSSL。要查看它是否已经安装,在命令提示符中输入以下命令:

如果您获得了版本号,就表示已经安装了它。如果收到无法识别的命令错误,则必须安装它。它应该已经安装在mac电脑上,但你可以运行brew来安装一个新版本。

Linux1下安装OpenSSL:

Openssl很可能已经安装在Linux上。如果没有,您可以使用发行版包管理器来安装它。在基于Debian/ ubuntu的发行版中,例如:

在Windows下安装OpenSSL:

从http://gnuwin32.sourceforge.net/packages/openssl.htm下载Windows版本的GPG二进制文件。如果您看到关于openssl不是一个可识别的命令的错误消息,您可能需要调整PATH环境变量以指向新的openssl/bin位置。

如果在启动openssl(在Windows上)后看到以下错误通知:

然后将环境变量OPENSSL CONF设置为默认(或自定义)OPENSSL .cnf文件所在的位置。如果你安装openssl到C:optopenssl,设置如下:

生成RSA私钥:

为了保护您的私钥,您可以使用或不使用密码来生成它。您只需要从这些备选方案中选择一个即可。这将生成一个“2048位RSA”私钥。

使用密钥生成证书签名请求(CSR)

使用上一步中生成的私钥,我们必须创建一个证书签名请求。可以交互式地准备证书签名请求,也可以将其他证书详细信息作为命令行参数传递。只需选择其中一个选项即可。

用密钥对证书签名请求进行签名

最后一步是用私钥对请求签名。在本例中,我们使用生成证书请求的相同密钥对证书请求进行签名。这就是“自签名”一词的起源。

查看证书详细信息

使用实例查看证书的详细信息,并验证证书的有效性。

从私钥中删除密码短语:

使用实例查看证书的详细信息,并验证证书的有效性。

生成密钥和证书的单个命令

我们之前回顾了创建自签名证书所涉及的步骤,其中包括生成密钥、编写证书签名请求以及使用相同的密钥对其签名。

掌握这个过程至关重要,但是有一种更直接的方法可以在一个步骤中获得相同的结果,而不需要构造中间证书签名请求文件。

运行HTTPS服务的Python脚本

下面的代码演示了如何使用新创建的密钥和证书来启动一个简单的HTTPS服务器。当您运行脚本时,它将启动一个web服务器,该服务器将为当前目录提供服务。







Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map