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

相关推荐

  • 快速部署MySQL高可用方案:heartbeat + drbd + mysql

    实验环境: VIP:192.168.198.200 data1-1:        eth0:192.168.198.140  #用于外网管理IP        eth1:10.0.0.7   #传递心跳信息,…

    Linux干货 2015-10-05
  • 循环语句

    冯罗伊曼体系架构 1. 输入设备 2. 输出设备 3. 存储器 4. 运算器 5. 控制器 转义序列:\\, \t , \r , \n , \”,  \’ Python:是动态语言,强类型语言 算数运算符 + – */ % ** /是自然除,//是整除 位运算符 & |  ~  ^  <<  >> 原码 5=&gt…

    Linux干货 2018-03-26
  • 有证说话硬–实现CA和证书申请

    centos下利用openssl来实现证书的颁发 直接进入正题,细节坑就不说了,自己解决起来更有挑战性不是 步骤流程: 我是拿的7.3版本做CA主机,6.8版本做客户端 1.创建CA 2.生成私钥 3.生成自签名证书 4.到客服端 5.生成私钥 6.生成证书申请文件 7.将请求发送给-CA主机 8.CA主机-验证签署 9.拷回给客户端使用 用法:openss…

    2017-04-11
  • TCP和ARP

    TCP是一个工作在传输层,面向连接的协议,一台计算机与另一台计算机通信就需要TCP协议,当然还有一个和它并列的一个协议可以使用,只是TCP更加稳定且常用. 上图为一台计算机与另一台计算机建立通讯的过程,它实际通信中传递的不止斜线上的信息.上面的SYN是同步号, ACK为确认号.seq为序列号,ack为辅助的确认号 上面为建立通信时发送的TCP信息详细结构,i…

    Linux干货 2017-11-29
  • 网络知识

    网络知识 一、网络初识 1.网络概念  在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。 2.分类 按覆盖范围分: 局域网LAN(作用范围一般为几米到几十公里)。 城域网MAN(界于WAN与LAN之间)。 广域网WAN(作用范围一般为几十到几千公里)。 按拓扑结构分类: 总线型 …

    Linux干货 2016-09-01
  • 关于大型网站技术演进的思考(五):存储的瓶颈(5)

    原文出处: 夏天的森林    上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉得…

    Linux干货 2015-03-11