首页 > 其他分享 >openssl生成ssl证书

openssl生成ssl证书

时间:2023-10-09 16:57:59浏览次数:40  
标签:私钥 pem 证书 openssl 生成 ssl key

参考:https://www.ihuyi.com/pd/ssl/opensslshengchengsslzhengshu.html
SSL证书是网站安全的基石,为了保证网站数据传输的安全性,需要使用SSL证书。而在实际项目中,通常选用 openssl 命令来生成 SSL 证书。通过 openssl 生成 SSL 证书可以提高网站的安全性和用户的信任度。在下面的内容中,我们将对 openssl 证书的生成流程进行一一介绍。
以下生成ssl证书使用的操作系统为CentOS操作系统7.9

  1. 生成私钥
    在使用openssl生成ssl证书之前,我们需要先生成私钥,可以使用如下命令生成私钥
openssl genrsa -out key.pem 2048

image
在这个命令中,我们使用了 genrsa 子命令,并且设置了输出文件的名称,以及私钥的长度为 2048。运行此命令会在当前文件夹中生成一个 key.pem 文件,这个文件就是我们所需要的私钥文件。

注意: 生成的私钥长度如果设置的过小例如1024则在配置某些应用时会提示密钥太短类似于"ee key too small "修改长度重新生成即可

  1. 生成证书请求
    有了私钥之后,我们就可以生成证书请求了。在使用 openssl 生成证书请求时,可以按照以下命令行来执行:
openssl req -new -key key.pem -out csr.pem

在这个命令中,我们使用 req 子命令,并且按照要求设置了私钥和输出文件名。在生成证书请求时,需要输入一些信息,比如你的城市,国家等信息,请根据需求填写相应的信息。
image

注意: 国家城市信息可以随意填写不影响使用

  1. 签名证书请求
    生成证书请求后,我们需要将证书请求发送给证书颁发机构进行签名。为了在服务器上轻松地创建自签名的 SSL 证书,我们可以使用类似如下的命令或使用 CA 来签署证书请求:
openssl x509 -req -in csr.pem -out cert.pem -signkey key.pem -days 365

在这个命令中,我们使用了 x509 命令,并且指定了证书请求文件名和输出文件名。我们还使用了 -signkey 选项来指定要使用的私钥文件,以便签署证书。最后需要指定 -days 选项均是附带了,控制证书的有效期。
这些选项组合将使用我们之前生成的私钥来签署证书请求,并将其输出到我们指定的文件 cert.pem 中。
5. 配置服务器
在拥有 SSL 证书之后,我们需要将其配置到服务器当中。不同的 Web 服务器和操作系统可能需要不同的配置方式。在这里以 Nginx 服务器作为例子,以简单介绍如何启用 HTTPS。

首先,请将服务器的私钥和证书文件(key.pem 和 cert.pem)上传到服务器上。

然后,请在 Nginx 的配置文件中添加以下内容:


server {

listen 443;

server_name your-domain.com;

ssl on;

ssl_certificate /path/to/cert.pem;

ssl_certificate_key /path/to/key.pem;

# other server configurations…

}

其中,在 ssl_certificate 中指定证书文件的路径(cert.pem),在 ssl_certificate_key 中指定私钥文件的路径(key.pem)。之后重启 Nginx 服务器即可启用 HTTPS。
在实际项目中,使用 openssl 工具来生成 SSL 证书是最为常见的一个方法。通过以上的介绍,大家可以了解到 openssl 证书的生成步骤,并能够轻松地将证书配置到自己的 Web 服务器上,确保网站的数据传输安全,提升用户的信任度。

配置好Nginx后即可使用https://ip 进行访问了
image

注意: 因为是自建证书,浏览器会提示不安全,测试使用不用理会

标签:私钥,pem,证书,openssl,生成,ssl,key
From: https://www.cnblogs.com/minseo/p/17752138.html

相关文章

  • [Microsoft Azure] 如何查看 Azure App Services 的根证书 Windows
    在本文中,我们将介绍如何在Windows操作系统中查看AzureAppServices的根证书,以确保您的应用程序可以安全地与云服务通信。在当今的互联网环境中,安全性是至关重要的。为了确保您的应用程序与云服务之间的通信安全可靠,了解如何查看和管理根证书非常重要。本文将为您介绍如何在......
  • OpenSSL 密码软件库学习
    说明:本次的密码算法采用C++编写,使用clion开发平台,Cmake编译配置工具;通过集成OpenSSL密码软件库,实现加解密功能。1对称加解密(AES)1.1AES简介:  AES(AdvancedEncryptionStandard)是分组密码,每组的长度相同,为128位,即16个字节。密钥长度可以使用128位,192位或256位。密钥长度不同......
  • SSL证书是什么?1分钟get
    在当今互联网世界中,保护数据的完整性和隐私性至关重要,由此,在网络数据安全保护领域,作为保护网络传输数据安全的SSL证书越来越频繁出现。那么你知道SSL证书是什么?SSL证书有哪些类型?SSL证书有什么用吗?花上1分钟,快速了解一下SSL证书吧!SSL证书是什么?SSL证书(SecureSocketLayerCertif......
  • 创建私有CA并进行证书申请
    1、创建CA所需要的证书​#生成证书索引数据库文件[root@centos8~]#mkdir/etc/pki/CA[root@centos8~]#touch/etc/pki/CA/index.txt​#指定第一个颁发证书的序列号[root@centos8~]#echo01>/etc/pki/CA/serial​2、生成CA私钥[root@centos8CA]#mkdirprivate[root@centos8......
  • 使用SSL证书加密微软远程桌面(本地部署证书)
    之前用微软的远程桌面,但未加密,总感觉差点意思,然后找到了一个大佬的技术教程,亲测可以用,这里做一下备份引用。原作者:李YD原文章:https://blog.csdn.net/a549569635/article/details/48831105/ ......
  • openssl创建证书
    安装brewinstallopenssl使用root@MACdeMBPrem_key#opensslreq-x509-newkeyrsa:4096-keyoutkey.pem-outcert.pem-days365Generatinga4096bitRSAprivatekey................................................................................................
  • python3 番外篇之pyenv安装python遇到的ssl问题
    最近在学爬虫,在Linux中通过pyenv安装3.9.10,安装时也没有问题,问题就出在安装完requests模块后,引用requests模块报错。(reptile)root@localhost:/data/reptile#pythonPython3.9.10(main,Aug102023,01:32:05)[GCC7.3.0]onlinuxType"help","copyright","credits"......
  • GroovyClassLoader的简单使用
    前言GroovyClassLoader也是Java的一个类加载器实现,它可以将一段源码解析为Class。xxl-job中的GlueFactory就使用了此类加载器来支持GLUE运行模式(任务以源码方式维护在调度中心,支持通过WebIDE在线更新,实时编译和生效,因此不需要指定JobHandler)。使用添加maven依赖<dep......
  • CNVD原创漏洞证书(五)(六)
    新华三命令执行漏洞明御网关命令执行漏洞......
  • Go每日一库之154:eCapture(无需CA证书抓包https)
    eCapture介绍eCapture是一款基于eBPF技术实现的用户态数据捕获工具。不需要CA证书,即可捕获https/tls的通讯明文。项目在2022年3月中旬创建,一经发布,广受大家喜爱,至今不到两周已经1200多个Star。作用不需要CA证书,即可捕获HTTPS/TLS通信数据的明文。在bash审计场景,可以捕获ba......