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

相关推荐

  • shell脚本总结

    shell脚本简要总结 脚本调试 bash -n /path/to/some_script检测脚本中的语法错误 bash -x /path/to/some_script调试执行 变量 环境变量 变量声明、赋值:export name=VALUEdeclare -x name=VALUE 变量引用:$name, ${name} 显示所有环境变量: export…

    Linux干货 2016-08-21
  • Linux基础之shell脚本编程(二)

    1、写一个脚本,完成以下功能    (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;    (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;    (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; &nb…

    Linux干货 2016-11-17
  • 关于ip_conntrack跟踪连接满导致网络丢包问题的分析

    http://ixdba.blog.51cto.com/2895551/1737642

    Linux干货 2016-06-03
  • grep和正则表达式

    grep       作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文件逐行进行匹配检查;打印匹配到的行;       模式:由正则表达式的元字符及文本所编写出的过滤条件    语法:【选项】【文件】  &…

    2017-08-04
  • 2

    2

    Linux干货 2018-03-26
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01