OpenSSL

三个组件:

openssl: 多用途的命令行工具;

libcrypto: 加密解密库;

libsslssl协议的实现;

PKIPublic Key Infrastructure

CA

RA

CRL

证书存取库 

建立私有CA:

OpenCA

openssl 

证书申请及签署步骤:

1、生成申请请求;

2RA核验;

3CA签署;

4、获取证书; 

创建私有CA

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

(1) 创建所需要的文件

 [root@localhost CA]# touch index.txt

[root@localhost CA]# echo 01 > serial 

(2) CA自签证书

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

[root@localhost CA]# (umask 077; openssl genrsa  -out private/cakey.pem 2048)

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

[root@localhost CA]# openssl req -new -x509 -key  private/cakey.pem -days 7300 -out cacert.pem

例三:已创建CA证书

[root@localhost CA]# ll
total 8
-rw-r--r--. 1 root root 1407 Jun 15 17:33 cacert.pem 

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

-x509: 专用于CA生成自签证书;

-key: 生成请求时用到的私钥文件;

-days n:证书的有效期限;

-out /PATH/TO/SOMECERTFILE: 证书的保存路径; 

(3) 发证

(a) 用到证书的主机生成证书请求

[root@localhost ssl]# (umask 077; openssl genrsa -out httpd.key 2048) 

# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

[root@localhost ssl]# openssl req -new -key httpd.key -days 365 -out httpd.csr

(b) 把请求文件传输给CA

[root@localhost ssl]# scp httpd.csr root@192.168.21.137:/tmp/
Password:
httpd.csr                                             100% 1058     1.0KB/s   00:0

(c) CA签署证书,并将证书发还给请求者;

# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 

查看证书中的信息:

openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|-subject|-serial 

(4) 吊销证书

(a) 客户端获取要吊销的证书的serial

# openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject 

(b) CA

先根据客户提交的serialsubject信息,对比检验是否与index.txt文件中的信息一致;

吊销证书:

# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

(c) 生成吊销证书的编号(第一次吊销一个证书)

# echo 01 > /etc/pki/CA/crlnumber 

(d) 更新证书吊销列表

# openssl ca -gencrl -out thisca.crl 

查看crl文件:

# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text

 

 

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

(0)
kangkang
上一篇 2015-03-21 10:23
下一篇 2015-03-23 11:38

相关推荐

  • Linux基本文本管理命令

    一.Linux上的文件管理命令都有哪些,其使用的方法及其相关演示1.cp命令:copy (文件复制功能)源文件,目标文件单源复制:cp [OPTION]…[-T] SOURCE DEST多源复制:cp [OPTION]…SOURCE…DIRECTORYcp [OPTION]… -T DIRECTORY SOURCE… 单源复制:cp [OPTION]…[-T…

    2017-09-20
  • 马哥教育21期网络班—第15周课程+练习

    2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; sed 's@^[[:space:]]\+@@' /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; sed 's@^#[[:spac…

    Linux干货 2016-11-14
  • 0809作业

    4、如何设置tab缩进为4个字符? 在/etc/vimrc中加入一行 set ts=4 保存退出 5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; :%s@/etc/sysconfig/init@/var/log@g 6、删除/t…

    Linux干货 2016-08-11
  • btrfs管理和应用

    一、btrfs概念        在btrfs中存在三种类型的数据,data, metadata和system。它们表示:        DATA           数据块。       &nbsp…

    系统运维 2016-04-12
  • lvs三种基础模型

    1: LVS-DR 模式(调度器与实际服务器都有一块网卡连在同一物理网段上)简要的网络结构如下所示 lvs-DR模型是lvs的默认模型,也是企业中用到的最多的模型    解读:直接路由模型,每个Real Server上都有两个IP:VIP和RIP,但是VIP是隐藏的,就是不能提高解析等功能,只是用来做请求回复的源IP的,Director上…

    Linux干货 2016-08-15
  • lvs简介

    一、 LVS简介         LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,在Linux2.4…

    Linux干货 2016-10-30