搭建CA服务器为Client签发证书

搭建CA服务器为Client签发证书

 

此次实验步骤如下:

一、搭建CA服务器

1)  /etc/pki/CA下创建index.txt文件,此文件是为Client签发证书的索引文件;

2)  /etc/pki/CA下创建serial文件,此文件记录为Client签发证书的编号;

3)  生成CA服务器私钥;

4)  从私钥生成自签名证书;

二、Client生成私钥和证书申请文件,从CA服务器请求证书;

 

以下为实验的详细步骤:

1.       需要准备两台虚拟机,一台作为CA服务器,另外一台作为客户端,接收CA服务器签发的证书,本次准备一台CentOS6.9CA服务器,CentOS7.3Client

搭建CA服务器为Client签发证书

2.       搭建CA服务器:

a)         /etc/pki/CA目录下创建创建证书索引文件:index.txt,创建空文件即可,当为Client签发证书之后本文件会自动生成索引记录;同时创建serial文件,指定颁发证书的序列号,注意:序列号必须为两位数字;

#touch index.txt
#echo 01 > serial

b)         生成证书私钥文件,然后通过私钥文件生成CA的自签名证书,因为CA服务器为根CA,所以需要生成自签名证书文件;

                   

#(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

                   生成自签名证书文件:

注意:自签名证书文件需要指定countrycompanystate信息,根据ssl配置文件,默认Client申请证书和CA自签发证书此三个值指定需要一致:

#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3560 -out /etc/pki/CA/cacert.pem
 
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:magedu.com
Organizational Unit Name (eg, section) []:sales
Common Name (eg, your name or your server's hostname) []:magedu   
Email Address []:123@321.com

3.       Client生成私钥和证书申请文件:

a)         生成私钥文件:

#(umask 066;openssl genrsa -out /etc/pki/tls/private/test.key 1024)

b)         生成证书申请文件(注意:countrystatecompany信息需要和CA服务器自签名证书信息一致):

#openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out /etc/pki/tls/test.csr
 
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:magedu.com
Organizational Unit Name (eg, section) []:technology
Common Name (eg, your name or your server's hostname) []:magedu
Email Address []:321@123.com

c)         拷贝证书文件至CA服务器,在CA服务器制作证书;

#scp test.csr root@192.168.11.128:/root/

4.       CA服务器制作Client证书文件:

a)        

 #openssl ca -in /root/test.csr -out /etc/pki/CA/certs/test.crt -days 365

/etc/pki/CA/certs/test.crt生成证书文件,通过cat可以查看证书信息;

#cat test.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=CN, ST=BeiJing, L=beijing, O=magedu.com, OU=sales, CN=magedu/emailAddress=123@321.com
        Validity
            Not Before: Apr 27 11:50:38 2017 GMT
            Not After : Apr 27 11:50:38 2018 GMT
        Subject: C=CN, ST=BeiJing, O=magedu.com, OU=technology, CN=magedu/emailAddress=321@123.com

b)         此时会生成index.txt.attrindex.txt.oldserial.old文件

搭建CA服务器为Client签发证书

c)         Serial.old文件存放内容为01,新生成的serial文件内容为02,代表颁发证书的序列号,此序列号文件会自动更新;

d)         Index.txt文件存放的是制作Client证书的索引文件,开头V表示此证书可用,如果为R表示为吊销证书;

搭建CA服务器为Client签发证书

 

至此证书制作成功。

 

 

 

 

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/76647

(0)
王子豪王子豪
上一篇 2017-05-21 21:03
下一篇 2017-05-21

相关推荐

  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@centos ~]# who | awk '{print $1 $NF}'| uniq -d root(192.168.40.1) derulo(19…

    Linux干货 2016-07-22
  • 文本处理三剑客之sed

    文本处理三剑客之sed 一、处理文本的工具sed 概念: Stream EDitor, 行编辑器 v sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下一 行,这样不断重复,直到文件末尾。文…

    Linux干货 2016-08-12
  • Linux文件系统总结(7.4课上作业)

    一、什么是文件系统         文件系统是对一个存储设备上的数据和元数据进行组织的机制。它使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用的数据块的概念,用户使用文件系统来保存数据而不必关心数据实际保存在硬盘(or光盘)的地址为多少数据块上,只需要记住这个文件的…

    Linux干货 2016-07-10
  • bash基础 if elif 多条件判断 for循环

    bash基础 if elif 多条件判断 for循环

    Linux干货 2017-10-31
  • N25-第八周博客作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示;不在线的主使用红色显示; #!/bin/bash # ping探测主机在线状态 for i in `seq 254`;do if ping -c 1 172.16.0.$i &> /dev/null;th…

    Linux干货 2017-02-23
  • Nginx 编译安装

    简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配…

    Linux干货 2016-12-01