用Openssl建立私有CA并颁发证书

2023-11-01

1.建立CA根证书   

1.1生成私钥     

openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf  -keyout rootkey.pem -out rootreq.pem -days 3650   

 

1.2生成证书,并用私钥签名       

openssl x509 -req -in rootreq.pem -sha1 -extfile ./myopenssl.cnf -extensions v3_ca -signkey rootkey.pem -out rootcert.pem -days 3650   

 

1.3组合证书与私钥,形成CA根证书       

cat rootcert.pem rootkey.pem > root.pem   

 

1.4显示,检查根证书主题与发行者       

openssl x509 -subject -issuer -noout -in root.pem

 

2.创建,颁发二级CA证书   

 

2.1创建二级CA跟证书私钥       

openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf   -keyout serverCAkey.pem -out serverCAreq.pem  -days 3650   

 

2.2生成二级CA证书,并用CA证书签名       

openssl x509 -req -in serverCAreq.pem -sha1 -extfile ./myopenssl.cnf  -extensions v3_ca -CA root.pem -CAkey root.pem  -CAcreateserial -out serverCAcert.pem  -days 3650   

 

2.3组合二级CA证书与二级CA私要,形成二级CA证书       

cat serverCAcert.pem serverCAkey.pem rootcert.pem >serverCA.pem   

 

2.4显示,检查二级CA根证书主题与发行者       

openssl x509 -subject -issuer -noout -in serverCA.pem

 

3.创建,颁发服务端证书

 

3.1创建服务端正书私钥   

openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf   -keyout serverkey.pem -out serverreq.pem  -days 3650

 

3.2创建服务端正书,并签名   

openssl x509 -req -in serverreq.pem -sha1 -extfile ./myopenssl.cnf  -extensions usr_cert -CA serverCA.pem -CAkey serverCA.pem  -CAcreateserial -out servercert.pem  -days 3650

 

3.3组合私钥与证书,形成服务端正书  

 cat servercert.pem serverkey.pem serverCAcert.pem rootcert.pem > server.pem

 

3.4显示,检查服务段证书的主题与发行者   

openssl x509 -subject -issuer -noout -in server.pem

 

4.创建颁发客户端证书

 

4.1创建客户端证书私钥   

openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf   -keyout clientkey.pem -out clientreq.pem  -days 3650

 

4.2创建客户端证书,并签名   

openssl x509 -req -in clientreq.pem -sha1 -extfile ./myopenssl.cnf  -extensions usr_cert -CA root.pem -CAkey root.pem -CAcreateserial -out clientcert.pem  -days 3650

 

4.3组合私钥与证书,形成客户端证书   

cat clientcert.pem clientkey.pem rootcert.pem > client.pem

 

4.4显示,检查服务段证书的主题与发行者   

openssl x509 -subject -issuer -noout -in client.pem

 

5.随机数生成

5.1生成512bit大数   

openssl dhparam -check -text -5 512 -out dh512.pem

 

5.2生成1024bit大数   openssl dhparam -check -text -5 1024 -out dh1024.pem

 

6.验证证书有效性

6.1用二级CA验证服务器证书  

 openssl verify -CAfile  serverCA.pem server.pem

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Openssl建立私有CA并颁发证书 的相关文章

  • android 系统级应用和服务的启动流程

    activityManagerService java 1 systemRaady 收到systemReady 通知 2 AppGlobals getPackageManager getPersistentApplications STOC
  • Android 一个类搞定软键盘弹起手下监听

    内容来自https www jianshu com p 56b91640aa10 监听很灵敏 一 使用 new SoftKeyBroadManager linearLayout addSoftKeyboardStateListener ne
  • 十、Java中的数组

    数组 Array 计算机专业的小伙伴对这个词都不陌生 不是计算机专业的小伙伴也不用怕书源会为大家介绍清楚数组 Array 这个概念 1 数组是数据结构的一种 那么什么是数据结构呢 简单理解数据结构就是带有结构特性的数据元素的集合 2 那么回
  • 学习python: 模块的建立与发布

    简单的说 一个python文件就是一个模块 本文主要介绍以下3点 模块的建立及导入 包的建立及导入 发布和安装自定义模块 模块的建立及导入 我们在写c 或者c 时候 为了复用代码 总是将一系列相关的函数写在一个 c文件中 或者封装一个类写在
  • 微软 Windows 10 删除文件“您需要来自 Trustedinstaller 的权限”解决方法

    问题描述 在删除 Windows 10 文件 例如 WINDOWS BT 时弹出文件夹访问被拒绝 你需要来自 Trustedinstaller 的权限才能对此文件夹进行更改 操作步骤 1 右键文件夹 选择 属性 2 选择 安全 3 选择 高
  • [P3074

    题目描述 Farmer John s N cows 1 lt N lt 10 000 are conveniently numbered 1 N Each cow i takes T i units of time to milk Unfo

随机推荐

  • WebRTC源码分析四:视频模块结构

    转自 http blog csdn net neustar1 article details 19492113 本文在上篇的基础上介绍WebRTC视频部分的模块结构 以进一步了解其实现框架 只有了解了整体框架结构 对局部算法修改才能够胸有成
  • 小程序隐私保护授权处理方式之弹窗组件

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 小程序隐私保护授权弹窗组件 调用wx getUserProfile进行授权时 返回错误信息 errMsg getUserProfile fai
  • python 队列实现_Python进程间通信 multiProcessing Queue队列实现详解

    Python进程间通信 multiProcessing Queue队列实现详解 发布时间 2020 10 04 10 11 18 来源 脚本之家 阅读 125 一 进程间通信 IPC Inter Process Communication
  • windows 下 Redis 主从 读写分离

    本文转载至 http www cnblogs com zhangxiaoshuai p 6482853 html 下载windows版redis 没有官方的从 上下载 http github com ServiceStack redis w
  • 关于SpringBoot 接受Date类型以及返回时间格式的记录

    最近开始接触SpringBoot 不得不说他很强大 下面说说SpringBoot接受时间的问题 网上的方法很多 我就说说我自己的 接受时间 NotNull message 过期日不能为空 DateTimeFormat pattern yyy
  • Unity游戏性能分析最终指南 04

    本节将深入探讨Unity中各个分析工具和调试工具的功能 以下是分析工具 调试工具和静态分析工具之间的差异 分析工具对代码执行情况进行仪表化显示并收集时间数据 调试工具允许逐步执行程序 暂停和检查值 并提供许多其他高级功能 例如 Frame
  • 计算机网络之TCP三次握手

    文章目录 计算机网络之TCP三次握手 1 TCP三次握手过程 2 TCP三次握手原因 而不是两次 3 TCP三次握手原因 而不是四次 4 TCP三次握手能携带数据吗 5 三次握手连接阶段 最后一次ACK包丢失 会发生什么 6 TCP 握手为
  • 【css】关于css3的多列布局出现错乱问题

    一开始给外部的container设置了column count 2 当里面的每个item是偶数个时 布局是正常显示的 而当我们设置了奇数个item时 会出现下图的错乱布局 在item里面设置了以下两个属性之后 height 100 over
  • 口袋妖怪letsgo服务器维护,口袋妖怪letsgo新手玩法-新手攻略分享-可可网

    口袋妖怪letsgo新手怎么玩 对于刚入口袋妖怪的萌新 一切还属于在探索的阶段 这是前人总结的经验就对于我们的帮助非常大 具体内容有哪些 下面一起和小编看看吧 新手玩法分享 1 留意主线沙盘里的一起物品 无论是建筑还是NPC 他都有可能是你
  • 【go基础】变量声明

    1 第一个go语言程序 package main 声明所属的包 import fmt func main fmt Println hello world go run hello go 执行当前文件 输出 hello world 也可以构建
  • 调用百度翻译自动翻译网页

    lt script src js jquery 3 2 1 min js gt lt script gt lt script src md5 js gt lt script gt lt script type text javascript
  • 使用React做个简单的页面-01

    1 页面效果 2 项目结构 具体代码 root js pc index js pc header js 移动端代码调整 页脚页面 1 页面效果 代码实现 pc index js 注册模块开发 1 页面效果 代码实现 移动端效果 代码实现 i
  • ptmalloc分析之基础一

    ptmalloc分析之基础一 一 内存布局 下面给出32位模式下进程默认内存布局 从上图可以看到 栈至顶向下扩展 并且栈是有界的 堆至底向上扩展 mmap 映射区域至顶向下扩展 mmap 映射区域和堆相对扩展 直至耗尽虚拟地址空间中的剩余区
  • Elasticsearch性能可视化监控环境搭建(离线安装)

    由于ES集群运行有时候不稳定导致数据无法正常读写 所以需要对各类影响因素进行监控 ES有提供cat API在命令行对ES集群健康状态以及其他指标 但只能查看实时状态 如果需要持续的关注集群的运行状态 必定是要定时将集群的各类指标数据进行存储
  • 聊聊我所了解的今年秋招的就业情况

    本文封面配图来自知乎曾加plus 哈喽 大家好 我是王博Kings 秋招慢慢收尾 陆陆续续互联网公司都或者已经提前结束了秋招进程 大家的offer也都陆陆续续拿到手了 每一年就业情况其实是大家都普遍最关心的内容 尤其薪资水平 其实今年年初我
  • ubuntu vim 不能正常显示中文的解决方法

    ubuntu vim 不能正常显示中文 vi etc vim vimrc 在最后加入 set fileencodings utf 8 gb2312 gbk gb18030 set termencoding utf 8 set encodin
  • Android实战篇 阅读并同意“用户协议”与“隐私政策” 【Kotiln / Java】

    一 前言 SpannableStringBuilder 1 SpannableStringBuilder和SpannableString的区别类似与StringBuilder String 2 SpannableStringBuilder可
  • Qt 添加动态库.so文件的正确方法

    1 选中项目 右键 选中 Add Library 完成后 内容自动更新到Pro文件 我原来认为是手写的 qt添加动态库 so文件的正确方法 qt so CSDN博客
  • 软件测试—学习路线

    1 入门期 手工测试 利用测试用例去检验程序是否正确输出结果 通俗来说就是在编写程序结束后自己会运行几个例子来检查程序是否正确运行 而这样的行为就是手工测试 不过企业上手工测试的测试用例会比较刁钻 容易发现自动化测试发现不了的问题 不过这种
  • 用Openssl建立私有CA并颁发证书

    1 建立CA根证书 1 1生成私钥 openssl req newkey rsa 1024 sha1 config myopenssl cnf keyout rootkey pem out rootreq pem days 3650 1 2