安全与加密、申请CA证书

本章内容

v  1安全机制  2对称加密  3不对称加密 4散列算法  5PKI CA

v 在互联网数据传输的过程的,数据的安全私密性是及其重要的,所以就有数据的加密和解密的过程。

数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。它的核心是密码学。

数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

一、为什么要加密

1.1 不加密流量的易受攻击性

密码/数据嗅探

数据操作

验证操作

相当于邮寄明信片

1.2 不安全的传统协议

telnetFTPPOP3等等;不安全密码

httpsmtpNFS等等;不安全信息

LdapNISrsh等等;不安全验证

1.3 示例:利用telnet协议伪造邮件

vim /etc/postfix/main.cf 修改邮件的配置文件

/interface inet_interfaces = localhost 变为all 把接件人设为所有人

systemctl restart postfix

冒充别人给指定的人发邮件centos7 lyxtelnet

 

发送方:红色的为操作步骤

[lv@centos7 ~]$ telnet 127.0.0.1 25

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is '^]'.

220 centos7.localdomain ESMTP Postfix

helo m.com

250 centos7.localdomain

mail from:Boss@work.com

250 2.1.0 Ok

rcpt to:lyx

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

subject:work

Come to the office   

.

250 2.0.0 Ok: queued as 722632668DD

quit

221 2.0.0 Bye

Connection closed by foreign host.

接收方

[lyx@centos7 ~]$ mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/lisi": 1 message 1 new

>N  1 Boss@work.com         Mon Nov 21 21:10  14/447   "work"

& 1

Message  1:

From Boss@work.com  Mon Nov 21 21:10:09 2016

Return-Path: <Boss@work.com>

X-Original-To: lyx

Delivered-To: lyx@centos7.localdomain

subject:work

Date: Mon, 21 Nov 2016 21:08:51 +0800 (CST)

From: Boss@work.com

Status: R

 

Come to the office

 

&

由此可见,不安全的传统协议是多么的“不靠谱”,所以加密的重要性就无可厚非了,关于密码的定制也是具有一定能够的规格和属性的。

二、安全机制

NIST(美国国家标准与技术研究院)定义的安全属性  

1.保密性数据保密性隐私性  

2.完整性:不可篡改数据完整性系统完整性  

3.可用性

安全攻击:STRIDE

Spoofing(假冒)、Tampering(篡改)、Repudiation(否认)、Information Disclosure(信息泄露)

Denial of Service(拒绝服务)和Elevation of Privilege(提升权限)

安全机制的方式:

加密数字签名访问控制数据完整性认证交换流量填充路由控制公正

安全服务

认证ca

访问控制sudo权限

数据保密性

连接保密性:vpn

无连接保密性:tcp  udp

选择保密性:如工资条的工资

流量保密性:百度推送广告

数据完整性:不可丢包

不可否认性

   关于安全机制和安全服务的类别,做了简单的列举,我们在设置安全规则的时候要注意一定的安全基本原则

设计基本原则

使用成熟的安全系统“以小人之心度君子之腹”外部系统都是不安全的!

减少外部接口最小授权缺省使用安全模式安全不是似是而非

从入口处检查从管理上保护好你的系统安全算法

常用安全技术认证授权安全通信审计

密码算法和协议对称加密公钥加密单向加密认证协议

三、对称加密

对称加密即为加密和解密使用同一个密码明文加密(data plain text), 密文加密(cipher text

加密与解密过程

安全与加密、申请CA证书

注:key1=key2

如:A—–BA传数据给B

data plain text 代表明文 data  cipher text 代表密文

data — 加密 (算法,密钥key1—-data(算法,密钥key2—data key1==key2 对称

3.1 加密算法:

DES (数据加密标准,56bits)

3DES(三重数据加密算法,相当于每个数据块使用三次DES加密算法)

AES (高级加密标准,128bits)

BlowfishTwofish

IDEA(类似于三重DES)

特性

加密、解密使用同一个密钥,效率高

将原始数据分割成固定大小的块,逐个进行加密

缺陷

密钥过多密钥分发困难数据来源无法确认

四、非对称加密

非对称加密:基于一对公钥/密钥对,用密钥对中的一个加密,另一个解密。

公钥加密:密钥成对出现

公钥(public key):公开给所有人私钥(secret key):自己留存,必须保证其私密性;

特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然。

功能:

数字签名:主要在于让接收方确认发送方身份

对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方

数据加密:适合加密较小数据

缺点:密钥长,加密解密效率底下

算法:

RSA(加密,数字签名)

DSA(数字签名)

ELGamal

4.1 实现加密

接收者:生成公钥/密钥对:PS;公开公钥P,保密私钥S

发送者:使用接收者的公钥来加密消息M,将P(M)发送给接收者

接收者:使用密钥S来解密:M=S(P(M))

安全与加密、申请CA证书

示例: cat  /root/.ssh/known_keyssh远程链接的公钥

cat /etc/ssh/ssh_host_rsa_keyssh远程链接的私钥

data — 加密 (算法,密钥key1—-data(算法,密钥key2—data key1=key2 非对称

A——B(主机A加密数据传给主机B

Apublic keyPa secret key Sa :生成A的公钥私钥

Bpublic keySa  secret key Sb :生成B的公钥私钥

public key 加密,只能用对应的另一把secret key 解密,反之,一样

即:对于APa加密 ,对于B:只能拿Sa解密; 对于BSa加密,对于A:只能拿Pa解密

A——-BA手中有B的公钥或者私钥) Sa——-Sb Public bdata=data

A加密邮件传给BA只有B的公钥,只能加密,但是不能解密

4.2 实现数字签名

发送者:生成公钥/密钥对:PS;公开公钥P,保密密钥S,使用密钥S来加密消息M,发送给接收者S(M)

接收者:使用发送者的公钥来解密M=P(S(M)),结合签名和加密,分离签名获得消息。

数字签名,拿A的私钥加密,BCD…都只能拿A的公钥解密,这样也确定了是A发送的加密信息

比如:Sa(data)=data=Pa(dara)A的私钥给data加密,即 数字签名

 

非对称式加密效率太低,因而不太适合加密大量的数据

示例:A—-B:要求传送过程不被人截获,也不能破解 1k的数据

A加密:Pb[Sa(data)]:先拿A的私钥给data加密,实现数字签名,再那B的公钥加密

    B解密:Sb{Pa[Pb[Sa(data)]]}:先用B的私钥加密得到A的私钥加密的数据,再拿A的公钥解密

这样也就知道数据是A 那儿传输过来的

五、散列算法(单项散列)

散列算法:哈希算法(对数据进行加密成固定的字符串)

将任意数据大小缩减成固定大小的“指纹”或者摘要 (digest

特性任意长度输入固定长度输出

若修改数据,指纹(摘要)也会改变无法从指纹中重新生成;数据内容不变,对应的指纹(摘要)不会变动。

md5sum f3 > f3.md5 cat f3.md5 md5sum –check f3.md5(查看数据是否改变)

无法从指纹中重新生成数据(“单向”)即得到摘要,不可反推原数据

功能:保证数据完整性

常见算式

md5: 128bits  sha1: 160bits sha224  sha256  sha384  sha512

5.1 md5sum检查完整性

md5sum | sha1sum [ –check ] file :检查数据的完整性;hash值是否一样

rpm -V package :比对下载的软件是否为正版

opensslgpg

示例 :若修改数据,指纹也会改变

[root@centos7 testdir]# ll

总用量 8

-rw-r–r– 1 root root 6 1123 23:39 f1

-rw-r–r– 1 root root 3 1123 23:39 f2

[root@centos7 testdir]# md5sum f1 f2

b1946ac92492d2347c6235b4d2611184  f1

764efa883dda1e11db47671c4a3bbd9e  f2

[root@centos7 testdir]# echo >> f1   

[root@centos7 testdir]# md5sum f1 f2

14e273e6f416c4b90a071f59ac01206a  f1

764efa883dda1e11db47671c4a3bbd9e  f2

可发现向f1文件中追加一个换行符,f1的“指纹”就发生了改变,f2未改动则“指纹不变”

校验:

[root@centos7 testdir]# md5sum f1 > f1.md5

[root@centos7 testdir]# md5sum –check f1.md5

f1: 确定

[root@centos7 testdir]# echo ' ' >> f1

[root@centos7 testdir]# md5sum –check f1.md5

f1: 失败

md5sum: 警告:1 个校验和不匹配

5.2 hash加密示例

A—-B:要求传送过程不被人截获,也不能破解 100M的数据

A加密:Pb100Mdata+Sa[hash(data)]}   设:{100Mdata+Sa[hash(data)]==x

先对100Mdata进行hash算法,在用A的私钥加密,即数字签名,随后附加到100M的数据后面,

再用B的公钥进行加密,就相当于只用B的公钥加密了一次

B解密:Sb x –> 100Mdata+Sa[hash(data1)]  Pa{Sa[hash(data)} —>hash(data1)  hash(100Mdata)?==hash(data1)

B先用私钥进行加密,就能得到100M和附加之后A的私钥签名以及数据的hash至,再用A的公钥解 密得到A的签名(知道是A的签名);再用同一种hash运算加密100M数据,用md5sum | sha1sum [ –check ] file,来检验hash值是否一样,md5sum 100Mdata;cat hash(data1)从而保证数据的完整性。

上述是非对称式加密相当于只加密一次(用Sb解密Pb

更进加密方式:

A加密:key100Mdata+Sa[hash(data)]+Pbkey

此为对称式加密和非对称式加密结合,速度快,效率高;先用B的公钥加密key(对称式加密的密码),再用对称式加密key加密数据。

5.3 密钥交换算法

密钥交换:IKEInternet Key Exchange解决对称式密钥的交换,即公用一个key

公钥加密:DH (Deffie-Hellman)

DH

Aa,p协商生成公开的整数a,大素数p;  Ba,p

A:生成隐私数据:x (x<p ),计算得出a^x%p,发送给B;

B:生成隐私数据:y,计算得出a^y%p,发送给A

A:计算得出(ay%px = a^xy%p,生成为密钥;

B:计算得出(ax%py = a^xy%p, 生成为密钥

这样AB得到的密钥都为a^xy%p,就能实现数据加密

六、PKICA证书

6.1 PKICA基本概念

PKI: 公钥基础设施(Public Key Infrastructure);是一种遵循标准的利用公钥加密技为电子商务的开展提供一套安全基础平台的技术和规范。PKI体系结构采用证书管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息捆绑在一起,在Internet网上验证用户的身份,PKI体系结构把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的机密性、完整性。

CA: CA(Certificate Authority),是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

签证机构:CA(Certificate Authority)

注册机构:RA

证书吊销列表:CRL

X.509定义了证书的结构以及认证协议标准;

包含有:版本号序列号签名算法颁发者有效期限主题名称主体公钥CRL分发点扩展信息

发行者签名证书获取

证书类型证书授权机构的证书服务器用户证书

获取证书的两种方法

1使用证书授权机构

生成签名请求(csr csr发送给CA CA处接收签名

2自签名的证书即自己签发自己的公钥

证书申请验证过程

申请证书方申请证书时,需要按规定填写申请表以及生成密钥提交申请,CA签署后发回给申请者;CA的证书是属于自签证书。 在互相得到了证书后,到CA获取公钥进行解密,解密成功可证实对方身份,之前还需要进行核实证书的有效期限和是否被吊销等信息。

安全与加密、申请CA证书

6.2 安全协议SSL/TLS

SSLSecure Socket Layer 安全套接层

TLSTransport Layer Security 传输层安全:对数据进行加密

RFC:最新最全的网络细节

功能:机密性,认证,完整性,重放保护(被截获的数据重新发送)

两阶段的协议,分为握手阶段和应用阶段:

握手阶段(协商阶段): 客户端和服务器端认证对方身份(依赖PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret 生成。

应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信。

两阶段的协议又包括:

Handshake 协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换

ChangeCipherSpec 协议:一条消息表明握手协议已经完成

Alert协议:对握手协议中一些异常的错误提醒,分为fatalwarning 两个级别,fatal 类型错误会直接中断SSL    链接,而warning 级别的错误SSL 链接仍可继续,只是会给出错误警告。

Record 协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等

HTTPS 协议:就是“HTTP协议”和“SSL/TLS协议”的组合。HTTP over SSL”或“HTTP over TLS”,对http    议的文本数据进行加密处理后,成为二进制形式传输。

6.3 openssl

openssl命令:OpenSSL是一个强大的安全套接字层密码库;开源项目,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

三个组件:

openssl:多用途的命令行工具

libcrypto:加密算法库

libssl: 加密模块应用库,实现ssltls

两种运行模式:交互模式和批处理模式

直接输入openssl回车进入交互模式

输入带命令选项的openssl进入批处理模式。

6.3.1对称加密算法

OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4 7种分组加密算法分别是AESDESBlowfishCASTIDEARC2RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。

工具: openssl enc, gpg

加密:

[root@centos7 testdir]# openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher

enter des-ede3-cbc encryption password:

Verifying – enter des-ede3-cbc encryption password:

解密:

[root@centos7 testdir]# openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile1

enter des-ede3-cbc decryption password:

6.3.2 非对称加密算法

OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。

信息摘要算法 OpenSSL实现了5种信息摘要算法,分别是MD2MD5MDC2SHASHA1)和RIPEMDSHA算法事实上包括了SHASHA1两种信息摘要算法,此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSSDSS1

 

工具:md5sum, sha1sum,sha224sum.sha256sum… openssl dgst

SHA1算法计算文件file.txt哈希值,输出到stdout

# openssl dgst -sha1 file.txt

SHA1算法计算文件file.txt哈希值,输出到文件digest.txt

# openssl sha1 -out digest.txt file.txt

6.3.4生成用户密码

openssl passwd -1 -salt SALT(最多8)

passwd命令:man sslpasswd

[root@centos7 ~]# openssl passwd -1 -salt lyx

Password:

$1$centos$Sm4Goo.NmvaS9rG86gpF01

6.3.5生成随机数(man sslrand

openssl rand -base64 | -hex NUM

NUM:  表示字节数;-hex 时,每个字符4 位,出现的字符数为NUM*2

tr -dc A-Za-z0-9_ < /dev/urandom|head -c 20|xargs

6.3.6 生成密钥对(man genrsa

openssl rsa -in PRIVATEKEYFLE -pubout -out PUBLICKEYFILE

openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS

生成密钥

[root@centos7 ~]# (umask 077; openssl genrsa -out key.pem -passout pass:centos -des 2048 )

Generating RSA private key, 2048 bit long modulus

………+++

……………………………………….+++

e is 65537 (0x10001)

从私钥中提取公钥

[root@centos7 ~]# openssl rsa -in key.pem -passin pass:centos -pubout -out pubkey.pem

writing RSA key

随机数生成器:伪随机数字

键盘和鼠标块设备中断

/dev/random:仅从熵池返回随即谁;随机数用尽,阻塞

/dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞

6.4 证书管理

证书申请及签署步骤:

1生成申请请求 2RA核验 3CA签署 4获取证书 5创建CA和申请证书

6.4创建私有CA

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

[root@centos7 ~]# vim /etc/pki/tls/openssl.cnf

[ CA_default ]

dir             = /etc/pki/CA            # 工作目录

certs           = $dir/certs             # 签署文件证书目录

crl_dir         = $dir/crl                # 吊销列表

database        = $dir/index.txt          # 数据库索引文件

#unique_subject = no                    #

                                         #

new_certs_dir   = $dir/newcerts          # 当前签署的证书目录

certificate     = $dir/cacert.pem         # CA自身的证书

serial          = $dir/serial             # 当前签署的证书编号

crlnumber       = $dir/crlnumber         # 吊销列表编号

                                         #

crl             = $dir/crl.pem           # 当前使用的crl

private_key     = $dir/private/cakey.pem  # CA的私有KEY

RANDFILE        = $dir/private/.rand     # private random number file

x509_extensions = usr_cert               # The extentions to add to the cert

配置文件中可以看到定义CA的默认属性;了解属性后即可配置CA

6.4.1创建所需要的文件

[root@centos7 ~]# cd /etc/pki/CA/

[root@centos7 CA]# touch index.txt

[root@centos7 CA]# echo 01 > serial (生成序列号)

6.4.2 CA自签证书

6.4.2.1生成私钥 

#cd /etc/pki/CA/

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

Generating RSA private key, 2048 bit long modulus

……………+++

……………………………………..+++

e is 65537 (0x10001)

注意()表示里面修改的umask值,只对括号里面的私钥文件有效

#cd /etc/pki/CA/private  

#ll cakey.pem cat cakey.pem(查看生成的私钥)

6.4.2.2生成自签证书

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

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

—–

Country Name (2 letter code) [XX]:CN             #国家名称(2字母代码)

State or Province Name (full name) []:beijing           #州或省名称(全名)

Locality Name (eg, city) [Default City]:haidian         #地区名称(如城市)(默认城市)

Organization Name (eg, company) [Default Company Ltd]:linux     #组织名称(如公司)(默认有限公司)

Organizational Unit Name (eg, section) []:centos      #组织单元名称(例如,部门)

Common Name (eg, your name or your server's hostname) []:ca.linux.com  #常见的名字(例如你的名字或你                      的服务器的主机名)

Email Address []:ca@linux.com          #邮件地址

注:命令选项释义

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

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

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

-days n:证书的有效期限

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

6.4.3颁发证书

在需要使用证书的主机生成证书请求;

示例:HTTPS的实现

1.web服务器生成私钥

[root@lv-6 ~]# mkdir /etc/httpd/ssl

[root@lv-6 ~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

Generating RSA private key, 2048 bit long modulus

…………………………………………………….+++

………………………………..+++

e is 65537 (0x10001)

[root@lv-6 ~]# ll /etc/httpd/ssl/

总用量 4

-rw——- 1 root root 1675 1124 15:47 httpd.key

2.生成证书申请文件

[root@lv-6 ~]# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

—–

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:beijing

Locality Name (eg, city) [Default City]:haidian

Organization Name (eg, company) [Default Company Ltd]:linux

Organizational Unit Name (eg, section) []:IT

Common Name (eg, your name or your server's hostname) []:lv.linux.com

Email Address []:lv@linux.com

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

#CA上证书生成是差不多的,区别在于主机名和多了个密码,密码这里留空

#由于是内部使用,注意:默认国家,省,公司名称必须和CA一致

3.将证书请求文件传输给CA

#CA主机上/etc/pki/下创建用于存储审核文件的目录

[root@centos7 CA]# mkdir /etc/pki/sign

[root@centos7 CA]# cd /etc/pki/sign

#将文件传输给CA

[root@lv-6 ~]# scp /etc/httpd/ssl/httpd.csr 172.16.254.254:/etc/pki/sign

root@172.16.254.254's password:

httpd.csr                                                    100% 1045     1.0KB/s   00:00

CA签署证书,并将证书颁发给请求者;

[root@centos7 sign]# openssl ca -in httpd.csr -out httpd.crt -days 365

Using configuration from /etc/pki/tls/openssl.cnf

Check that the request matches the signature

Signature ok

Certificate Details:

         Serial Number: 1 (0x1)

         Validity

             Not Before: Nov 24 08:08:11 2016 GMT

             Not After : Nov 24 08:08:11 2017 GMT

         Subject:

             countryName                = CN

              stateOrProvinceName        = Beijing

             organizationName           = linux

             organizationalUnitName      = centos

             commonName                = lv.linux.com

             emailAddress               = lv@linux.com

         X509v3 extensions:

             X509v3 Basic Constraints:

                 CA:FALSE

             Netscape Comment:

                 OpenSSL Generated Certificate

             X509v3 Subject Key Identifier:

                 45:BE:5E:35:36:07:2D:6F:F5:1B:84:7B:A0:49:D4:2F:C3:08:63:0C

             X509v3 Authority Key Identifier:

                 keyid:6F:BD:95:95:1C:69:CF:C5:D4:9B:09:39:83:7F:F9:AD:21:C3:3A:B5

 

Certificate is to be certified until Nov 24 08:08:11 2017 GMT (365 days)

Sign the certificate? [y/n]:y

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

# 将证书颁发给请求者

[root@centos7 sign]# scp httpd.crt 172.16.54.54:/etc/httpd/ssl/

The authenticity of host '172.16.54.54 (172.16.54.54)' can't be established.

ECDSA key fingerprint is cc:6d:c9:4a:8f:78:7a:b7:87:01:6d:c8:2d:28:cd:26.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '172.16.54.54' (ECDSA) to the list of known hosts.

root@172.16.254.254's password:

httpd.crt                                                    100% 4593     4.5KB/s   00:00

[root@lv-6 ~]# ls /etc/httpd/ssl/

httpd.crt  httpd.csr  httpd.key

#请求主机收到证书

查看证书中的信息

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

4验证

#1.安装mod_ssl模块

[root@lv-6 ~]# yum -y install mod_ssl

#2.编辑ssl的配置文件,定义虚拟主机

[root@lv-6 ~]# vim /etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

 

DocumentRoot "/var/www/html"

ServerName lv.linux.com:443

 

SSLCertificateFile /etc/httpd/ssl/httpd.crt  

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

#3.启动http服务

[root@lv-6 ~]# systemctl start httpd.service

[root@lv-6 ~]# ss -tnl

State       Recv-Q Send-Q  Local Address:Port                 Peer Address:Port

LISTEN      0      128                :::80                             :::*    

LISTEN      0      128                :::443                            :::*   

#4.访问测试

需将CA的证书导入到客户端主机,否则CA将不会被信任。

[root@centos7 ~]# cp /etc/pki/CA/cacert.pem /etc/pki/ca-trust/source/anchors/

[root@centos7 ~]# update-ca-trust

[root@centos7 ~]# curl https://lv.linux.com

Hello,I'm lv

至此一个简单的CA以及申请和签署步骤已完成。这种CA一般应用于内部局域网,如大范围使用或专业使用,建议使用OpenCA或者购买专业公司提供的。

6.2.4吊销证书

证书吊销需要在用户申请或者用户未付款的情况下。正常状态下是不能操作的。

在客户端获取要吊销的证书的serial

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

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

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

吊销证书

生成吊销证书的编号(第一次吊销一个证书时才需要执行)

echo 01 > /etc/pki/CA/crlnumber

更新证书吊销列表

openssl ca -gencrl -out /etc/pki/CA/crl/ca.crl

查看crl文件:

openssl crl -in /etc/pki/CA/crl/ca.crl -noout -text

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

(0)
lyxlyx
上一篇 2016-12-04
下一篇 2016-12-04

相关推荐

  • LNMP WordPress 配置文件修改参考 安装LNMP + 搭建WordPress个人博客的补充

    对小黑的  http://www.178linux.com/17222 的一些补充,因为他嘿嘿嘿我嘿嘿嘿嘿….. 实际使用中必须对一下文件作出修改 建议值为以下建议值 要不然实际使用过程中问题很大 nginx.conf    优化和上传的限制 worker_processes  8; &…

    Linux干货 2016-06-01
  • Linux系统启动流程与内管管理(上)

    在讲linux系统启动流程之前,来讲讲linux的组成,这样能能帮助我们深入了解系统的启动流程,废话不多说直接上系统启动流程图 linux组成 linux:kernel+rootfs kenrel的作用:进程管理、内存管理、网络管理、驱动程序、文件系统、安全管理等   rootfs:程序和glibc 库:函数结合,function,调用接口(头文件…

    系统运维 2016-09-14
  • nginx在linux系统应用详解之一基础介绍和全局配置

    一、nginx简介       1、特点:           (1)nginx服务器既可以作为HTTP服务器,也可以作为反向代理服务器,还可以作为邮件服务器;           (2)能够快速响应静态页面的请求;  …

    2017-06-19
  • RAID特性和常见级别

    简介:    RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。 R…

    Linux干货 2016-02-14
  • 【N25第七周作业】

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 mke2fs 1.42.9 (28…

    2017-04-13
  • N23-第一周博客作业

    一、计算机组成 由五大基本部件【运算器 + 控制器 + 储存器 + 输入设备 + 输出设备】组成且遵循冯诺依曼体系,CPU包含运算器和控制器两大部件。 CPU: 核心部件:运算器、控制器 其他部件:寄存器、缓存、等等 存储器:内存,RAM(Random Access Memory)随机访问存储器。 Input(输入设备):下指令,提供数据等,如:硬盘、键盘、…

    Linux干货 2016-09-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-27 15:26

    文章内容详细,理论与实践完好的结合了起来,行间隔紧凑一点会不会更好看呢?