搭建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:24

相关推荐

  • date用法心得

    Linux时间格式极大程度的遵循了人类习惯,以下为部分常见时间。
    date命令本身提供了日期的加减运算,shell编程时灵活运用

    2017-11-09
  • linux系统启动流程详解

    一、 为什么要研究linux系统启动:     或许有人会说,等它开机就好了,为什么还要研究它开机流程呢,其实如果服务器运行很好又没有人为的误操作等,或许不用研究,但是为了能在系统出问题后第一时间的修复它,又或者你忘记了root密码等情况时就非常有必要研究一下linux的开机流程了,因为只有知道了它是如何运作的,才能让…

    Linux干货 2016-09-13
  • 海量数据处理算法—Bloom Filter

    1. Bloom-Filter算法简介         Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。        Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表…

    Linux干货 2015-10-22
  • linux中数组的定义与使用

            我们常说,程序=指令+数据,往细一点的方向说,指令具体指的有哪些?数据又有哪些? 总结一下: 指令大概包括,编程语言中的语法关键字(如bash编程中的关键字有for,while,case,if,until,continue,break),还包括系统中的命令,和一些自己编写的函数,这些…

    2017-05-23
  • vim编辑器

    一、vim简介    vi: Visual Interface,文本编辑器     文本: ASCII, Unicode     文本编辑种类:         行编辑器: sed…

    Linux干货 2016-08-10
  • Linux发展史

    日期:2016-10-12  Bell,MIT与GE的『Multics』系统     早期的计算机还很不普遍,除非是军事或者高科技用途,或者学术单位的学术研究,否则真的很难接触到。而且计算机架构很难使用。那个时候,程序设计者必须先将程序相关的信息在读卡纸上面打洞然后将读卡纸插入卡片阅读机来将信息读入主机中运算…

    Linux干货 2016-10-14