自制CA证书,客户端、服务端证书

参考资料:HTTPS证书生成原理和部署细节
废话不多讲,我们直入正题。
首先我假设你的系统已经安装了openssl。使用openssl version -a即可查看当前安装的版本。没有安装的请自行百度安装openssl教程。

1.创建目录并授予权限:


进入ca目录:cd ca
2. 为服务器端和客户端准备公钥、私钥:
① 生成服务器端私钥:

openssl genrsa -out server.key 1024


② 生成服务器端公钥:openssl rsa -in server.key -pubout -out server.pem

③ 生成客户端私钥:

openssl genrsa -out client.key 1024


④ 生成客户端公钥:openssl rsa -in client.key -pubout -out client.pem

3.生成 CA 证书
① 生成 CA 私钥:openssl genrsa -out ca.key 1024

② 生成请求文件:openssl req -new -key ca.key -out ca.csr

注意,这里的 Organization Name (eg, company) [Internet Widgits Pty Ltd]: 后面生成客户端和服务器端证书的时候也需要填写,不要写成一样的!!!

可以随意写如:myca, myserver, myclient。

然后 Common Name (e.g. server FQDN or YOUR name) []: 这一项,是最后可以访问的域名,我这里为了方便测试,写成 localhost
③ 生成ca证书:openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

4.生成服务器端证书和客户端证书
① 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件:openssl req -new -key server.key -out server.csr

② 向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书:openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

③ 生成client端csr:openssl req -new -key client.key -out client.csr

④ client 端得到 CA 签名生成client端证书:openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt

我们的 ca 文件夹下已经有如下内容了:

自制CA证书,自制客户端,服务端证书相关推荐

  1. openssl自签名ca证书,以及签发服务端/客户端证书

    网上由很多,但是感觉操作比较复杂,有些签发的证书不可用.现在介绍简单方法.假设已经安装了openssl,已有sudo权限.已经建立路径:/ope/ca,所有操作都在此路径下进行. 1. 准备工作,由于 ...

  2. 服务器客户端证书,客户端如何验证HTTPS服务端证书信息

    通过一个例子说明客户端如何验证HTTPS服务端的证书信息. 类型浏览器如何验证WEB服务器的证书信息. 生成服务器端证书,以及CA证书 # generate ca certificate $ open ...

  3. HTTPS|SSL笔记-SSL双向认证失败(服务端证书信任库不含客户端证书)握手过程(含wireshark分析)

    这里我把服务端信任库添加了其他证书,不含客户端的证书,这时SSL认证失败报错如下.下面来分析下: 1. 首先是TCP三次握手,对应的包如下: 2. 握手成功后,客户端发送自己支持的加密套,和随机数给服 ...

  4. HTTPS|SSL笔记-SSL双向认证失败(客户端证书信任库不含服务端证书)握手过程(含wireshark分析)

    这里我把客户端证书信任库里面清空,及没放服务端证书,Java报错不一样,但抓包是一样的,在此记录下过程. 1. 前3个包是TCP三次握手,在此不解析,对应的包如下: 2. 握手成功后,客户端发送自己支 ...

  5. Windows下OpenSSL创建CA证书以及客户端和服务器端证书

    打开命令行工具,转到安装目录bin文件夹, $ mkdir -p ./demoCA/{private,newcerts} $ touch ./demoCA/index.txt $ echo 01 &g ...

  6. 客户端认证服务端证书的过程

    https://www.cnblogs.com/zfxJava/p/5295957.html ### 消息-->[公钥]-->加密后的信息-->[私钥]-->消息 ### 加密 ...

  7. 服务器ws证书,如何让服务端同时支持WebSocket和SSL加密的WebSocket(即同时支持ws和wss)?...

    自从HTML5出来以后,使用WebSocket通信就变得火热起来,基于WebSocket开发的手机APP和手机游戏也越来越多.我的一些开发APP的朋友,开始使用WebSocket通信,后来觉得通信不够 ...

  8. svn服务端证书的问题

    起因: 由于svn服务端证书的问题,svn在认证时会报以下一个错误: Error validating server certificate for 'https://xxxxxxx': - The ...

  9. 原神服务端搭建架设教程win系统(附客户端+服务端+环境配置)

    原神服务端搭建架设教程win系统(附客户端+服务端+环境配置) 大家好,我是艾西原神一款开放世界冒险3D游戏以七种元素(分别为风.雷.岩.火.水.草.冰)交汇的幻想世界"提瓦特"创 ...

最新文章

  1. Leetcode 6
  2. linux除了eeprom其他的保存方法,linux的EEPROM的读写控制.doc
  3. 基于Android移动终端的微型餐饮管理系统的设计与实现2-侧滑菜单
  4. 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
  5. 【编程大系】Java资源汇总
  6. python控制语句第一章_python基础第一章
  7. 谈Servlet与JSP
  8. 作者:龚南宁,数据堂(北京)科技股份有限公司对外合作部副总监
  9. 解决Eclipse报errors running builder ‘javascript validator’ on project
  10. unity镜头边缘羽化_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight
  11. java过滤器命名_java 过滤指定后缀文件
  12. java中 t无法对齐,java – 即使X应匹配T,也无法将X转换为T?
  13. 如何测试一个数组是否包含指定的值
  14. Python制作代码雨
  15. AVOD:点云数据与BEV图的处理及可视化
  16. 遥感原理与应用总结——第二章:遥感平台及运行特点
  17. hammerJs-v2.0.4详解
  18. 傅里叶变换:不只是多项式乘法
  19. GEEer成长日记十二:Modis_LST地表温度产品时间序列分析
  20. 前端学习——HTML(一)

热门文章

  1. 红孩儿工具箱使用介绍3:帧动画编辑
  2. QQ空间最新开场免费代码
  3. 淘晶驰串口屏与DSP28335通信实现三相电压电流实时显示
  4. 排序(sorting)
  5. 【UE4 附源工程】GGJ 2020极限48小时开发的逆向解谜游戏
  6. Python爬虫爬取某盗版小说网站小说.
  7. 优思学院:一图看清六西格玛5大阶段12个步骤
  8. centos 修改host
  9. 百度网盘如何上传超大文件?(超过4G)
  10. 2020.9.2丨遗传图谱基础介绍