- 浏览: 449873 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
鱼里的yeol:
正在学习EJB 感觉有些吃力
Ejb3学习之二----Ejb3的Ejb Bean类型介绍 -
phoenix5870:
默认就是singleton的。
Spring中的Singleton模式和Java中的Singleton模式 -
jhys7s8jd:
pdf打印机下载 无水印http://www.onlinedo ...
PDFCreate工具的使用 -
wang371134086:
:e vil:
浅谈Struts2中的拦截器实现责任链模式 -
liu765023051:
亲,local与remote有什么区别呢
EJB学习之三---Local和Remote接口
Key points
SSL验证
双向SSL握手
证书结构
一 SSL验证
为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:
① 客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
② 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③ 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④ 用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的 CA 是否可靠,发行 CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
二 双向SSL握手认证
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响 SSL 过程的安全性)密码方案。 这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用 128 位加密通讯的原因。
三 证书结构
证书各部分的含义
Version ,证书版本号,不同版本的证书格式不同
Serial Number, 序列号,同一身份验证机构签发的证书序列号唯一
Algorithm Identifier, 签名算法,包括必要的参数 Issuer 身份验证机构的标识信息
Period of Validity, 有效期
Subject, 证书持有人的标识信息
Subject’s Public Key, 证书持有人的公钥
Signature, 身份验证机构对证书的签名
证书的格式
认证中心所发放的证书均遵循 X.509 V3 标准,其基本格式如下:
证书版本号(Certificate Format Version) 含义:用来指定证书格式采用的 X.509 版本号。
证书序列号(Certificate Serial Number) 含义:用来指定证书的唯一序列号,以标识 CA 发出的所有公钥证书。
签名(Signature) 算法标识(Algorithm Identifier) 含义:用来指定 CA 签发证书所用的签名算法。 签发此证书的 CA 名称(Issuer ) 含义:用来指定签发证书的 CA 的 X.500 唯一名称(DN, Distinguished Name)。
证书有效期(Validity Period) 起始日期(notBefore) 终止日期(notAfter) 含义:用来指定证书起始日期和终止日期。
用户名称(Subject) 含义:用来指定证书用户的 X.500 唯一名称(DN,Distinguished Name)。
用户公钥信息(Subject Public Key Information)
算法(algorithm)
算法标识(Algorithm Identifier)
用户公钥(subject Public Key) 含义:用来标识公钥使用的算法,并包含公钥本身。
证书扩充部分(扩展域)(Extensions) 含义:用来指定额外信息。
X.509 V3 证书的扩充部分(扩展域)及实现方法
CA 的公钥标识(Authority Key Identifier)
公钥标识(SET 未使用)(Key Identifier)
签发证书者证书的签发者的甄别名(Certificate Issuer)
签发证书者证书的序列号(Certificate Serial Number)
X.509 V3 证书的扩充部分(扩展域)及实现
CA 的公钥标识(Authority Key Identifier)
公钥标识(SET 未使用)(Key Identifier)
签发证书者证书的签发者的甄别名(Certificat
签发证书者证书的序列号(Certificate Serial N含义:CA 签名证书所用的密钥对的唯一标识
用户的公钥标识(Subject Key Identifier) 含义:用来标识与证书中公钥相关的特定密钥进行解密。
证书中的公钥用途(Key Usage) 含义:用来指定公钥用途。
用户的私钥有效期(Private Key Usage Period)
起始日期(Note Before)
终止日期(Note After) 含义:用来指定用户签名私钥的起始日期和终止日期。
CA 承认的证书政策列表(Certificate Policies) 含义:用来指定用户证书所适用的政策,证书政策可由对象标识符表示。
用户的代用名(Substitutional Name) 含义:用来指定用户的代用名。
CA 的代用名(Issuer Alt Name) 含义:用来指定 CA 的代用名。
基本制约(Basic Constraints) 含义:用来表明证书用户是最终用户还是 CA。
在 SET 系统中有一些私有扩充部分(扩展域)Hashed Root Key 含义:只在根证书中使用,用于证书更新时进行回溯。
证书类型(Certificate Type) 含义:用来区别不同的实体。该项是必选的。
商户数据(Merchant Data) 含义:包含支付网关需要的所有商户信息。
持卡人证书需求(Card Cert Required) 含义:显示支付网关是否支持与没有证书的持卡人进行交易。
SET 扩展(SETExtensions) 含义:列出支付网关支持的支付命令的 SET 信息扩展。
CRL 数据定义版本(Version) 含义:显示 CRL 的版本号。
CRL 的签发者(Issuer) 含义:指明签发 CRL 的 CA 的甄别名。
CRL 发布时间(this Update)
预计下一个 CRL 更新时间(Next Update)
撤销证书信息目录(Revoked Certificates)
CRL 扩展(CRL Extension)
CA 的公钥标识(Authority Key Identifier)
CRL 号(CRL Number)
SSL验证
双向SSL握手
证书结构
一 SSL验证
为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:
① 客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
② 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③ 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④ 用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的 CA 是否可靠,发行 CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
二 双向SSL握手认证
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响 SSL 过程的安全性)密码方案。 这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用 128 位加密通讯的原因。
三 证书结构
证书各部分的含义
Version ,证书版本号,不同版本的证书格式不同
Serial Number, 序列号,同一身份验证机构签发的证书序列号唯一
Algorithm Identifier, 签名算法,包括必要的参数 Issuer 身份验证机构的标识信息
Period of Validity, 有效期
Subject, 证书持有人的标识信息
Subject’s Public Key, 证书持有人的公钥
Signature, 身份验证机构对证书的签名
证书的格式
认证中心所发放的证书均遵循 X.509 V3 标准,其基本格式如下:
证书版本号(Certificate Format Version) 含义:用来指定证书格式采用的 X.509 版本号。
证书序列号(Certificate Serial Number) 含义:用来指定证书的唯一序列号,以标识 CA 发出的所有公钥证书。
签名(Signature) 算法标识(Algorithm Identifier) 含义:用来指定 CA 签发证书所用的签名算法。 签发此证书的 CA 名称(Issuer ) 含义:用来指定签发证书的 CA 的 X.500 唯一名称(DN, Distinguished Name)。
证书有效期(Validity Period) 起始日期(notBefore) 终止日期(notAfter) 含义:用来指定证书起始日期和终止日期。
用户名称(Subject) 含义:用来指定证书用户的 X.500 唯一名称(DN,Distinguished Name)。
用户公钥信息(Subject Public Key Information)
算法(algorithm)
算法标识(Algorithm Identifier)
用户公钥(subject Public Key) 含义:用来标识公钥使用的算法,并包含公钥本身。
证书扩充部分(扩展域)(Extensions) 含义:用来指定额外信息。
X.509 V3 证书的扩充部分(扩展域)及实现方法
CA 的公钥标识(Authority Key Identifier)
公钥标识(SET 未使用)(Key Identifier)
签发证书者证书的签发者的甄别名(Certificate Issuer)
签发证书者证书的序列号(Certificate Serial Number)
X.509 V3 证书的扩充部分(扩展域)及实现
CA 的公钥标识(Authority Key Identifier)
公钥标识(SET 未使用)(Key Identifier)
签发证书者证书的签发者的甄别名(Certificat
签发证书者证书的序列号(Certificate Serial N含义:CA 签名证书所用的密钥对的唯一标识
用户的公钥标识(Subject Key Identifier) 含义:用来标识与证书中公钥相关的特定密钥进行解密。
证书中的公钥用途(Key Usage) 含义:用来指定公钥用途。
用户的私钥有效期(Private Key Usage Period)
起始日期(Note Before)
终止日期(Note After) 含义:用来指定用户签名私钥的起始日期和终止日期。
CA 承认的证书政策列表(Certificate Policies) 含义:用来指定用户证书所适用的政策,证书政策可由对象标识符表示。
用户的代用名(Substitutional Name) 含义:用来指定用户的代用名。
CA 的代用名(Issuer Alt Name) 含义:用来指定 CA 的代用名。
基本制约(Basic Constraints) 含义:用来表明证书用户是最终用户还是 CA。
在 SET 系统中有一些私有扩充部分(扩展域)Hashed Root Key 含义:只在根证书中使用,用于证书更新时进行回溯。
证书类型(Certificate Type) 含义:用来区别不同的实体。该项是必选的。
商户数据(Merchant Data) 含义:包含支付网关需要的所有商户信息。
持卡人证书需求(Card Cert Required) 含义:显示支付网关是否支持与没有证书的持卡人进行交易。
SET 扩展(SETExtensions) 含义:列出支付网关支持的支付命令的 SET 信息扩展。
CRL 数据定义版本(Version) 含义:显示 CRL 的版本号。
CRL 的签发者(Issuer) 含义:指明签发 CRL 的 CA 的甄别名。
CRL 发布时间(this Update)
预计下一个 CRL 更新时间(Next Update)
撤销证书信息目录(Revoked Certificates)
CRL 扩展(CRL Extension)
CA 的公钥标识(Authority Key Identifier)
CRL 号(CRL Number)
发表评论
-
OS Workflow Intruction
2011-03-14 01:58 1679OSWorkflow是一个灵活的工作流引擎,设计成可嵌入到企业 ... -
EJB学习之五---MDB(消息驱动EJB)
2010-09-06 13:32 2308前面已经介绍过EJB的Session Bean,这篇文章主要介 ... -
Spring2.5学习之三----AOP研究
2010-05-31 12:09 6510Key Points AOP的基本概念 Advice的类型 A ... -
Spring2.5学习之二----依赖注入
2010-05-30 17:22 2467Key points 依赖注入的原理 依赖注入的方式---XM ... -
Spring学习之一----创建Bean的三种方法
2010-05-30 14:29 27721关键字 BeanFactory ApplicationCont ... -
EJB3学习之四----EJB3新特性(元数据注解和依赖注入)
2010-05-13 01:39 4177EJB3新特性 元数据注解 依赖注入 一 EJB3新特性 ... -
Ejb3学习之二----Ejb3的Ejb Bean类型介绍
2010-05-11 23:01 3284关于Ejb3的Ejb bean类型介 ... -
EJB学习之三---Local和Remote接口
2010-05-10 23:12 8312这篇文章主要来学习Ejb的组成元素,重点介绍Local和Rem ... -
Ejb学习之一---EJB3+Jboss4.2配置开发
2010-05-09 02:59 2897昨天,打算把Ejb整理下,最早用到Ejb+Jboss是在三年前 ... -
Struts Taglib库之(一)Bean讲解
2010-05-05 23:29 0最近准备换工作,也想把一些工作中用到的技术进行链接起来,就把它 ... -
转:Hibernate中cascade和inverse的相关
2011-11-19 17:51 679FROM:http://developer.51cto.com ... -
Struts1和Struts2有何不同?
2010-04-19 00:42 0Struts1和Struts2的区别和对比: Action ... -
Struts2中的Vistor模式
2010-04-19 00:40 1556Visitor访问者模式定义 作用于某个对象群中各个对象的操作 ... -
Spring中的Singleton模式和Prototype模式
2010-04-19 00:06 1832对于在Spring+Struts2结合配置Action=&qu ... -
WebService介绍
2010-04-18 17:01 2981记得初次接触WebService是 ... -
Spring中的Singleton模式和Java中的Singleton模式
2010-04-17 17:09 12694对于Spring中实现Singleton模式,是以IOC容器为 ... -
JavaMail来读取和发送邮件的基本流程
2010-04-15 01:21 1943在应用程序中使用JavaMail来读取邮件的基本流程如下: ... -
SSH框架优缺点【转】
2010-04-15 00:53 6174在过去的一年里,可能 ... -
J2EE面试题
2010-04-14 11:17 0一、基础问答 1.下 ... -
JTOM
2010-04-13 00:24 0JTOM是一个基于Java开放源代码的事物处理管理器。它遵 ...
相关推荐
而SSL双向验证,也称为客户端认证,是一种加强的安全措施,它不仅要求服务器向客户端证明其身份(即服务器证书验证),还要求客户端向服务器证明自己的身份(即客户端证书验证)。这种方式可以防止中间人攻击,增加...
通过对这些代码的分析和学习,可以更好地理解 Netty 中的 SSL/TLS 双向认证工作原理。 总结,Netty 提供了强大而灵活的工具来实现 SSL/TLS 安全通信,包括双向认证。通过正确配置 `SslContext`、处理通道处理器和...
Java SSL(Secure Socket Layer)套接字是一种用于在两个应用程序之间建立安全通信通道的协议,主要目的是为了确保数据传输的安全性。...对于开发者来说,理解SSL/TLS的工作原理以及如何在Java中实现是非常重要的技能。
SSL双向认证握手过程是SSL/TLS协议中的一种身份验证机制,用于确保客户端和服务器之间的通信安全。本文将详细介绍SSL双向认证握手过程的每个步骤,并解释相关的数据结构和加密算法。 第一步:ClientHello 在SSL...
- 由于默认情况下`WebView`可能不支持SSL双向验证,因此可能需要修改`WebView`的源码以实现这一功能。 - 完成研究后将单独撰写文档详细说明具体的实现方法。 #### 结论 本文详细介绍了如何使用`Android...
通过学习这个源码,你可以深入理解SSL双向认证的工作原理,同时提升在易语言中进行网络通信安全编程的能力。这对于开发涉及敏感数据传输的应用,如在线支付、企业内部通讯等场景,是非常重要的。
总结,Tomcat下的SSL双向认证是通过配置Keystore、Truststore,修改Tomcat的服务器配置,并确保客户端正确配置来实现的。这一过程增强了服务器与客户端之间的通信安全性,对于保护敏感数据传输尤其重要。
SSL(Secure Sockets Layer)是一种广泛使用的网络安全协议,它的...通过理解以上概念,你可以更好地理解SSL双向认证的工作原理,并能根据提供的易语言源码进行学习和实践,从而掌握如何在实际应用中实现这一安全机制。
本文将详细介绍如何在`iOS`和`Android`应用中实施SSL双向认证以及配置证书。 一、SSL/TLS协议基础 SSL/TLS协议的主要目标是为网络通信提供加密处理,以防止第三方窃取或篡改信息。HTTPS是HTTP协议与SSL/TLS的结合,...
SSL双向认证学习笔记 本文档主要介绍SSL双向认证的一些知识,涵盖了基础知识、keytool命令、...SSL双向认证学习笔记涵盖了基础知识、keytool命令、openssl安装等方面,旨在帮助读者了解SSL双向认证的原理和实现方法。
### SSL双向认证详解 #### 一、SSL协议概述 SSL(Secure Sockets Layer,安全套接层)协议是一种用于提供互联网通信安全的标准协议。它主要应用于保护网站与用户之间的数据交换,确保敏感信息如个人隐私、银行账户...
本篇文章将深入探讨如何利用Netty实现HTTPS的双向认证(也称为SSL/TLS的客户端身份验证)以及白名单证书验证。 首先,我们需要理解HTTPS的工作原理。HTTPS基于HTTP协议,通过SSL/TLS层提供加密传输和服务器身份验证...
本文将深入探讨SSL/TLS的认证原理,包括加密方式、SSL/TLS的作用以及历史发展。 首先,加密方式是理解SSL/TLS工作原理的基础。对称加密是一种高效且简单的加密手段,使用相同的密钥进行加密和解密,但因为密钥的...
首先,双向验证的基本原理是:客户端不仅需要验证服务器的证书,服务器也需要验证客户端的身份。这通常通过客户端证书来实现,服务器会检查客户端提供的证书是否来自可信任的证书颁发机构(CA)。 **1. 客户端证书...
本篇文章将深入探讨如何在Android应用中实现对自签CA的HTTPS SSL双向认证,并且这些实现方法同样适用于Java SE(J2SE)环境。 首先,我们需要了解HTTPS的基本原理。HTTPS是HTTP协议的安全版本,它通过SSL/TLS协议来...
综上所述,SSL工作原理涉及了加密算法的选择、密钥的协商、身份的验证、数据的加密和完整性保护等多个方面,通过这些机制共同作用,SSL能够在互联网上构建起一个安全的通信环境,保护用户的数据免受窃听和篡改。
SSL(Secure Sockets Layer,安全套接层)是一种广泛使用的网络协议,它为数据通信提供了加密和身份验证的功能,以保证互联网上数据传输的安全性。基于SSL的身份认证和访问控制是网络信息安全领域中的重要技术,它...
其中,双向SSL认证是一种重要的安全措施,它不仅能够验证客户端的身份,还能够确保数据传输的安全性。本文将详细介绍如何在WAS 6.1版本中配置双向SSL认证。 #### 二、准备工作 在进行双向SSL配置之前,需要准备以下...