linux下搭建CA认证
我们知道,当客户端与服务器端建立会话之前,首先是客户端发送请求,只有通过TPC/IP三次握手后,客户端与服务器端才能建立ssl会话。握手的过程简单的说也可以总结为三个步骤,第一步:客户端和服务器双方共同商量使用什么加密算法以及加密等等。 第二步:客户端发送证书给服务器,目的是为了让服务器相信他。 第三步:服务器相信了,就生成对称密钥,将请求页面发送给客户端。 最后,客户端使用服务器发送的密钥加密后,将请求回应给服务器。在这个过程中由于服务器要验证客户端身份的真假,因此,这里需引入了第三方权威颁发机构,即CA,可以给客户端发证书。服务器是相信CA的,因此,客户端拥有CA的证书,从而客户端就能访问服务端。关于CA在这里我们需要了解:
1、SSL所使用的证书可以自己生成,也可以通过一个商业性CA(如Verisign 或 Thawte)签署证书。
2、证书的概念:首先要有一个根证书,然后用根证书来签发服务器证书和客户证书,一般理解:服务器证书和客户证书是平级关系。在SSL必须安装根证书和服务器证书来认证。 因此,就必须至少要有三个证书:根证书,服务器证书,客户端证书。 在生成证书之前,一般会有一个私钥,同时用私钥生成证书请求,再利用证书服务器的根证来签发证书。
接下来,我们就来简述一下在linux下搭建CA认证服务器并实现私有CA证书的认证的过程
步骤:
一、CA证书的制作(centos7)
1)进入/etc/pki/tls/openssl.cnf 并了解CA证书的系统文件内容
创建
2)在Centos7上生成自签根证书
1、在/etc/pki/CA下创建数据库索引文件index.txt、序列号记录文件serial并指定颁发证书序列号
2、生成CA证书私钥,包括设置当前umask值、私钥保存路径/etc/pki/CA/private及名称cakey.pem、密码-des3加密方式及长度2048等
3、从cakey.pem私钥中提取出公钥并指定名称cacert.pem,并指定CA机构的有效期(公钥中要设置国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等)
由此,CA证书便创建完成。
3)在Centos6上搭建子CA证书
1、在/etc/pki/CA下创建数据库索引文件index.txt、序列号记录文件serial并指定颁发子CA证书序列号
2、生成CA证书私钥,包括设置当前umask值、私钥保存路径/etc/pki/CA/private及名称cakey.pem、密码-des3加密方式及长度2048等
3、从cakey.pem私钥中提取公钥并指定名称subca.csr,公钥中要设置的国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等,其中国家、省份、公司名必须与根CA一致,而服务器名称必须不一致,其他选项不要求。
4、将Centos6生成的公钥传给根CA的/etc/pki/CA路径下
5、根CA对subca.csr 文件进行签名,并设置子CA的有效期,并生成一个新的 保存在certs/subca.crt下
6、将签名完成的subca.crt子CA证书文件回传给子CA Centos6的/etc/pki/CA路径下,并改名为cacert.pem
由此,子CA证书也就创建完成。
4)为客户端(Centos5)颁发证书
1、在任意目录下生成自己客户端的私钥,私钥文件名称无要求,也可以不加密
2、用私钥rhel5.key文件生成证书请求文件rhel5.csr,文件中要设置的国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等,其中国家、省份、公司名必须与子CA一致,而服务器名称必须不一致,其他选项不要求。
3、将生成的rhel5.csr文件传给子CA(Centos6)并进行签名
4、在Centos6上对客户端(Centos5)请求文件rhel5.csr进行签名,产生的新文件保存在certs/目录下,并命名为rhel5.crt
5、将签名完成的rhel5.crt文件回传给客户端(Centos5)
由此,客户端证书也已搭建成功。
5)查看证书
1、安装根CA证书
2、安装子CA证书
3、完成安装,查看
好的,到这里就结束了,一个完整的CA自签证书认证就已经完成了。
转载于:https://blog.51cto.com/13869554/2171756
linux下搭建CA认证相关推荐
- Linux下搭建Apache服务器
Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...
- Linux下搭建jenkins+svn+http+maven自动化部署
Linux下搭建jenkins+svn+http+maven自动化部署 服务器设置: 卸载redhat的yum,安装centos的yum,配置第三方yum 1.删除redhat原有的rpm -qa | ...
- linux 子域dns,linux下搭建DNS子域及相关授权详解
linux下搭建DNS子域及相关授权详解forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 for ...
- linux 下邮件服务器,Linux 下搭建Postfix邮件服务器
Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3. ...
- linux下搭建DNS子域及相关授权详解
linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...
- linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...
linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...
- Linux下搭建SVN服务器【亲测可用】
Linux下搭建SVN服务器 简介 第一步:通过yum命令安装svnserve,命令如下: 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 第三步:创建svn版本库 第四步:配置修 ...
- linux做子域dns,linux下搭建DNS子域及相关授权详解
linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...
- Linux下搭建Lotus Domino集群
Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...
最新文章
- Android10.0 开机广播BOOT_COMPLETED发送流程分析
- pytorch和Numpy的区别以及相互转换
- xshell连接服务器失败_xshell-ssh连接服务器被经常意外中断
- Linux从入门到精通——Apache
- PHP判断标量,php中is_scalar如何判断变量是否是一个标量
- 美国知名华人学者陈刚被捕,他出身贫寒,是一个不折不扣的工作狂
- 新手如何学习C语言/C++,教你一年时间是拿到年薪50万
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- 为转型绞尽脑汁,新东方到美国教中文!网友:卷到国外去了
- php mysql addslashes_PHP函数 mysql_real_escape_string 与 addslashes 的区别
- hadoop配置文件_Hadoop分布式集群
- python中保留一位小数要怎么编程_Python保留指定位数的小数
- 浅谈临床研究中随机化
- Python 爬虫自动访问点击刷CSDN博客文章阅读量
- ROM制作工具详细使用教程,小白简单上手
- 大专学的计算机如何进国企,专科毕业生想进国企?这三大专业不要错过,成功率高达60%...
- 哪个软件能代替斐讯路由_斐讯路由(老版本无需登录)
- 闲山:龙的出现,没有中文字幕怎么办? 自己编程搞一个试试
- 快速计算delay函数中for循环延时程序占用的时间
- C语言打印倒三角形代码
热门文章
- SpringBoot教程(11) Jackson中的JsonNode,ObjectNode,ArrayNode使用和区别
- oss子账号_阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容
- sed 流编辑器 简介及原理
- 华为Datacome和RS是什么关系?
- Rancher主机介绍
- 拥抱数字化转型 图扑软件3D 光伏与光热发电站可视化
- cocos creator小游戏加载跨域头像
- Ubuntu 安装yum命令 并配置yum源
- MyBatis增加时报错“无效的列类型”
- 看完此文,妈妈还会担心你docker入不了门?