我们知道,当客户端与服务器端建立会话之前,首先是客户端发送请求,只有通过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认证相关推荐

  1. Linux下搭建Apache服务器

    Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...

  2. Linux下搭建jenkins+svn+http+maven自动化部署

    Linux下搭建jenkins+svn+http+maven自动化部署 服务器设置: 卸载redhat的yum,安装centos的yum,配置第三方yum 1.删除redhat原有的rpm -qa | ...

  3. linux 子域dns,linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 for ...

  4. linux 下邮件服务器,Linux 下搭建Postfix邮件服务器

    Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3. ...

  5. linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...

  6. linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...

    linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...

  7. Linux下搭建SVN服务器【亲测可用】

    Linux下搭建SVN服务器 简介 第一步:通过yum命令安装svnserve,命令如下: 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 第三步:创建svn版本库 第四步:配置修 ...

  8. linux做子域dns,linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...

  9. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

最新文章

  1. Android10.0 开机广播BOOT_COMPLETED发送流程分析
  2. pytorch和Numpy的区别以及相互转换
  3. xshell连接服务器失败_xshell-ssh连接服务器被经常意外中断
  4. Linux从入门到精通——Apache
  5. PHP判断标量,php中is_scalar如何判断变量是否是一个标量
  6. 美国知名华人学者陈刚被捕,他出身贫寒,是一个不折不扣的工作狂
  7. 新手如何学习C语言/C++,教你一年时间是拿到年薪50万
  8. Eclipse和PyDev搭建完美Python开发环境(Windows篇)
  9. 为转型绞尽脑汁,新东方到美国教中文!网友:卷到国外去了
  10. php mysql addslashes_PHP函数 mysql_real_escape_string 与 addslashes 的区别
  11. hadoop配置文件_Hadoop分布式集群
  12. python中保留一位小数要怎么编程_Python保留指定位数的小数
  13. 浅谈临床研究中随机化
  14. Python 爬虫自动访问点击刷CSDN博客文章阅读量
  15. ROM制作工具详细使用教程,小白简单上手
  16. 大专学的计算机如何进国企,专科毕业生想进国企?这三大专业不要错过,成功率高达60%...
  17. 哪个软件能代替斐讯路由_斐讯路由(老版本无需登录)
  18. 闲山:龙的出现,没有中文字幕怎么办? 自己编程搞一个试试
  19. 快速计算delay函数中for循环延时程序占用的时间
  20. C语言打印倒三角形代码

热门文章

  1. SpringBoot教程(11) Jackson中的JsonNode,ObjectNode,ArrayNode使用和区别
  2. oss子账号_阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容
  3. sed 流编辑器 简介及原理
  4. 华为Datacome和RS是什么关系?
  5. Rancher主机介绍
  6. 拥抱数字化转型 图扑软件3D 光伏与光热发电站可视化
  7. cocos creator小游戏加载跨域头像
  8. Ubuntu 安装yum命令 并配置yum源
  9. MyBatis增加时报错“无效的列类型”
  10. 看完此文,妈妈还会担心你docker入不了门?