SSL协议相关证书文件
密钥:
我理解是公钥+私钥的统称。
密钥对:
公钥(证书)和私钥成对存在。通信双方各持有自己的私钥和对方的公钥。自己的私钥需密切保护,而公钥是公开给对方的。在windows下,单独存在的公钥一般是后缀为.cer的文件
A用自己的私钥对数据加密,发给B,B用A提供的公钥解密。同理B用自己的私钥对数据加密,发送给A后,A用B的公钥解开。
公钥的两个用途:
1。验证对方身份:防止其他人假冒对方发送数据给你。
2。解密。
私钥的两个用途:
1。表明自己身份:除非第三方有你私钥,否则无法假冒你发送数据数据给对方。
2。加密。
jks(java key store):
java用的存储密钥的容器。可以同时容纳n个公钥或私钥,后缀一般是.jks或者.keystore或.truststore等,千奇百怪。不管什么后缀,它就是一个容器,各个公司或机构叫法不同而已。比如把只包含"受信任的公钥"的容器存成.truststore文件等。
用jdk\bin目录下的keytool.exe对其进行查看,导入,导出,删除,修改密码等各种操作。可以对jks容器加密码,输入正确才可以操作此容器中密钥。还有一个密码的概念与上者不同,是jks中存储着的私钥的密码,通常是绝密的。
pfx:
和jks功能相同但文件格式不同,pfx是浏览器用的。
可以用一些工具程序把pfx转化成jks格式供java程序使用(如银行只提供了pfx,但是我们想用httpclient模拟浏览器自动访问时)。据说IE导出的pfx格式不标准,转化jks时往往报错,可以尝试用Netscape Navigator导入再导出,然后再转化。碰到过这样的情况。
常见的几种https系统的访问。经https协议的数据经过加密传输,防止第三方监听,冒充和篡改。
1.不需要用户做任何操作,比如https://www.verisign.com/
这是因为此公钥是合法的(公钥是可信任的机构颁发,和实际域名吻合,而且没有到期)。用IE访问时空白处点右键可以查看公钥信息。
2.https的页面会弹出公钥确认提示
公钥不合法(不是可信任的机构颁发,和实际域名不吻合,已到期),但用户点“是”即表示忽略危险,继续访问。
3.需要往浏览器倒入一个文件才可访问的
一般是银行在线交易等特别需要安全的场合,站方(银行)需要验证访客身份(如要确认必须是已注册的网银商户),需要在浏览器中导入含有访客私钥的pfx文件。
生成jks:
在银行没有提供jks文件的情况下对帐,需要自己生成jks
对于1,2类https网站,如果java程序访问此地址时在jre默认的信任库中找不到对方证书的颁发机构,则会抛出安全方面的异常。所以要将站方公钥存进一个jks,并在环境变量中设定,表明信任此库中的公钥,才可以正常访问。
我是用现成的make_jks的工具类在程序中读取https://xxxx地址,程序自动抓取出银行公钥并存进一个jks文件。
在浏览器中查看站方公钥时,把公钥导出(一般是cer后缀),然后用keytool.exe手工将此cer导入一个jks或许也可以?没试过。
以上1,2类https网站,仅仅是用到了公钥的“验证对方身份”功能。对于第3种https网站,也可以找到现成的程序把pfx直接转成jks。既然动用了pfx,一般是把公钥的两个用途和私钥的两个用途都用起来。
SSL协议相关证书文件的更多相关文章
- 老李分享:SSL协议相关证书
老李分享:SSL协议相关证书 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...
- ssl协议相关
<1> SSL版本 测试浏览器支持的SSL版本的网站: https://www.ssllabs.com/ssltest/viewMyClient.html 0xfefd (DTLS ...
- ActiveMQ持久化到MySQL以及使用SSL协议通讯
最近公司事情稍微少了点,研究下怎么优化几个系统的交互,因为我们目前使用的是长链接的同步接口,就考虑用下MQ来处理下.由于公司对安全有要求且和CA业务有关,则使用了SSL协议.此文使用的是Activem ...
- SSL协议运行机制
SSL/TLS协议运行机制 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获知通信内容. ...
- SSL协议与数字证书原理
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- [转]SSL协议与数字证书原理
1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议.这种协议在WESERVER上获得了广泛的应用. SSL在TC ...
- 谈Delphi中SSL协议的应用(好多相关文章)
摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...
- 开发微信小程序中SSL协议的申请、证书绑定、TLS 版本处理等
在上篇随笔<基于微信小程序的系统开发准备工作>介绍了开发微信小程序的一些前期的架构设计.技术路线 .工具准备等方面内容,本篇随笔继续这个步骤,逐步介绍我们实际开发过程中对SSL协议的申请及 ...
- 基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good
上周帮一个童鞋做一个数字认证的实验,要求是编程实现一个基于X.509证书认证的过程,唉!可怜我那点薄弱的计算机网络安全的知识啊!只得恶补一下了. 首先来看看什么是X.509.所谓X.509其实是一种非 ...
随机推荐
- openfire3.10.0 在mac10.10.3,jdk1.8中,安装后无法打开的解决方案
先展示一下错误 解决方案很简单,卸载jdk,openfire之后,重新安装就行 步骤如下: (1)卸载jdk1.8 终端依次执行下面的命令 sudo rm -fr /Library/Internet\ ...
- mybatis学习一
1:ORM概念 ORM(OBJECT-RELATIONSHIP MAPPING) 即对象关系映射,是一种思想,实质是将数据库中的数据用对象的形式表现出来 JPA(JAVA PERSISIT ...
- STM32 - SYSTICK(系统滴答定时器)
SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15).在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基.例如,为多个任务许以不同数目 ...
- [HNOI 2016]树
Description 题库链接 给你一棵 \(N\) 个节点根节点为 \(1\) 的有根树,结点的编号为 \(1\sim N\) :我们称这颗树为模板树.需要通过这棵模板树来构建一颗大树.构建过程如 ...
- [NOIp 2016]换教室
Description 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 $2n$ 节课程安排在 $n$ 个时间段上.在第 $i$($1 \leq ...
- [bzoj1063][Noi2008]道路设计
来自FallDream的博客,未经允许,请勿转载,谢谢. Z国坐落于遥远而又神奇的东方半岛上,在小Z的统治时代公路成为这里主要的交通手段.Z国共有n座城市,一些城市之间由双向的公路所连接.非常神奇的是 ...
- bzoj3963[WF2011]MachineWorks cdq分治+斜率优化dp
3963: [WF2011]MachineWorks Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 270 Solved: 80[Submit][S ...
- [APIO2012]
来自FallDream的博客,未经允许,请勿转载,谢谢. --------------------------------------------------- A.dispatching 派遣 上次 ...
- EF 6.x、EF Core实现dynamic动态查询和EF Core实现多个上下文实例池你了解多少?
前言 很长一段时间没有写博客了,今天补上一篇吧,偶尔发现不太愿意写博客了,太耗费时间,不过还是在坚持当中,毕竟或许写出来的东西能帮到一些童鞋吧,接下来我们直奔主题.无论是在在EF 6.x还是EF Co ...
- String 类
一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...