【全】OpenSSL创建生成CA证书、服务器、客户端证书及密钥说明

news2024/11/15 20:34:57
本文章对应的文档:使用OpenSSL创建生成CA证书服务器客户端证书及密钥资源-CSDN文库

https://download.csdn.net/download/weixin_41885845/88746920

对于SSL单向认证

服务器需要CA证书、server证书、server私钥,客户端需要CA证。

对于SSL双向认证

服务器需要CA证书、server证书、server私钥,客户端需要CA证书,client证书、client私钥。

 

生成CA证书

私钥生成指令: openssl genrsa

该命令是会用来生成 RSA 私有秘钥,不会生成公钥,因为公钥提取自私钥。

openssl  genrsa [-out filename] [-passout arg] [-f4] [-3] [-rand file(s)] [-engine id] [numbits] [-des] [-des3] [-idea]

-des            encrypt the generated key with DES in cbc mode

 -des3           encrypt the generated key with DES in ede cbc mode (168 bit key)

 -idea           encrypt the generated key with IDEA in cbc mode

 -seed

                 encrypt PEM output with cbc seed

 -aes128, -aes192, -aes256

                 encrypt PEM output with cbc aes

 -camellia128, -camellia192, -camellia256

                 encrypt PEM output with cbc camellia

 -out file       output the key to 'file

 -passout arg    output file pass phrase source

 -f4             use F4 (0x10001) for the E value

 -3              use 3 for the E value

 -engine e       use engine e, possibly a hardware device.

 -rand file:file:...

                 load the file (or the files in the directory) into

                 the random number generator

-des             使用des cbc模式对私钥文件进行加密。

-des3            使用des3 cbc模式对私钥文件进行加密。

-idea            使用idea cbc模式对私钥文件进行加密。

-aes128, -aes192, -aes256               使用aes cbc模式对私钥文件进行加密。

-out file        指定输出私钥文件名。

-f4                        指定F4做为E值,默认。

-3                        指定3做为E值。

-seed arg             指定cbc的随机种子。

-rand file:file 指定随机数种子文件。

———————————————————————————————————————

-out filename :将生成的私钥保存至filename文件,若未指定输出文件,则为标准输出。

                                    

-numbits :指定要生成的私钥的长度(单位 bit),默认为1024。该项必须为命令行的最后一项参数。

-des|-des3|-idea:指定加密私钥文件用的算法,这样每次使用私钥文件都将输入密码,太麻烦所以很少使用。

-passout args :加密私钥文件时,传递密码的格式,如果要加密私钥文件时单未指定该项,则提示输入密码。传递密码的args的格式见openssl密码格式。

测试

1、 openssl genrsa -seed -out rs_pri.pem 512

 

2、 openssl genrsa -aes256 –out rs_pri.key 512

 

3、 openssl genrsa -des3 -out test.key  -rand hello.txt 512

 

4 、openssl genrsa -des -passout pass:"123456" -out prikey.pem 1024

请求CA证书(先创建CA证书私钥)

C-----国家(Country Name)

ST----省份(State or Province Name)

L----城市(Locality Name)

O----公司(Organization Name)

OU----部门(Organizational Unit Name)

CN----产品名(Common Name)

emailAddress----邮箱(Email Address)

req指令

主要用于创建证书请求文件;

openssl req [options] <infile> outfile

-inform arg              指定输入文件格式,可以为DER或PEM,默认为PEM。

-outform arg              指定输出文件格式,可以为DER或PEM,默认为PEM。

-in arg                     指定输入文件。

-out arg                      指定输出文件。

-new                          创建新的证书请求文件。

-key file                   指定创建证书请求的私钥文件。

-keyform arg              指定创建证书请求的私钥文件的格式,可以为DER或PEM,默认为PEM。

-passin arg              指定私钥文件的口令保护来源。

-verify                      校验证书请求文件的主体签名是否有效。

-noout                        不打印证书请求信息。

-text                           文本打印证书请求文件。

-modulus                    输出证书请求的模数信息。

-subject                      输出证书请求主体信息。

-subj arg                     设置或修改证书请求的主体信息。

-multivalue-rdn   设置或修改证书请求的主体信息时,允许多RDN格式。

-utf8                           输入字符为utf8编码,默认输入为ASCII编码。

-[digest]                     指定创建证书请求的摘要算法。

-pubkey                      提取证书请求文件中的公钥。

x509指令

主要用于创建、修改x509证书。

openssl x509 [options] <infile >outfile

-inform arg                 指定输入文件格式,可以为DER或PEM,默认为PEM。

-outform arg              指定输出文件格式,可以为DER或PEM,默认为PEM。

-keyform arg              指定私钥文件格式,可以为DER或PEM,默认为PEM。

-CAform arg               指定CA文件格式,可以为DER或PEM,默认为PEM。

<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1391063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端下载文件流,设置返回值类型responseType:‘blob‘无效的问题

前言&#xff1a; 本是一个非常简单的请求&#xff0c;即是下载文件。通常的做法如下&#xff1a; 1.前端通过Vue Axios向后端请求&#xff0c;同时在请求中设置响应体为Blob格式。 2.后端相应前端的请求&#xff0c;同时返回Blob格式的文件给到前端&#xff08;如果没有步骤…

48 分布式id的生成策略

1.UUID 1.UUID (Universally Unique Identifier)&#xff0c;通用唯一识别码。UUID是基于当前时间、计数器&#xff08;counter&#xff09;和硬件标识&#xff08;通常为无线网卡的MAC地址&#xff09;等数据计算生成的。UUID由以下几部分的组合&#xff1a; 1.当前日期和时…

如何在内存中绘制透明位图

如何在内存中绘制透明位图 如何绘制透明位图&#xff1f;这类文章网上有很多&#xff0c;都是同一个套路&#xff0c;当然也包括我这篇&#xff01; 不同的是&#xff0c;我重新整理了代码&#xff0c;见“ysouyno/t_transparent_memory_dc”。同时附上完整的工程“t-transpa…

leetcode82. 删除排序链表中的重复元素 II

文章目录 题目思路1复杂度Code2 思路2复杂度2Code2 题目 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;…

已实现:JS如何根据视频的http(s)地址,来截取帧图片,并实现大图压缩的功能

现在&#xff0c;我们已经有了视频的http地址&#xff0c;我们怎么截取帧图片呢&#xff1f;我以Vue为基础架构&#xff0c;来写写代码。 1、先写布局&#xff0c;先得有video&#xff0c;然后得有canvas <video id"videoPlay" style"width: 100%; height:1…

23号资源——电力系统程序集合已提供下载资源

23号资源&#xff1a;程序集合包含9个程序&#xff08;经典电力系统经济调度程序&#xff1b;2解决带储&#xff1b;3智能微电网PSO优化算法&#xff1b;微电网调度等等&#xff0c;见资源描述&#xff09;资源-CSDN文库https://download.csdn.net/download/LIANG674027206/887…

VC++中使用OpenCV对原图像中的四边形区域做透视变换

VC中使用OpenCV对原图像中的四边形区域做透视变换 最近闲着跟着油管博主murtazahassan&#xff0c;学习了一下LEARN OPENCV C in 4 HOURS | Including 3x Projects | Computer Vision&#xff0c;对应的Github源代码地址为&#xff1a;Learn-OpenCV-cpp-in-4-Hours 视频里面讲…

【计算机网络】第七,八,九章摘要重点

第七章网络管理 1.计算机网络面临的两大威胁&#xff1f; 恶意程序有&#xff1a;计算机病毒&#xff0c;计算机蠕虫&#xff0c;特洛伊木马&#xff0c;逻辑炸弹&#xff0c;后门入侵和流氓软件。 2.安全的计算机网络四个目标&#xff1a; 机密性&#xff0c;端点鉴别&…

VMware虚拟机自定义网段及物理机ping不通虚拟机问题解决

Vmware网络介绍&#x1f6dc; VMware虚拟机提供了几种网络模式&#xff0c;其中包括桥接模式&#xff08;Bridged Mode&#xff09;、NAT模式&#xff08;Network Address Translation Mode&#xff09;和仅主机模式&#xff08;Host-Only Mode&#xff09;。这些模式允许虚拟…

如何在亚马逊 SageMaker 进行 Stable Diffusion 模型在线服务部署

文章目录 前言 - 浅谈 AIGCAIGC - 引领人工智能走向春天春天里盛开的 AI 绘画AI 绘画之Stable Diffusion 2.0 登场人人都有机会成为前沿的技术探索者 基于Amazon SageMaker进行Stable Diffusion 模型部署认识 Amazon SageMaker借助 Amazon SageMaker 进行环境搭建和模型推理1. …

go语言初探(一)

package mainimport ("fmt""time" )func main() {fmt.Print("hello go!")time.Sleep(1 * time.Second)}运行后&#xff0c;结果如下&#xff1a; 1、golang表达式中&#xff0c;加&#xff1b;和不加&#xff1b;都可以 2、函数的{和函数名一…

【前端架构】前端通用架构

一个强大的前端通用架构应该具备多种能力&#xff0c;以支持现代化的应用程序开发和提高开发效率。以下是一些前端通用架构应该具备的关键能力&#xff1a; 模块化和组件化&#xff1a;支持模块化开发和组件化架构&#xff0c;能够将应用拆分为独立的模块和组件&#xff0c;以便…

逻辑回归(解决分类问题)

定义&#xff1a;逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模&#xff0c;预测一个事件发生的概率。逻辑回归通常用于二元分类问题&#xff0c;即将数据分为两个类别。它基于线性回归模型&#xff0c;但使用了逻辑函数&#xff08;也称为S形函数&…

【动态规划】【C++算法】639 解码方法 II

作者推荐 【矩阵快速幂】封装类及测试用例及样例 涉及知识点 动态规划 字符串 滚动向量 LeetCode 639. 解码方法 II 一条包含字母 A-Z 的消息通过以下的方式进行了 编码 &#xff1a; ‘A’ -> “1” ‘B’ -> “2” … ‘Z’ -> “26” 要 解码 一条已编码的消息…

【VTKExamples::PolyData】第四期 DijkstraGraphGeodesicPath

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例DijkstraGraphGeodesicPath,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. DijkstraGraphGeodesicPath /…

element plus 可选择树形组件(el-tree) 怎样一键展开/收起?实现方法详解

实现代码&#xff1a; 按钮&#xff1a; <el-button click"takeall" style"height: 24px">{{zhanstatus % 2 ! 0 ? "收起所有" : "展开所有"}} </el-button> 组件&#xff1a; <el-form-item label"可选择菜单…

Kafka系列(四)

本文接kafka三&#xff0c;代码实践kafkaStream的应用&#xff0c;用来完成流式计算。 kafkastream 关于流式计算也就是实时处理&#xff0c;无时间概念边界的处理一些数据。想要更有性价比地和java程序进行结合&#xff0c;因此了解了kafka。但是本人阅读了kafka地官网&#…

32单片机RTC时间接续,掉电时间保存

1、实现思路 前提&#xff1a;首先要实现RTC掉电之后时间还能继续走&#xff0c;RTC电池是必要的 说明&#xff1a;设备第一次启动需要初始化配置RTC&#xff0c;但当二次启动再重新配置RTC会导致RTC计数器置零&#xff0c;所以传统的程序流程是不行的&#xff0c;我们需要知…

苹果最新系统iOS 17的调试和适配方法 - Xcode 14.3.1 真机调试指南

最近苹果发布了iOS 17作为其最新操作系统版本&#xff0c;作为开发者&#xff0c;你可能需要了解如何在Xcode 14.3.1中进行真机调试和适配。本文将为你详细介绍步骤和注意事项。 I. 检查Xcode版本 在开始之前&#xff0c;确保你已经安装了Xcode 14.3.1或更高版本。你可以在Xco…

计算机网络(超详解!) 第二节 数据链路层(上)

1.数据链路层使用的信道 数据链路层使用的信道主要有以下两种类型&#xff1a; 1.点对点信道&#xff1a;这种信道使用一对一的点对点通信方式。 2.广播信道&#xff1a;这种信道使用一对多的广播通信方式&#xff0c;因此过程比较复杂。广播信道上连接的主机很多&#xff0…