网络数据传输的安全基础
2016-04-07 21:39
399 查看
网络层级结构
TCP/IP模型中结构没有显示物理层,其物理层在网络接口层以下。网络接口层及其以下对应OSI中的物理层及数据链路层,所有有时候可以将TCP/IP模型折中表示为下面这个模型。
通常我们又可以将其划分为通信子网和资源子网。
运输层以上为资源子网。通过运行在用户空间的进程各种协议实行。
而通信子网则是通过内核空间中的各种协议实现。
所以网络中通信其实各个主机中的进程间的通信:进程将资源加工处理后再通过调用内核完成资源的传输。
通信子网中这些协议只是负责完成资源传输。对资源的加工都是在资源子网层完成。通过应用层的协议实现。例如:HTTP、FTP、Telnet等等。但是这些协议中并没有对资源进行加密等保密措施的功能。如果就这样传输,在传输过程中,资源的保密性和完整性将无法得到保障,在通信过程中,网络上的任何人都可以窃听和修改你的资源。因为这方面的需求,就在传输层(TCP/IP)和应用层(HTTP、FTP、Telnet等应用层协议)之间加了一个半层:传输层安全协议。
通过这个协议对资源进行各种加工,可以保障通信中的保密性和完整性,但是这些加工操作都是需要消耗CPU资源的,所以只是一个半层,可以选择是否通过此半层协议来保障安全和私密性,例如:https(http --> ssl --> https)。或者不通过这半层完成通信,例如http。
传输层安全协议(Transport Layer Security,缩写:TLS),及其前身安全套接层(Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。
网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布了第一版TLS标准文件。在浏览器、电子邮件、即时通讯、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连接,发送数据。目前已成为互联网上保密通讯的工业标准。SSL包含记录层(Record Layer)和传输层,记录层协议确定了传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通讯方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通讯两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。SSL: Secure Sockets Layer
版本:V1.0, V2.0, V3.0(现在任然是主流,但是2014,谷歌发布了此版本的漏洞,现在陆续有很多公司的产品已经禁用此版本了)
TLS: Transport Layer Security
版本:V1.0, V1.1, V1.2, V1.3(目前此版未完成,处于草案阶段)
安全协议要保障的目标
保密性:confidentiality
完整性:integrity
可用性:availability
实现方案的技术(加密和解密)
加密和解密:1,传统加密方法:替代加密方法、置换加密方法
2,现代加密方法:现代块加密方法
密钥算法:
1,对称加密:加密和解密使用同一个密钥
特性:1、加密、解密使用同一个密钥;
2、将原始数据分割成为固定大小的块,逐个进行加密;
功能:数据加密(保密性)
缺陷:1、密钥过多;
2、密钥分发困难;
算法:DES:Data Encryption Standard;
3DES:Triple DES;
AES:Advanced Encryption Standard; (128bits, 192bits, 256bits, 384bits)
Blowfish
Twofish
IDEA
RC6
CAST52
2.公钥加密:密钥分为公钥与私钥
公钥:从私钥中提取产生;可公开给所有人;pubkey
私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key;
特性:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
用途:
数字签名:主要在于让接收方确认发送方的身份;
密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
数据加密(不常用,比对称加密要慢3个数量级)
算法:RSA, DSA, ELGamal
DSS: Digital Signature Standard
DSA:Digital Signature Algorithm
3.单向加密:即提出数据指纹,只能加密,不能解密;
特性:定长输出、雪崩效应;
用途:验证资源完整性;
算法:md5:Message Digest 5, 128bits
sha1:Secure Hash Algorithm 1, 160bits
sha224, sha256, sha384, sha512
4.密钥交换: IKE(Internet Key Exchange)
功能:完成双方密钥交换
两种方式: 1.公钥加密 2.DH(Deffie-Hellman)
安全协议分层设计
1、最底层:基础算法原语的实现,aes, rsa, md5
2、向上一层:各种算法的实现;
3、再向上一层:组合算法实现的半成品;
4、用各种组件拼装而成的各种成品密码学协议软件;
安全协议的开源实现
Linux系统:OpenSSL(ssl), GPG(pgp)
OPENSSL
由三部分组成:libencrypto库,libssl库,openssl多用途命令行工具
SSL实现过程简要描述:A,B双方通信
A需要和B进行通信,完成双方交换资源的目的。
1,A向B建立通信并索要B的公钥,将A自己的公钥发给B。然后B公钥发送给A。
2,A收到B的公钥,首先对要发送给B的资源(此后将其称为file)进行单向加密计算,得到此资源的特征码。然后用A自己的私钥对这段特征码进行加密,加密后的文件即为数字签名(此后将其称为sign)。再使用对称加密的方式把数字签名sigh和资源file进行加密,得到加密后的文件(file.crypt),然后使用B的公钥把之前用于对称加密的秘钥进行加密,得到文件(key)。最后将file.crypt和key发送给B。
3,B收到file.crypt和key之后,首先使用自己的私钥解密文件key,得到用于对称加密的密钥。然后使用此秘钥对文件file.crypt进行对称解密,得到数字签名sign和资源file。此过程保证了资源的保密性。然后使用A的公钥对数字签名sign进行解密。得到一段文件特征码。再对资源file进行单向加密得到一段特征码。两个特征码进行比对。一致的话,则文件完整。此过程保证了资源的完整性。
上面这段描述不够精确,但有助于理解SSL会话过程。从上面可以看出,这样的方式可以保证会话中资源的保密和完整性。但这一切的基础都是建立在,AB双方彼此可确认对方的公钥和其主体身份吻合的情况下,不然一切安全都无从谈起。例如:当AB之间相进行的通信的时候,C知道了,他同时冒充A和B,和另一方完成了上述的通信过程。这样AB需要进行通信的资源,C全部都窃听到了,并且AB通过交换获得的资源也全部由C决定(这种称为中间人攻击)。因此为了保证通信主体及其公钥可信度,需要一个第三方机构(Trusted third party,TTP)来完成这一工作。这个就是pki。
PKI(Public Key Infrastructure):公钥基础设施
由以下组成:
签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库:
CA其颁布的证书规格:X.509v3X.509v3:定义了证书的结构以及认证协议标准证书格式:
版本号
序列号
签名算法ID
发行者名称
有效期限
主体名称
主体公钥
发行者的惟一标识
主体的惟一标识
扩展
发行者的签名
在此基础上我们可以再描述以下SSL会话的过程:
SSL会话主要三步:客户端向服务器端索要并验正证书;
双方协商生成“会话密钥”;
双方采用“会话密钥”进行加密通信;SSL Handshake Protocol:
第一阶段:ClientHello:
支持的协议版本,比如tls 1.2;
客户端生成一个随机数,稍后用户生成“会话密钥”
支持的加密算法,比如AES、3DES、RSA;
支持的压缩算法;
第二阶段:ServerHello:
确认使用的加密通信协议版本,比如tls 1.2;
服务器端生成一个随机数,稍后用于生成“会话密钥”
确认使用的加密方法;
服务器证书;
第三阶段:验正服务器证书,在确认无误后取出其公钥;(发证机构、证书完整性、证书持有者、证书有效期、吊销列表)
发送以下信息给服务器端:一个随机数;编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;客户端握手结束通知;
第四阶段:收到客户端发来的第三个随机数pre-master-key后,计算生成本次会话所有到的“会话密钥”;
向客户端发送如下信息:
编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;
服务端握手结束通知;
openSSL工具的运用:组件:libcrypto, libssl主要由开发者使用;
openssl:多用途命令行工具;
使用格式:openssl command [ command_opts ] [ command_args ]
可使用 openssl version查看当前版本。
多个子命令,分为三类: 标准命令
消息摘要命令(dgst子命令)
加密命令(enc子命令)
标准命令: enc:加密解密
ca:证书
req:申请
genrsa:生成私钥
...
使用示例:
1,对称加密:
工具:openssl enc
支持的算法:3des, aes, blowfish, towfish
获取使用帮助:openssl enc --help
以/etc/passwd为例:
加密:
解密:
2,单向加密:
工具:openssl dgst
算法:md5sum, sha1sum, sha224sum, ...
生成用户密码:工具:passwd, openssl passwd
3.生成随机数:
工具:openssl rand
~]# openssl rand -hex NUM
~]# openssl rand -base NUM
4.生成密钥:
生成私钥: ~]# (umask 077; openssl genrsa -out /PATH/TO/PRIVATE_KEY_FILE NUM_BITS)
提出公钥: ~]# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout
5.密钥交换:
公钥加密
算法:RSA,ELGamal
工具:openssl rsautl
私钥解密:
6.数字签名:
私钥签名:
算法:RSA, DSA, ELGamal
工具:openssl rsautl
公钥解密
CA
CA:公共信任的CA,
私有CA;仅供内部使用
建立私有CA
工具: openssl,openssl ca
配置文件:/etc/pki/tls/openssl.cnf
构建私有CA:在确定配置为CA的服务器上生成一个自签证书,并为CA提供所需要的目录及文件即可;
步骤:(1) 生成私钥;
~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) (此命令的含义是使生成的私钥权限为:600,只有属主有权限读写,也可先生成密钥,再修改其权限为600)
(2) 生成自签证书;
~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
-new:生成新证书签署请求;
-x509:生成自签格式证书,专用于创建私有CA时;
-key:生成请求时用到的私钥文件路径;
-out:生成请求证书的文件路径;如果自签操作将直接生成签署过的证书;
-days:证书的有效时长,单位是day;
(3) 为CA提供所需的目录及文件;
~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
~]# touch /etc/pki/CA/{serial,index.txt}
~]# echo 01 > /etc/pki/CA/serial
要用到证书进行安全通信的服务器,需要向CA请求签署证书
步骤:(以httpd为例)
(1) 用到证书的主机生成私钥;
~]# mkdir /etc/httpd/ssl
~]# cd /etc/httpd/ssl
~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 4092)
(2) 生成证书签署请求
~]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
(3) 将请求通过可靠方式发送给CA主机;
(4) 在CA主机上签署证书;
~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
查看证书中的信息:
~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
吊销证书:
步骤:
(1) 客户端获取要吊销的证书的serial(在使用证书的主机执行):
~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
(2) CA主机吊销证书
先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致;
吊销:
# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem (其中的SERIAL要换成证书真正的序列号)
(3) 生成吊销证书的吊销编号(第一次吊销证书时执行)
# echo 01 > /etc/pki/CA/crlnumber
(4) 更新证书吊销列表
# openssl ca -gencrl -out thisca.crl
查看crl文件:
# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text
参考:维基百科SSL条目,马哥教育课堂笔记
TCP/IP模型中结构没有显示物理层,其物理层在网络接口层以下。网络接口层及其以下对应OSI中的物理层及数据链路层,所有有时候可以将TCP/IP模型折中表示为下面这个模型。
通常我们又可以将其划分为通信子网和资源子网。
运输层以上为资源子网。通过运行在用户空间的进程各种协议实行。
而通信子网则是通过内核空间中的各种协议实现。
所以网络中通信其实各个主机中的进程间的通信:进程将资源加工处理后再通过调用内核完成资源的传输。
通信子网中这些协议只是负责完成资源传输。对资源的加工都是在资源子网层完成。通过应用层的协议实现。例如:HTTP、FTP、Telnet等等。但是这些协议中并没有对资源进行加密等保密措施的功能。如果就这样传输,在传输过程中,资源的保密性和完整性将无法得到保障,在通信过程中,网络上的任何人都可以窃听和修改你的资源。因为这方面的需求,就在传输层(TCP/IP)和应用层(HTTP、FTP、Telnet等应用层协议)之间加了一个半层:传输层安全协议。
通过这个协议对资源进行各种加工,可以保障通信中的保密性和完整性,但是这些加工操作都是需要消耗CPU资源的,所以只是一个半层,可以选择是否通过此半层协议来保障安全和私密性,例如:https(http --> ssl --> https)。或者不通过这半层完成通信,例如http。
传输层安全协议(Transport Layer Security,缩写:TLS),及其前身安全套接层(Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。
网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布了第一版TLS标准文件。在浏览器、电子邮件、即时通讯、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连接,发送数据。目前已成为互联网上保密通讯的工业标准。SSL包含记录层(Record Layer)和传输层,记录层协议确定了传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通讯方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通讯两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。SSL: Secure Sockets Layer
版本:V1.0, V2.0, V3.0(现在任然是主流,但是2014,谷歌发布了此版本的漏洞,现在陆续有很多公司的产品已经禁用此版本了)
TLS: Transport Layer Security
版本:V1.0, V1.1, V1.2, V1.3(目前此版未完成,处于草案阶段)
安全协议要保障的目标
保密性:confidentiality
完整性:integrity
可用性:availability
实现方案的技术(加密和解密)
加密和解密:1,传统加密方法:替代加密方法、置换加密方法
2,现代加密方法:现代块加密方法
密钥算法:
1,对称加密:加密和解密使用同一个密钥
特性:1、加密、解密使用同一个密钥;
2、将原始数据分割成为固定大小的块,逐个进行加密;
功能:数据加密(保密性)
缺陷:1、密钥过多;
2、密钥分发困难;
算法:DES:Data Encryption Standard;
3DES:Triple DES;
AES:Advanced Encryption Standard; (128bits, 192bits, 256bits, 384bits)
Blowfish
Twofish
IDEA
RC6
CAST52
2.公钥加密:密钥分为公钥与私钥
公钥:从私钥中提取产生;可公开给所有人;pubkey
私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key;
特性:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
用途:
数字签名:主要在于让接收方确认发送方的身份;
密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
数据加密(不常用,比对称加密要慢3个数量级)
算法:RSA, DSA, ELGamal
DSS: Digital Signature Standard
DSA:Digital Signature Algorithm
3.单向加密:即提出数据指纹,只能加密,不能解密;
特性:定长输出、雪崩效应;
用途:验证资源完整性;
算法:md5:Message Digest 5, 128bits
sha1:Secure Hash Algorithm 1, 160bits
sha224, sha256, sha384, sha512
4.密钥交换: IKE(Internet Key Exchange)
功能:完成双方密钥交换
两种方式: 1.公钥加密 2.DH(Deffie-Hellman)
安全协议分层设计
1、最底层:基础算法原语的实现,aes, rsa, md5
2、向上一层:各种算法的实现;
3、再向上一层:组合算法实现的半成品;
4、用各种组件拼装而成的各种成品密码学协议软件;
安全协议的开源实现
Linux系统:OpenSSL(ssl), GPG(pgp)
OPENSSL
由三部分组成:libencrypto库,libssl库,openssl多用途命令行工具
SSL实现过程简要描述:A,B双方通信
A需要和B进行通信,完成双方交换资源的目的。
1,A向B建立通信并索要B的公钥,将A自己的公钥发给B。然后B公钥发送给A。
2,A收到B的公钥,首先对要发送给B的资源(此后将其称为file)进行单向加密计算,得到此资源的特征码。然后用A自己的私钥对这段特征码进行加密,加密后的文件即为数字签名(此后将其称为sign)。再使用对称加密的方式把数字签名sigh和资源file进行加密,得到加密后的文件(file.crypt),然后使用B的公钥把之前用于对称加密的秘钥进行加密,得到文件(key)。最后将file.crypt和key发送给B。
3,B收到file.crypt和key之后,首先使用自己的私钥解密文件key,得到用于对称加密的密钥。然后使用此秘钥对文件file.crypt进行对称解密,得到数字签名sign和资源file。此过程保证了资源的保密性。然后使用A的公钥对数字签名sign进行解密。得到一段文件特征码。再对资源file进行单向加密得到一段特征码。两个特征码进行比对。一致的话,则文件完整。此过程保证了资源的完整性。
上面这段描述不够精确,但有助于理解SSL会话过程。从上面可以看出,这样的方式可以保证会话中资源的保密和完整性。但这一切的基础都是建立在,AB双方彼此可确认对方的公钥和其主体身份吻合的情况下,不然一切安全都无从谈起。例如:当AB之间相进行的通信的时候,C知道了,他同时冒充A和B,和另一方完成了上述的通信过程。这样AB需要进行通信的资源,C全部都窃听到了,并且AB通过交换获得的资源也全部由C决定(这种称为中间人攻击)。因此为了保证通信主体及其公钥可信度,需要一个第三方机构(Trusted third party,TTP)来完成这一工作。这个就是pki。
PKI(Public Key Infrastructure):公钥基础设施
由以下组成:
签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库:
CA其颁布的证书规格:X.509v3X.509v3:定义了证书的结构以及认证协议标准证书格式:
版本号
序列号
签名算法ID
发行者名称
有效期限
主体名称
主体公钥
发行者的惟一标识
主体的惟一标识
扩展
发行者的签名
在此基础上我们可以再描述以下SSL会话的过程:
SSL会话主要三步:客户端向服务器端索要并验正证书;
双方协商生成“会话密钥”;
双方采用“会话密钥”进行加密通信;SSL Handshake Protocol:
第一阶段:ClientHello:
支持的协议版本,比如tls 1.2;
客户端生成一个随机数,稍后用户生成“会话密钥”
支持的加密算法,比如AES、3DES、RSA;
支持的压缩算法;
第二阶段:ServerHello:
确认使用的加密通信协议版本,比如tls 1.2;
服务器端生成一个随机数,稍后用于生成“会话密钥”
确认使用的加密方法;
服务器证书;
第三阶段:验正服务器证书,在确认无误后取出其公钥;(发证机构、证书完整性、证书持有者、证书有效期、吊销列表)
发送以下信息给服务器端:一个随机数;编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;客户端握手结束通知;
第四阶段:收到客户端发来的第三个随机数pre-master-key后,计算生成本次会话所有到的“会话密钥”;
向客户端发送如下信息:
编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;
服务端握手结束通知;
openSSL工具的运用:组件:libcrypto, libssl主要由开发者使用;
openssl:多用途命令行工具;
使用格式:openssl command [ command_opts ] [ command_args ]
可使用 openssl version查看当前版本。
多个子命令,分为三类: 标准命令
消息摘要命令(dgst子命令)
加密命令(enc子命令)
标准命令: enc:加密解密
ca:证书
req:申请
genrsa:生成私钥
...
使用示例:
1,对称加密:
工具:openssl enc
支持的算法:3des, aes, blowfish, towfish
获取使用帮助:openssl enc --help
以/etc/passwd为例:
加密:
解密:
2,单向加密:
工具:openssl dgst
算法:md5sum, sha1sum, sha224sum, ...
生成用户密码:工具:passwd, openssl passwd
3.生成随机数:
工具:openssl rand
~]# openssl rand -hex NUM
~]# openssl rand -base NUM
4.生成密钥:
生成私钥: ~]# (umask 077; openssl genrsa -out /PATH/TO/PRIVATE_KEY_FILE NUM_BITS)
提出公钥: ~]# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout
5.密钥交换:
公钥加密
算法:RSA,ELGamal
工具:openssl rsautl
私钥解密:
6.数字签名:
私钥签名:
算法:RSA, DSA, ELGamal
工具:openssl rsautl
公钥解密
CA
CA:公共信任的CA,
私有CA;仅供内部使用
建立私有CA
工具: openssl,openssl ca
配置文件:/etc/pki/tls/openssl.cnf
构建私有CA:在确定配置为CA的服务器上生成一个自签证书,并为CA提供所需要的目录及文件即可;
步骤:(1) 生成私钥;
~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) (此命令的含义是使生成的私钥权限为:600,只有属主有权限读写,也可先生成密钥,再修改其权限为600)
(2) 生成自签证书;
~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
-new:生成新证书签署请求;
-x509:生成自签格式证书,专用于创建私有CA时;
-key:生成请求时用到的私钥文件路径;
-out:生成请求证书的文件路径;如果自签操作将直接生成签署过的证书;
-days:证书的有效时长,单位是day;
(3) 为CA提供所需的目录及文件;
~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
~]# touch /etc/pki/CA/{serial,index.txt}
~]# echo 01 > /etc/pki/CA/serial
要用到证书进行安全通信的服务器,需要向CA请求签署证书
步骤:(以httpd为例)
(1) 用到证书的主机生成私钥;
~]# mkdir /etc/httpd/ssl
~]# cd /etc/httpd/ssl
~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 4092)
(2) 生成证书签署请求
~]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
(3) 将请求通过可靠方式发送给CA主机;
(4) 在CA主机上签署证书;
~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
查看证书中的信息:
~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
吊销证书:
步骤:
(1) 客户端获取要吊销的证书的serial(在使用证书的主机执行):
~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
(2) CA主机吊销证书
先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致;
吊销:
# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem (其中的SERIAL要换成证书真正的序列号)
(3) 生成吊销证书的吊销编号(第一次吊销证书时执行)
# echo 01 > /etc/pki/CA/crlnumber
(4) 更新证书吊销列表
# openssl ca -gencrl -out thisca.crl
查看crl文件:
# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text
参考:维基百科SSL条目,马哥教育课堂笔记
相关文章推荐
- 访问Nginx发生SSL connection error的一种情况
- MySQL复制解决方案(Replication Solutions)
- Apache SSL服务器配置SSL详解
- 配置apache默认使用ssl的方法
- World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法
- Apache、SSL、MySQL和PHP平滑无缝地安装
- mysql通过ssl的方式生成秘钥具体生成步骤
- windows服务器中检测PHP SSL是否开启以及开启SSL的方法
- python简单实现基于SSL的IRC bot实例
- Tomcat ssl报错Connector attribute SSLCertificateFile must be defined when using SSL with APR解决方法
- PHP实现支持SSL连接的SMTP邮件发送类
- 在Apache服务器上安装SSL支持的教程
- MySQL基于SSL协议进行主从复制的详细操作教程
- 提高NodeJS中SSL服务的性能
- PHP下SSL加密解密、验证、签名方法(很简单)
- LNMP系列教程之 SSL安装WordPress博客(程序下载与安装)
- IIS7下配置SSL的方法分析
- 在Nginx服务器中使用LibreSSL的教程