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

相关推荐

  • 搭建LAMP+NFS(附加mysql共享NFS目录练习总结)

    练习一 环境布局: 主机6 route A (10.1.32.14)作为DNS服务器 主机centos 7 class (10.1.32.3)作为Apache,PHP(模块方式)服务器1(有discuz程序) 主机centos 7 server (10.1.32.13)作为Apache,php(模块方式)服务器2(无discuz) 主机centos 6 cl…

    系统运维 2016-10-25
  • MariaDB之MHA配置

    工作拓扑 一、MHA简明:     MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了    automating master failover 功能。MHA在监控到master节点故障时,会提升其中    拥有最新数据的…

    2017-01-01
  • 上下文管理练习(为加法函数计时)

    上下文管理(为加法函数计时) 为加法函数计时 使用装饰器显示该函数的执行时长 使用上下文管理显示该函数的执行时长 装饰器实现 import time import datetime from functools import wraps def logger(fn): @wraps(fn) # wraps(fn)(wrapper) def wrapper(*…

    2017-11-18
  • 小练习题。【第五周】

    1、显示当前系统上root、fedora或user1用户的默认shell; /]# cat /etc/passwd | grep '^root\|fedora\|user1' |cut -d':' -f1,7 2、找出/etc/rc.d/i…

    Linux干货 2016-11-26
  • 计算机组成及各部分功能

    计算机组成及各部分功能 计算机组成 区别于利用机械原理对数据进行处理的机械计算机,计算机现在一般都指电子计算机,即电脑。计算机是一种利用电子学原理,根据一些列指令对数据进行处理的工具。 不管是机械计算机还是电子计算机其主要目的还是代替人来完成一系列的数据计算。1941年夏天诞生的阿塔纳索夫-贝瑞计算机是世界上第一部电子计算机,使用了真空管计算器,二进制数值,…

    Linux干货 2016-10-27
  • vim文本编辑器小结

    vi=vim打开文件 alias vi =vim vim -m 只读方式打开文件 修改文件时则会无法保存   -b 二进制打开文件 -d file1 file2  比较两个文件 Command(normal)默认模式:  ZZ 保存并退出 ZQ 不保存并退出Insert:编辑模式&nbsp…

    2017-08-05