创建私有CA

 

什么是CA

  CA(Certificate Authority)证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。

搭建私有CA

一、搭建CA服务器

1、生成密钥

ca.png

  • ( ):表示此命令在子进程中运行,其目的是为了不改变当前Shell中的umask值

  • genrsa:生成私钥

  • -out:私钥的存放路径,cakey.pem:为密钥名,与配置文件中保持一致

  • 4096:密钥长度,默认为1024

2、生成自签证书

ca1.png

  • req:生成证书签署请求

  • -new:生成新证书签署请求

  • -x509:生成自签格式证书,专用于创建私有CA时

  • -key:生成请求时用到的使用文件路径

  • -out:生成的请求文件路径,如果自签操作将直接生成签署过的证书

  • -days:证书的有效时长,单位是day

3、为CA提供所需的目录及文件

    ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}

    ~]# touch /etc/pki/CA/{serial,index.txt}

    ~]# echo 01 > /etc/pki/CA/serial
  • index.txt:索引文件,用于匹配证书编号

  • serial:证书序列号文件,只在首次生成证书时赋值

二、节点向CA请求签署证书

1、用到证书的主机生成私钥

ca2.png

2、生成证书签署请求

ca3.png

3、将请求通过可靠方式发送给CA主机

ca4.png

三、签署证书

1、在CA服务器上签署证书

ca5.png

2、发送给请求者

ca6.png

四、吊销证书

(一)、节点请求吊销
1、客户端获取要吊销的证书的serial(在使用证书的主机执行)

ca7.png

  • x509:证书格式

  • -in:要吊销的证书

  • -noout:不输出额外信息

  • -serial:显示序列号

  • -subject:显示subject信息

(二)、CA验证信息
1、节点提交的serial和subject信息来验证与index.txt文件中的信息是否一致

ca8.png

2、吊销证书

ca9.png

  • -revoke:删除证书

3、生成吊销证书的吊销编号(第一次吊销证书时执行)

aa.png

4、更新吊销证书列表

ca10.png

  • -gencrl:生成证书吊销列表

5、查看crl文件

ca11.png

  • -text:以文本形式显示

 

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/67722

(0)
641348038@qq.com641348038@qq.com
上一篇 2017-02-07
下一篇 2017-02-07

相关推荐

  • 第六周作业

    请详细总结vim编辑器的使用 模式化的编辑器 基本模式: 编辑模式,命令模式 输入模式 末行模式: 内置的命令行接口; 打开文件: # vim [options] [file ..] +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的首; 模式转换: 编辑模式:默认模式 编辑模式 …

    Linux干货 2017-03-21
  • N25-第14周博客作业

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP [root@localhost ~]# iptables -L -n  Chain INPUT…

    Linux干货 2017-05-21
  • psql: undefined symbol: PQconnectdbParams 已解决

    操作PostgreSQL的过程中,在执行psql的时候,遇到了如下错误:  /path/to/postgresql/bin/psql: symbol lookup error: /usr/pgsql-9.2/bin/psql: undefined symbol: PQconnectdbParams 整理后发现是,PostgreSQL的动态链接库没有…

    Linux干货 2015-03-08
  • 第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现 #!/bin/bash declare -i sum=0 declare -i sum_nologin=0 for i in $(cut -d: -f7 /etc/passwd);do if…

    Linux干货 2017-06-06
  • 马哥教育网络20期+第四周练习博客

    1、  复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cd /home/ [root@localhost home]# mkdir tuser1 [root@localhost home]# cp -a /etc/skel&…

    Linux干货 2016-08-02
  • RPM及YUM工具介绍及使用(上)

    写在前面 常见的计算机硬件平台大致可以为分:x86、x86_64、amd64、ppc、arm、aarch64。软件平台,在Linux界则是指不同的Linux发行版。 Linux系统中的软件(非源码)由于都是在不同的硬件+软件平台开发编译完成之后发布的,因此同一个软件会区分硬件和软件环境而有不同的软件包。在安装软件时应该选择与自己的硬件和软件平台一致的软件包进…

    Linux干货 2016-12-26

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:26

    步骤详细,如果有关于加密相关的原理介绍会更好,加油。