有证说话硬–实现CA和证书申请

centos下利用openssl来实现证书的颁发

直接进入正题,细节坑就不说了,自己解决起来更有挑战性不是

步骤流程:

我是拿的7.3版本做CA主机,6.8版本做客户端

1.创建CA

2.生成私钥

3.生成自签名证书

4.到客服端

5.生成私钥

6.生成证书申请文件

7.将请求发送给-CA主机

8.CA主机-验证签署

9.拷回给客户端使用

用法:openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-salt]

         openssl 的配置文件:/etc/pki/tls/openssl.cnf   

        选项:  

            -ciphername:指明算法;

            -in filename:要加密的文件;

            -out filename:加密后的文件的存放位置;

            -pass arg:指明密码;

            -e:加密;

            -d:解密;

            -a/-base64:文本格式编码,默认二进制格式编码;

            -salt:给密码添加随机数;

创建CA:

      为CA提供所需的目录及文件,无则创建,有则无需创建(这个非常重要的,关乎到证书的成功与否)

             #touch /etc/pki/CA/index.txt
             #echo 01 > /etc/pki/CA/serial

生成私钥:# (umask 077;openssl genrsa -out  /PATH/TO/PRIVATE_KEY_FILE  NUM_BITS);

             ():表示启动一个子shell,在子shell中运行的命令只对子shell起作用不影响父shell;

              -out:生成的私钥保存的位置;

              NUM_BITS:秘钥位长,它必须是2的n次方倍,例如512、1024、2048、4096等。

             #公钥是从私钥中提取的;

              #默认放置于/etc/pki/CA/private/目录;

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

               使用遮罩码077是为了确保私钥文件只有属主可读写

生成自签证书;默认放置于/etc/pki/CA/目录;

             #openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

     -x509:生成自签格式证书,专用于创建私有CA时,非自签证书无需加该选项;

     -key:生成请求时用到的私有文件路径;便于自动从该路径提取公钥;

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

     – days:证书的有效时长,单位是day;

    #内容要按照cat  /etc/pki/tls/openssl.cnf配置文件的格式要求

      三大严格要求  1.国家  2.省份  3.公司

如下图

有证说话硬--实现CA和证书申请

生成公钥 :cakey.pem
自签证书:cacert.pem

这是生成文件的格式要求,必须在这个目录中

记好填写的信息

有证说话硬--实现CA和证书申请

CA证书就制作ok了

下面咱们就可以一本正经的申请证书了

httpd为例);

用到证书的主机生成私钥

  # mkdir /etc/httpd/ssl   这个私钥的放置目录自己指定,没有要求,用的时候,指定位置就可以了

  # cd /etc/httpd/ssl

  # (umask  077; openssl genrsa -out /etc/httpd/ssl/httpd.key  2048)

用到证书的主机生成证书签署请求

  # openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365 (后面-day指定的证书时限有些说道,这个时间不是我们这里决定的,所以多少无所谓,反正也不生效,归CA来指定)

有证说话硬--实现CA和证书申请

这里和CA的信息必须一致

生成私钥 :httpd.key
生成证书申请文件:httpd.csr
文件格式要求一样的,后缀必须是这个

下面将请求通过可靠方式发送给CA主机;

         # scp /etc/httpd/ssl/httpd.csr root@172.16.27.7:root  (也可以用U盘拷贝)

CA主机在确认安全的情况下  可以签署发证了

CA主机上签署证书;

  # openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 (这里的时间才是决定证书的有效期,可以任意指定)

之后,把证书在拷回给客户端使用,任务完成。

有证说话硬--实现CA和证书申请

字母“V”表示该证书已签署;

原创文章,作者:All well,如若转载,请注明出处:http://www.178linux.com/73183

(0)
All wellAll well
上一篇 2017-04-11
下一篇 2017-04-11

相关推荐

  • Bash编程之流程控制

    Bash作为一种过程式编程语言,拥有一套流程控制体系,可完成选择执行,循环执行功能。下面分别介绍if/else,case,select,for,while/until等语法的使用。

    Linux干货 2016-08-21
  • 文本处理:三剑客之sed及vim编辑器

    一、sed的用法详解 sed作为Linux的第二招,有着非常强大的文本处理功能。sed是一种在线编辑器、行编辑器,每次处理一行内容。在处理时,sed首先将行放在内存中的一块临时缓冲区,通常配叫做模式空间(pattern space)。如果模式空间的行符合sed的匹配模式则将该行处理后送到标准输出,如果不匹配则不做任何改动送到标准输出。模式空间中一般情况下只会…

    Linux干货 2016-08-12
  • 重构-改善既有代码的设计:编写代码22宗罪(三)

    1 Duplicated  Code重复代码        不同的地方出现相同的程序结构:         如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见…

    Linux干货 2015-04-07
  • linux的文件类型

    linux的文件类型 linux其中的一个哲学思想就是一切皆文件,今天我们就来学习一下linux系统中的文件类型。linux不同于windows,有多种多类的文件类型,文件类型的判断也不是以文件的后缀为标准的。linux中一共有七种文件类型,分别是:普通文件、目录、字符设备文件、块设备文件、套接字文件、命名管道文件和符号链接文件。那么接下来我们就分别看看每种…

    Linux干货 2016-10-27
  • 流编辑器Sed(Stream Edit)详解

    流编辑器Sed(Stream Edit)详解       Grep 、sed 和awk并称为文本三剑客。使用Grep就可以很好的实现文本查找的功能,而且简单有效。然而其却无法直接对其进行编辑,sed的出现便解决了这一问题。 Sed被称为流编辑器,它是一种新型的非交互式的文本编辑器,它逐行处理文件或输入,并将结…

    Linux干货 2016-08-22
  • 从Linux小白到大牛——与狼共舞的日子10

    马哥教育网络班21期+第10周课程练习 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST –> Boot Sequence(BIOS) –> Boot Loader(MBR)   –> Kernel+ramdi…

    Linux干货 2016-12-05