openssl 生成CA及相关证书
实验环境:ubuntu18.04-desktop
获取openssl.cnf配置文件
# 这个返回的路径,不一定被使用了(经测试,ubuntu18下的openssl似乎未加载任何配置文件)
openssl version -d
生成私钥文件(pem)
# 生成私钥
# genrsa:生成RSA秘钥
# 2048:密钥长度为2048比特
# -out:私钥文件路径名
openssl genrsa -out ca_private.pem 2048
# 生成私钥,且加密
# -aes256:使用aes256对私钥进行加密
openssl genrsa -aes256 -out ca_private.pem 2048
生成根证书签发申请文件(csr)
# req:证书签发请求命令
# -new:是 req 子命令的选项之一,表示创建一个新的 CSR。
# -key:指定私钥文件。
# -out:输出文件路径名
openssl req -new -key ca_private.pem -out ca_csr.pem
签发x509证书
未指定签发者(CA)证书(自签名)
# x509:证书格式为X.509
# -req:证书签发请求命令
# -days:证书有效期(天)
# -sha1:证书摘要签名算法
# -signkey:签名使用的私钥文件
# -in:证书签发申请文件(csr文件)
# -out:输出文件路径名
openssl x509 -req -days 365 -sha1 -signkey ca_private.pem -in ca_csr.pem -out ca_x509.cer
# -extfile:使用指定配置文件(ubuntu18下似乎默认未加载配置文件)
# -extensions:使用指定扩展块(扩展块内可以指定:“basicConstraints = critical,CA:true”)
openssl x509 -req -days 365 -sha1 -signkey ca_private.pem -in ca_csr.pem -out ca_x509.cer -extfile /etc/ssl/openssl.cnf -extensions v3_ca
指定CA签发证书
# -CA:CA机构自己的证书(也可以是多级签发时的中间CA)
# -CAkey:CA机构的私钥
# -CAcreateserial:创建证书序列号文件。该序列号在经由CA颁发的证书中是全局唯一的,可以唯一标识一个证书;创建的序列号文件默认名称为“CA证书名.srl”
openssl x509 -req -days 365 -sha1 -CA ../ca/ca_x509.cer -CAkey ../ca/ca_private.pem -in server_csr.pem -CAcreateserial -out server_x509.cer
验证证书
openssl verify -CAfile ./ca/ca_x509.cer ./server/server_x509.cer
查看证书详细信息
openssl x509 -in ./server/server_x509.cer -noout -text
PKCS#12
生成pkcs#12
# 将私钥和x509证书导出为pkcs#12格式
openssl pkcs12 -export -inkey private_key.key -in myca_computer.com.cer -out computer.p12
# 将私钥和x509证书和证书链导出为pkcs#12格式
openssl pkcs12 -export -inkey private_key.key -in myca_computer.com.cer -chain -CAfile ca.pem -out server.p12
导出私钥
# 导出私钥,会先询问p12的加密密码,再要求设置导出的私钥加密密码
openssl pkcs12 -in x509_private.pfx -nocerts -out p12_expory_private.key
# 不设置私钥加密密码
openssl pkcs12 -in x509_private.pfx -nocerts -out p12_expory_private.key -nodes
导出X509
openssl pkcs12 -in x509_private.pfx -nokeys -clcerts -out x509.pem
导出证书链
openssl pkcs12 -in x509_private.pfx -nokeys -out cert_chain.pem
导出所有到一个文件
openssl pkcs12 -in x509_private.pfx -nodes -out all-in-one.pem
相关参考
如何制作自签名证书
OpenSSL与证书(三)PKCS#12证书
相关文章:
openssl 生成CA及相关证书
实验环境:ubuntu18.04-desktop 获取openssl.cnf配置文件 # 这个返回的路径,不一定被使用了(经测试,ubuntu18下的openssl似乎未加载任何配置文件) openssl version -d生成私钥文件(pem) # 生成私钥 # genrsa…...
App测试之App日志收集及adb常用命令
文章目录 前言一、adb是什么1.APP测试收集手机日志常用的工具2.adb下载与安装3.ADT/SDK/ADB是什么4.adb连接真机 二、adb常用命令三、android系统日志文件1.logcat日志文件2.logcat日志文件分析 四、分析crash & ANR 日志1.发生crash如何分析2.发生ANR如何分析 总结扩展&am…...
【Java面试——并发基础、并发关键字】
3.1 并发基础 Java 并发 - 理论基础Java 并发 - 线程基础 多线程的出现是要解决什么问题的? 本质什么? CPU、内存、I/O 设备的速度是有极大差异的,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都…...
如何使用 Java 在Excel中创建下拉列表
下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率。在MS Excel中,我们可以通过 “数据验证” 提供的选项来创建下拉列表,但如果要在Java程序中…...
Python安装步骤介绍
本文将介绍Python安装的详细步骤如下: 下载 python安装 python配置环境变量(安装时勾选配置环境变量的则无需此步骤) 一、python下载 官网:Download Python | Python.org 根据电脑位数下载所需的版本 二、Python安装 1.打开安…...
学习80min快速了解大型语言模型(ChatGPT使用)笔记
学习李宏毅:80min快速了解大型语言模型(ChatGPT使用)笔记 链接:https://www.youtube.com/watch?vwG8-IUtqu-s 1、创建一个属于自己的GPT 目前,GPT4具备一个功能,Create a GPT。利用这个功能可以创建一个…...
SQL错题集1
1.找出选修课程成绩最差的选课记录 注: 聚合函数只能用在group by和()括号中 找最值可用排序order bylimit 1 2. 查询选修成绩 合格的课程 超过2门的 学生编号 3.删除姓名为"LiMing"的学生信息 注: 删除一整行信息&…...
uniapp运行到安卓基座app/img标签不显示
img是html中的标签,他也是一个单标签 image属于服务器控件,是个双标签 问题:uniapp运行到app安卓基座后图片无法显示 原因:自己使用了img标签,而且输入路径无提示,img标签导致图片不显示 解决ÿ…...
vscode非常好用的扩展插件
1、Code Spell Checker: 帮助我们检查单词是否拼写错误,检查规则遵循驼峰拼写法。 2、Color Highlight:高亮显示颜色值 3、Svg Preview: 实时预览svg图片(修改width、height、fill等值来实时查看效果) 4、…...
一文弄懂BFS【广度优先搜索(Breadth-First Search)】
BFS,全名为广度优先搜索(Breadth-First Search),是一种用于图或树的遍历或搜索的算法。它的主要思想是由节点自身开始向它的邻居节点新进展开搜索,因此也常被形象地称为“层序遍历”。 BFS 基本思想 BFS 工作原理是,从开始节点开…...
深度学习记录--logistic回归函数的计算图
计算图用于logistic回归函数 先回顾一下单一样本的logistic回归损失函数的公式,公式如下: 将logistic函数用计算图表示出来(以两个基础量为例),计算图如下: 前向传播已经完成,接下来完成后向传播 运用链式法则依次求…...
Java基本数据类型详解
✨个人主页:全栈程序猿的CSDN博客 💨系列专栏:Java从入门到精通 ✌座右铭:编码如诗,Bug似流星,持续追求优雅的代码,解决问题如同星辰般自如 Java是一种强类型语言,数据类型在程序中起…...
第十五届蓝桥杯模拟赛(第二期)
大家好,我是晴天学长,本次分享,制作不易,本次题解只用于学习用途,如果有考试需要的小伙伴请考完试再来看题解进行学习,需要的小伙伴可以点赞关注评论一波哦!后续会继续更新第三期的。Ǵ…...
命令模式-C++实现
命令模式是一种行为型设计模式,它将请求封装成一个对象,从而能使你可以用不同的请求对客户端进行参数化。该模式允许请求的发送者和接收者进行解耦,发送者不需要知道接收者的信息,只需要通过命令对象来与它进行交互。 命令模式有…...
3dMax拼图生成工具Puzzle2D使用教程
Puzzle2D for 3dsMax拼图生成工具使用教程 Puzzle2D简介: 2D拼图随机生成器(英文:Puzzle2D) ,是一款由#沐风课堂#用MAXScript脚本语言开发的3dsMax建模小工具,可以随机创建2D可编辑样条线拼图图形。可批量…...
git报错invalid object xxx和unable to read tree xxxxxx
电脑出问题了,导致git仓库像是被损坏了一样,执行git status就会报错unable to read ree,无法正常提交代码至仓库,原因是本地代码仓库.git文件损坏了,无法找到正确的提交历史和路径。 找到了一个解决办法: …...
会泽一村民上山放羊吸烟引发森林火灾,AI科技急需关注
2023年4月,会泽县古城街道厂沟村委会望香台山林中发生了一场由疏忽引发的森林火灾。张某某在放羊时未完全熄灭烟头,导致7.33公顷的林地和草地被焚毁,直接经济损失高达29.097万元。这一事件再次凸显了日常生活中的安全隐患。 在这一背景下&…...
docker-compose部署zabbix+grafana
1.引言 1.1目的 zabbixgrafana实现图形化监控 2.部署环境 服务器ip服务版本192.168.5.137zabbix-server6.0.21192.168.5.137grafana10.2.2192.168.5.152zabbix-client6.0.21 3.部署zabbix-server 3.1 创建zabbix目录 mkdir zabbix3.2 编写docker-compose文件 cd zabbix…...
ios 逆向分分析,某业帮逆向算法(二)
接上讲 上次hook 发现自己的数据有点问题。才发现是自己的编辑器识别出问题了。 上篇sub_1029B6898函数hook数据如下: [iOS Device::作业帮 ]-> arg2: 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 00000000 37 32 65 64 38 31 32 38…...
openCv颜色矩
颜色矩(Color Moments)是一种常用的图像特征描述方法,用于表示图像中颜色的分布和统计特征。它是基于图像的颜色直方图而计算得到的。 颜色矩通常包括三个维度:平均值、方差和偏度。具体来说: 平均值(Mean…...
如何用Matplotlib打造faceai人脸识别可视化分析工具:10个实用技巧
如何用Matplotlib打造faceai人脸识别可视化分析工具:10个实用技巧 【免费下载链接】faceai 一款入门级的人脸、视频、文字检测以及识别的项目. 项目地址: https://gitcode.com/gh_mirrors/fa/faceai faceai是一款功能强大的入门级人脸识别与视觉分析开源工具…...
别再乱用`define了!SV宏定义实战避坑指南(从`ifdef到字符串拼接)
别再乱用define了!SV宏定义实战避坑指南(从ifdef到字符串拼接) 在SystemVerilog开发中,宏定义(define)是提高代码复用性和灵活性的利器,但同时也是隐藏最深的"代码地雷"之一。许多开发…...
OLAP引擎全景图鉴:从架构原理到场景适配,深度解析Impala/Druid/Presto/Kylin/ClickHouse的选型之道
1. OLAP技术全景解析:从基础概念到架构分类 当你打开手机查看每日步数统计,或是浏览电商平台的年度消费报告时,背后支撑这些数据分析的正是OLAP技术。OLAP(在线分析处理)就像一位不知疲倦的数据分析师,能够…...
避开这些坑!用Python做模糊控制项目时,关于隶属函数和规则表的5个常见误区
避开这些坑!用Python做模糊控制项目时,关于隶属函数和规则表的5个常见误区 第一次用Python实现模糊控制系统时,那种兴奋感我至今记得——仿佛打开了人工智能的另一扇门。但很快,这种兴奋就被各种报错和不符合预期的结果浇灭了。记…...
UAVLogViewer:无人机飞行日志分析的终极免费解决方案
UAVLogViewer:无人机飞行日志分析的终极免费解决方案 【免费下载链接】UAVLogViewer An online viewer for UAV log files 项目地址: https://gitcode.com/gh_mirrors/ua/UAVLogViewer 面对无人机飞行日志中混乱的数据格式、复杂的参数解读和难以直观展示的三…...
基于OpenClaw构建AI智能体:从RAG到自动化工作流的实战指南
1. 项目概述:一个开源AI应用案例的“藏宝图”最近在GitHub上闲逛,发现了一个挺有意思的仓库,叫awesome-openclaw-usecases-zh。光看名字,就能拆解出几个关键信息:“awesome”系列(意味着是精选合集…...
鲲鹏超节点系统应用创新竞争力
鲲鹏超节点通过灵衢互联,打破传统的服务器边界,实现以数据为中心的全互联架构,为AI infra而生,具备大带宽、低时延、统一编址、内存语义、内存借用、内存共享、对等互联等关键能力,灵衢软件全面开源开放,让…...
【信息科学与工程学】【制造工程】【通信工程】第一百零一篇 2nm 200Tbps+核心交换机全尺度参数宇宙构建框架02
编号 尺度/层级 参数类型 参数名称 数学表达式/物理模型/关联描述 典型值/范围 (目标) 单位 核心关联参数 依赖关系 互斥/协同/传递关系 设计/制造/应用要求 测试/验证方法 关联学科/领域 Switch-692 整机/电磁兼容 独立参数 整机对浪涌(冲击)抗扰度的线-线…...
告别浏览器卡顿:如何用Play-with-MPV解锁网页视频专业播放体验
告别浏览器卡顿:如何用Play-with-MPV解锁网页视频专业播放体验 【免费下载链接】play-with-mpv Chrome extension that allows you to play videos in webpages like youtube with MPV instead 项目地址: https://gitcode.com/gh_mirrors/pla/play-with-mpv …...
基于Next.js全栈技术构建本地即时交易平台:架构设计与核心实现
1. 项目概述:一个面向本地市场的即时交易平台最近在逛GitHub的时候,发现了一个挺有意思的项目,叫marketmenow。光看这个名字,你大概就能猜到它的方向——一个“现在就能交易的市场”。没错,这是一个旨在构建本地化、即…...
