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证书的系统文件内容

blob.png

blob.png创建

    2)在Centos7上生成自签根证书

        1、在/etc/pki/CA下创建数据库索引文件index.txt、序列号记录文件serial并指定颁发证书序列号

blob.png

        2、生成CA证书私钥,包括设置当前umask值、私钥保存路径/etc/pki/CA/private及名称cakey.pem、密码-des3加密方式及长度2048等

blob.png

blob.png

        3、从cakey.pem私钥中提取出公钥并指定名称cacert.pem,并指定CA机构的有效期(公钥中要设置国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等)

blob.png

blob.png

由此,CA证书便创建完成。

    3)在Centos6上搭建子CA证书

          1、在/etc/pki/CA下创建数据库索引文件index.txt、序列号记录文件serial并指定颁发子CA证书序列号

blob.png

        2、生成CA证书私钥,包括设置当前umask值、私钥保存路径/etc/pki/CA/private及名称cakey.pem、密码-des3加密方式及长度2048等

blob.png

         3、从cakey.pem私钥中提取公钥并指定名称subca.csr,公钥中要设置的国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等,其中国家、省份、公司名必须与根CA一致,而服务器名称必须不一致,其他选项不要求。

blob.png

blob.png

        4、将Centos6生成的公钥传给根CA的/etc/pki/CA路径下

blob.png

        5、根CA对subca.csr 文件进行签名,并设置子CA的有效期,并生成一个新的 保存在certs/subca.crt下

blob.png

blob.png

        6、将签名完成的subca.crt子CA证书文件回传给子CA Centos6的/etc/pki/CA路径下,并改名为cacert.pem

blob.png

blob.png

由此,子CA证书也就创建完成。

    4)为客户端(Centos5)颁发证书

        1、在任意目录下生成自己客户端的私钥,私钥文件名称无要求,也可以不加密

blob.png

        2、用私钥rhel5.key文件生成证书请求文件rhel5.csr,文件中要设置的国家、省份、城市名、公司名、公司部门、服务器名称、邮件地址等,其中国家、省份、公司名必须与子CA一致,而服务器名称必须不一致,其他选项不要求。

blob.png

blob.png

        3、将生成的rhel5.csr文件传给子CA(Centos6)并进行签名

blob.png

        4、在Centos6上对客户端(Centos5)请求文件rhel5.csr进行签名,产生的新文件保存在certs/目录下,并命名为rhel5.crt

blob.png

        5、将签名完成的rhel5.crt文件回传给客户端(Centos5)

blob.png

blob.png

由此,客户端证书也已搭建成功。

    5)查看证书

        1、安装根CA证书

blob.png

blob.png

blob.png

blob.png

blob.png

        2、安装子CA证书

blob.png

blob.png

blob.png

        3、完成安装,查看

blob.png

blob.png

blob.png

好的,到这里就结束了,一个完整的CA自签证书认证就已经完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章