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

本文章对应的文档:使用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.mzph.cn/news/635302.shtml

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

相关文章

zabbix监控扩展

目录 一、zabbix自动发现与自动注册 &#xff08;一&#xff09;理论定义 1.自动发现 2.自动注册 &#xff08;二&#xff09;实操部署 1.自动发现 &#xff08;1&#xff09;新增一台客户端命名为zbx-agent02 ① 配置时间同步 ② 在服务端和客户端上配置 hosts 解析 …

ZAB算法

什么是zab算法 zab协议全称为zookeeper atomic boradcast(原子广播协议) zab协议是借鉴Paxos的思想来实现的一种保证分布式架构中数据一致性的算法 zab的协议包含两种 一种是原子广播协议 一种是崩溃恢复协议 原子广播 原子&#xff1a;要么成功&#xff0c;要么失败&…

Swagger + Knife4j 接口文档的整合

Swagger 接口文档的整合&#xff1a; 引入依赖&#xff08;Swagger 或 Knife4j&#xff09;。自定义 Swagger 配置类。定义需要生成接口文档的代码位置&#xff08;Controller&#xff09;。注意&#xff1a;线上环境不要把接口暴露出去&#xff01;&#xff01;&#xff01;可…

C#操作pdf之使用itext实现01-生成一个简单的table

创建.net 8控制台项目 安装itext <PackageReference Include"itext" Version"8.0.2" /><PackageReference Include"itext.bouncy-castle-adapter" Version"8.0.2" /><PackageReference Include"itext.bouncy-cast…

企业级大数据安全架构(四)Ranger安装

作者&#xff1a;楼高 Ranger是支持审计功能的&#xff0c;安装时可以选择审计数据保存的位置&#xff0c;默认支持Solr和HDFS。HDFS的配置比较简单&#xff0c;这里就不赘述了&#xff0c;我们这里使用Ambari默认自带的Solr保存审计日志&#xff0c;下面部署Solr&#xff1a; …

MySQL基础笔记(8)多表查询

一.多表关系介绍 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也会存在着各种联系&#xff0c;分为如下3类&#xff1a; 一对…

探索设计模式的魅力:一篇文章让你彻底搞懂建造者模式

建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;旨在将一个复杂对象的创建过程与其表示分离&#xff0c;使得同样的构建过程可以创建不同的表示形式。 主要角色&#xff1a; 产品&#xff08;Product&#xff09;&#xff1a;表示正在构建…

论rtp协议的重要性

rtp ps流工具 rtp 协议&#xff0c;实时传输协议&#xff0c;为什么这么重要&#xff0c;可以这么说&#xff0c;几乎所有的标准协议都是国外创造的&#xff0c;感叹一下&#xff0c;例如rtsp协议&#xff0c;sip协议&#xff0c;webrtc&#xff0c;都是以rtp协议为基础&#…

springboot知识04

1、集成swaggershiro放行 &#xff08;1&#xff09;导包 &#xff08;2&#xff09;SwaggerConfig&#xff08;公共&#xff09; package com.smart.community.common.swagger.config;import io.swagger.annotations.ApiOperation; import org.springframework.beans.facto…

WordPress判断页面函数is_page()怎么使用?

平时我们在折腾 WordPress 的时候&#xff0c;经常需要用到 is_page()函数来判断是否属于页面&#xff0c;是否属于指定页面等。那么对于这个判断页面函数 is_page()应该怎么使用呢&#xff1f; is_page()函数介绍 is_page( int|string|array $page ) 其中$page&#xff0…

开发实践8_REST

一、Django REST Framework, Django View & APIView MTV模式实现前后端分离。Representational State Transfer 表现层状态转化。Representation 资源&#xff08;Resource a specific info. on net.&#xff09;具体呈现形式。ST 修改服务端的数据。修改数据 POST请求。…

java使用AES加密数据库解密

目录 前言代码加密&#xff08;AES&#xff09;sql解密 前言 在一些项目中&#xff0c;客户要求一方面把一些敏感信息进行加密存储到数据库中&#xff0c;另一方面又需要通过加密的信息进行查询&#xff0c;这时就需要在sql对加密的字段进行解密后再进行查询。 代码加密&#x…

力扣labuladong——一刷day95

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣225. 用队列实现栈二、力扣232. 用栈实现队列 前言 两种数据结构底层其实都是数组或者链表实现的&#xff0c;只是 API 限定了它们的特性&#xff0c;那…

数据结构与算法教程,数据结构C语言版教程!(第五部分、数组和广义表详解)二

第五部分、数组和广义表详解 数组和广义表&#xff0c;都用于存储逻辑关系为“一对一”的数据。 数组存储结构&#xff0c;99% 的编程语言都包含的存储结构&#xff0c;用于存储不可再分的单一数据&#xff1b;而广义表不同&#xff0c;它还可以存储子广义表。 本章重点从矩阵…

复现github项目的基本步骤

1. 克隆 GitHub 项目 找到项目仓库&#xff1a;在 GitHub 上找到你想复现的项目。 复制克隆链接&#xff1a;点击仓库页面的“Clone or download”按钮&#xff0c;复制提供的 URL。 克隆仓库&#xff1a;打开终端或命令提示符&#xff0c;使用以下命令克隆仓库&#xff1a; …

对多种股权激励方式进行分析,明确按照业绩贡献确定激励对象

一、背景 某生物创新材料有限公司创立于1990年&#xff0c;坐落于成都某高新技术产业开发区&#xff0c;是一家以研发、生产和销售医疗器械、医用高分子材料、生物技术等生物、能源方面的产品为主的大型企业&#xff0c;该公司与美国某科技研究所结成合作伙伴&#xff0c;研发出…

[python语言]数据类型

目录 知识结构​编辑 复数类型 整数类型、浮点数类型 1、整型 2、浮点型 字符与字符串 1、转义字符 2、字符串的截取 3、字符串的拼接级连 4、字符串的格式化 1、format格式化 2、字符格式化 3、f标志位格式化--(推荐) 5、字符串的常用属性 1、对字符串做出判断…

电脑上怎么进行pdf合并?这几招分分钟解决

电脑上怎么进行pdf合并&#xff1f;在现代办公中&#xff0c;PDF文件已经成为了我们处理文档的常用格式之一。有时候&#xff0c;我们需要将多个PDF文件合并成一个文件&#xff0c;以方便阅读或打印。那么&#xff0c;如何在电脑上进行PDF合并呢&#xff1f;下面就给大家介绍几…

yolov5 检测封装

yolov5 pytorch推理 检测封装 v7测试成功 import csv import os import platform import sys from pathlib import Pathimport numpy as np import torchFILE = Path(__file__).resolve() ROOT = FILE.parents[0] # YOLOv5 root directory if str(ROOT) not in sys.path:sys.p…

知识图谱的演进

目录 前言1 Memex&#xff1a;信息存储的雏形2 超文本和Web&#xff1a;链接的崛起3 Semantic Web&#xff1a;从文本链接到数据链接4 Linked Big Data&#xff1a;规范化的语义表示5 谷歌的知识图谱搜索引擎6 多种语义网/知识图谱项目结语 前言 随着人工智能和互联网的飞速发…