搭建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 []:[email protected]

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 []:[email protected]

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

#scp test.csr [email protected]:/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/[email protected]
        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/[email protected]

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

相关推荐

  • shell脚本编程初步

    shell脚本编程初步    随着课程学习的深入,我们已经学习了一些常用的命令,会去解决了一部分简单的问题,但是这不能满足复杂的工作,它可以帮助我执行自动化的常用命令、执行系统管理和故障排除、创建简单的应用程序、处理文本或文件。所以我们开始了shell脚本的编程,帮助我们更好的去完成工作。简单地说,shell编程相当于帮我们之前…

    Linux干货 2016-08-15
  • 压缩、解压缩及归档工具

    压缩、解压缩及归档工具 一、杂项知识整理 1、find -iname 忽略大小写;     -inum 查找指定inode号的文件;  find 在有条件判断的时候,如果不加括号,最后的命令会被当成以为第二个条件之后的:例 [root@localhost shelltest]# find&…

    Linux干货 2016-08-18
  • 进程的基本动作机制

    进程 我们知道硬件到用户使用分为:硬件,内核(系统),软件。 硬件也就是我们常见到的计算机等等,就相当于我们的身体,内核就相当于是我们的大脑,软件就相当于我们的动作。而进程就相当于我们怎么去实现这些动作。 进程是程序的一个具体实现,同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。 进程…

    Linux干货 2016-06-01
  • 超文本传输安全协议—HTTPS

        超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。H…

    Linux干货 2017-08-07
  • 马哥Linux学习之Linux背景和主要发行版篇

        Linux是一种 类Unix计算机操作系统的统称,简单的说来就是Linux内核+GNU工程的各种工具和数据库。Linux包括各种Linux的发行版,其实也就是为达到不同的目的而制作(目的包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用或嵌入式)的不同版本。     Linux的由来.…

    2015-03-19
  • 马哥教育网络19期+第十二周课程练习

    1、请描述一次完整的http请求处理过程; a.向根域名服务器请求解析域名,然后根服务器返回相应的IP信息; b.用户的Web浏览器向服务器端的80端口通过三次握手建立TCP连接; c.建立完TCP连接后发送HTTP请求,请求的格式包括请求方法、URL和协议版本号,方法有GET、HEAD、POST、PUT、DELETE、OPTIONS、TRACE,如: &n…

    Linux干货 2016-08-22