openssl生成ca证书流程

2024-08-28 09:18
文章标签 流程 生成 证书 ca openssl

本文主要是介绍openssl生成ca证书流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

测试环境可自签ssl证书,使服务可以使用https进行访问
先说总体流程,下面再说具体的实施步骤
场景:用户a想申请ssl证书,在此场景有两个角色,用户a,证书颁发机构;所以待会儿使用openssl生成证书的时候,就要构造证书颁发机构,同时也要构建用户请求证书信息向证书颁发机构申请ssl证书
总体流程:
构造证书颁发机构:
1.生成根证书私钥(pem文件)
2.生成根证书签发申请文件(csr文件)
3.自签发根证书(cer文件)
用户申请证书:
1.生成用户证书私钥(pem文件)
2.生成用户证书签发申请文件(csr文件)
3.使用跟证书签发生成用户证书(cer文件)

具体步骤
构造证书颁发机构:
1.检查openssl版本,centos8.3已默认自带

openssl version

在这里插入图片描述
2.生成根证书私钥(pem文件),也可以为.key文件,都一样,但是每次运行命令生成的不一样

openssl genrsa -out root.pem 2048

2.生成根证书签发申请文件(csr文件)

直接输入生成:

openssl req -new -sha256 -out root.csr -key root.pem

在这里插入图片描述
指定配置文件生成:
在这里可以新建一个配置文件,写一些默认值,里面的配置可以参照/etc/pki/tls/openssl.cnf里的配置文件进行修改

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name[ req_distinguished_name ]
countryName                 = Country Name (2 letter code)
countryName_default         = CN
stateOrProvinceName         = State or Province Name (full name)
stateOrProvinceName_default = guangdong
localityName                = Locality Name (eg, city)
localityName_default        = guangzhou
organizationName            = Organization Name (eg, company)
organizationName_default    = mycomp
commonName                  = Common Name (e.g. server FQDN or YOUR name)
commonName_max              = 64
commonName_default          = Ted CA Test
#指定配置文件生成
openssl req -new -sha256 -out root2.csr -key root.pem -config ca.conf

在这里插入图片描述
3.自签发根证书(cer文件)

openssl x509 -req -in root.csr -out root.cer -signkey root.pem -days 365

用户申请证书:

1.生成用户证书私钥(pem文件)

openssl genrsa -out user.pem 2048

2.生成用户证书签发申请文件(csr文件)

openssl req -new -sha256 -out user.csr -key user.pem

3.使用跟证书签发生成用户证书(cer文件),将user.csr文件发往ca机构签发证书

openssl x509 -req -days 365 -CA root.cer -CAkey root.pem -CAcreateserial -in user.csr -out user.cer

在这里插入图片描述
至此我们已经签发了一个客户端申请的user.cer证书

最后我们导出证书文件为keystore文件

openssl pkcs12 -export -clcerts -name usercer -inkey user.pem -in user.cer -out user.keystore

需要输入之前生成证书请求文件时设置的密码:
在这里插入图片描述
参数含义如下:

pkcs12——用来处理pkcs#12格式的证书

-export——执行的是导出操作

-clcerts——导出的是客户端证书,-cacerts则表示导出的是ca证书

-name——导出的证书别名

-inkey——证书的私钥路径

-in——要导出的证书的路径

-out——输出的密钥库文件的路径

参考博客:OpenSSL生成根证书CA及签发子证书
OpenSSL命令大全,CA证书生成,客户端证书生成实例

这篇关于openssl生成ca证书流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114352

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景