没有合适的资源?快使用搜索试试~ 我知道了~
openssl技术原理和各平台解决方案
3星 · 超过75%的资源 需积分: 10 22 下载量 5 浏览量
2015-09-08
11:24:33
上传
评论
收藏 323KB DOC 举报
温馨提示
试读
16页
由于项目需求,网关需要和多个不同的平台进行tls加密通讯,在不同的开发平台使用tls方式是不同的,鄙人也爬过很多坑,查过很多资料,在安卓,记录了java,ios,c++各个平台的生成方式和使用方式,错误问题的解决。
资源推荐
资源详情
资源评论
openssl 技术原理和各平台解决方案
By:JasonsAlex(QQ5314
01335)
Date:15/09/07
Company:Vargo Tech.
System:CentOS6.6
openssl 技术原理和各平台解决方案................................................................................................1
一. openssl 技术原理.......................................................................................................................1
二. c++服务器和客户端证书生成...................................................................................................11
三. JAVA 服务端和客户端证书生成(JKS).....................................................................................12
四. 安卓客户端证书生成(BKS)(双向)...........................................................................................14
五. IOS 客户端证书生成(P12).........................................................................................................15
六. 错误信息的汇总和解决方案.....................................................................................................15
注:文中的提到的 cer 和 crt 为同一格式,只是命名不同
一.openssl 技术原理
你要是对 SSL或 X.509 证书一无所知, 那我大概解释下. 对于那些打算用自签名证书
(self-signed certicate)的人来说, 需要了解自签名证书跟花钱购买机构颁发的证书
有什么区别.
首先我们需要了解下 SSL 证书究竟是个什么东东? 其实它就包含俩部分: 1) 一个身份标
识,一个用来识别身份的东西, 有点类似警察叔叔通过护照或驾照查你的身份;2) 一个公
共密钥, 这个用来给数据加密, 而且只有证书的持有者才能解密.简而言之,SSL 证书就俩
个功能, 身份验证跟保障通讯过程中的数据安全.
另外还有一点很重要. 那就是一个证书可以给另外一个证书“签字”.用 layman 的话说就
是 Bob 用他自己的证书在别的证书上盖上 “同意” 两个红红的大字. 如果你信任 Bob (当
然还有他的证书), 那么你也可以信任由他签发的证书. 在这个例子中, Bob 摇身一变, 成
了证书颁发机构(Certicate Authority). 现在主流的浏览器都自带一大堆受信任证书
颁发机构(trusted Certicate Authorities)(比如:Thawte,Verisign
等).
最 后 我 们 讲 一 讲 浏 览 器 是 怎 么 使 用 证 书 的 .笼 统 的 讲 ,当 你 打 开 下 列 连 接 的 时 候
“https://www.yoursite.com” :
服务器会给浏览器发一个证书.
浏览器会对比证书中的“common name”(有时也叫 “subject”) 跟服务器的域名是否
一样.例如, 一个从“www.yoursite.com”网站发过来的证书就应该有一个内容是
“www.yoursite.com” 的 common name, 否则浏览器就会提示该证书有问题.
浏览器验证证书真伪, 有点像门卫通过证件上的全息图辨别你的证件是不是真的 . 既然在
现实生活中有人伪造别人的身份 . 那么在网络世界也就有人造假, 比如 用你的域名
“www.yoursite.com” 来伪造一个安全证书.浏览器在验证的时候, 会检查这个证书
是否是它信任机构颁发的,如果不是, 那么浏览器就会提示这个证书可能有问题.当然, 用
户可以选择无视警告, 继续使用.
一旦证书通过验证 (或是用户无视警告, 继续使用有问题的证书),浏览器就开始利用证书
中的公开密钥加密数据并传给服务器.
(一).数字签名是什么?
1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。
2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。
3.苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果。
4.鲍勃收信后,用私钥解密,看到信件内容。
5.鲍勃给苏珊回信,写完后用 Hash 函数,生成信件的摘要(digest)。
6.然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。
7.鲍勃将这个签名,附在信件下面,一起发给苏珊。
8.苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信
确实是鲍勃发出的。
剩余15页未读,继续阅读
资源评论
- jiajiahuhong2018-07-24内容一般般
jasonslaex
- 粉丝: 114
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功