自制CA证书,自制客户端,服务端证书
自制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证书,自制客户端,服务端证书相关推荐
- openssl自签名ca证书,以及签发服务端/客户端证书
网上由很多,但是感觉操作比较复杂,有些签发的证书不可用.现在介绍简单方法.假设已经安装了openssl,已有sudo权限.已经建立路径:/ope/ca,所有操作都在此路径下进行. 1. 准备工作,由于 ...
- 服务器客户端证书,客户端如何验证HTTPS服务端证书信息
通过一个例子说明客户端如何验证HTTPS服务端的证书信息. 类型浏览器如何验证WEB服务器的证书信息. 生成服务器端证书,以及CA证书 # generate ca certificate $ open ...
- HTTPS|SSL笔记-SSL双向认证失败(服务端证书信任库不含客户端证书)握手过程(含wireshark分析)
这里我把服务端信任库添加了其他证书,不含客户端的证书,这时SSL认证失败报错如下.下面来分析下: 1. 首先是TCP三次握手,对应的包如下: 2. 握手成功后,客户端发送自己支持的加密套,和随机数给服 ...
- HTTPS|SSL笔记-SSL双向认证失败(客户端证书信任库不含服务端证书)握手过程(含wireshark分析)
这里我把客户端证书信任库里面清空,及没放服务端证书,Java报错不一样,但抓包是一样的,在此记录下过程. 1. 前3个包是TCP三次握手,在此不解析,对应的包如下: 2. 握手成功后,客户端发送自己支 ...
- Windows下OpenSSL创建CA证书以及客户端和服务器端证书
打开命令行工具,转到安装目录bin文件夹, $ mkdir -p ./demoCA/{private,newcerts} $ touch ./demoCA/index.txt $ echo 01 &g ...
- 客户端认证服务端证书的过程
https://www.cnblogs.com/zfxJava/p/5295957.html ### 消息-->[公钥]-->加密后的信息-->[私钥]-->消息 ### 加密 ...
- 服务器ws证书,如何让服务端同时支持WebSocket和SSL加密的WebSocket(即同时支持ws和wss)?...
自从HTML5出来以后,使用WebSocket通信就变得火热起来,基于WebSocket开发的手机APP和手机游戏也越来越多.我的一些开发APP的朋友,开始使用WebSocket通信,后来觉得通信不够 ...
- svn服务端证书的问题
起因: 由于svn服务端证书的问题,svn在认证时会报以下一个错误: Error validating server certificate for 'https://xxxxxxx': - The ...
- 原神服务端搭建架设教程win系统(附客户端+服务端+环境配置)
原神服务端搭建架设教程win系统(附客户端+服务端+环境配置) 大家好,我是艾西原神一款开放世界冒险3D游戏以七种元素(分别为风.雷.岩.火.水.草.冰)交汇的幻想世界"提瓦特"创 ...
最新文章
- Leetcode 6
- linux除了eeprom其他的保存方法,linux的EEPROM的读写控制.doc
- 基于Android移动终端的微型餐饮管理系统的设计与实现2-侧滑菜单
- 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
- 【编程大系】Java资源汇总
- python控制语句第一章_python基础第一章
- 谈Servlet与JSP
- 作者:龚南宁,数据堂(北京)科技股份有限公司对外合作部副总监
- 解决Eclipse报errors running builder ‘javascript validator’ on project
- unity镜头边缘羽化_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight
- java过滤器命名_java 过滤指定后缀文件
- java中 t无法对齐,java – 即使X应匹配T,也无法将X转换为T?
- 如何测试一个数组是否包含指定的值
- Python制作代码雨
- AVOD:点云数据与BEV图的处理及可视化
- 遥感原理与应用总结——第二章:遥感平台及运行特点
- hammerJs-v2.0.4详解
- 傅里叶变换:不只是多项式乘法
- GEEer成长日记十二:Modis_LST地表温度产品时间序列分析
- 前端学习——HTML(一)