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
下一篇 2015-03-23

相关推荐

  • linux第五周小结

    不知不觉已经第五周了,好快啊!这周我们主要讲了读命令,查找命令,压缩,解压缩,安装等命令,今天我总结一下查找命令 查找命令主要有:locate和find命令,但我们经常用到的也最实用的当属find,下面我重点总结一下find命令 有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、文件类型等等)。这样做可能有很多原因。可能出于安全性…

    2017-08-13
  • shell脚本编程之循环语句

      在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。 一、for命令   格式:for 变量 in 列表;do          循环体       done   for命令会遍历列表中的每一个值,并且在遍历完成…

    Linux干货 2016-01-03
  • Linux软件包管理工具yum详解

    yum介绍 yum客户端的使用 配置文件项作说明: 案例repo配置文件。 创建yum源命令(yum-config-manager) yum list相关命令 yum安装 yum更新和升级 yum查找和显示 yum删除程序 查看仓库 实战演练本地yum仓库(光盘) YUM内置变量 创建YUM仓库(http) yum介绍 yum命令是在Fedora和RedHa…

    Linux干货 2016-09-07
  • 阿里云修改hostname主机名的一点小技巧

    CentOS 7以后修改主机名一般使用: hostnamectl set-hostname newhostname 如果仍然无效,使用vim打开/etc/cloud/cloud.cfg,将 preserve_hostname=fale 改为 preserve_hostname=true 即可。 以上在阿里云ECS上亲测有效,使用了网上查阅…

    Linux干货 2017-01-09
  • 马哥教育网络班22期+第二周课程练习

    week2作业: 1.linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 (1)touch 功能:创建文件 示例:  [root@director1 example]# touch file1 file2 [root@director1 example]# ll to…

    Linux干货 2016-08-22
  • M20-1 8月3号 –权限、用户和组的管理

    一、权限管理:            ls -l                  rwxrwxrwx:               &nb…

    Linux干货 2016-08-08