银行接口的私钥和公钥详解

中国银行、建设银行、农业银行、工商银行、招商银行等支付接口的私钥和公钥详解

密钥:
我理解是公钥+私钥的统称。

密钥对:
公钥(证书)和私钥成对存在。
通信双方各持有自己的私钥和对方的公钥。自己的私钥需密切保护,而公钥是公开给对方的。在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,一般是把公钥的两个用途和私钥的两个用途都用起来。

文章来源:http://yijianfengvip.blog.163.com/blog/static/175273432201162193348604/

银行接口的私钥和公钥详解相关推荐

  1. Java8-5-Function函数式接口进阶与默认方法详解

    Java8-5-函数式接口进阶与默认方法详解 上一篇我们快速的借助示例演示了stream api的简单应用,体会到了使用stream api对集合处理的便捷和其与函数式接口密不可分的关系,所以为了更高 ...

  2. 转载:linux驱动层到应用层的重要接口sys文件系统---/sys目录详解

    linux驱动层到应用层的重要接口sys文件系统---/sys目录详解 Linux2.6内核中引入了sysfs文件系统.sysfs文件系统整理的设备驱动的相关文件节点,被视为dev文件系统的替代者.同 ...

  3. 调用百度ai接口实现图片文字识别详解

    调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的,为了不浪费大家时间.公司最近和短视频公司合作,需要监控app的截图上的文字是否符合规范,也就是确保其没有违规的文字.到网上找了一些 ...

  4. TYPE-C接口的工作原理图文详解

    TYPE-C接口的工作原理图文详解 发表于 2018-01-29 09:53:53 电子常识 +关注 2016年,有一个名词在手机上非常火,几乎所有的旗舰手机都会提到这个名词,说到这,大家应该都够猜到 ...

  5. [享学Eureka] 三十一、DiscoveryClient透彻解析(八):接口方法和shutdown()方法详解

    成为一个成功者最重要的条件,就是每天精力充沛的努力工作,不虚掷光阴. –> 返回Netflix OSS套件专栏汇总 <– 代码下载地址:https://github.com/f641385 ...

  6. 公钥与私钥,HTTPS详解

    1.公钥与私钥原理 1)鲍勃有两把钥匙,一把是公钥,另一把是私钥 2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可 ...

  7. FPGA学习之路—接口(3)—SPI详解及Verilog源码分析

    FPGA学习之路--SPI详解及Verilog源码分析 概述 SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线. 优点 支持全 ...

  8. java类与接口思维导图_详解java接口基础知识附思维导图

    接口: 官方的含义是---->java接口是一系列方法的声明,是一些方法特征的集合 疑问: 那为什么不用抽象类呢?把他们共有的方法集合起来放在一个抽象类里面,同样可以调用哇,但是反过来想一想如果 ...

  9. Arduino TFT_eSPI库来驱动SPI接口的LCD显示文字详解

    Arduino TFT_eSPI库来驱动SPI接口的LCD显示详解 相关库github地址:https://github.com/Bodmer/TFT_eSPI 文字显示过程详解 TFT eSPI显示 ...

最新文章

  1. linux useradd
  2. SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页
  3. 端口复用突破防火墙(图)
  4. Ubuntu中安装python3
  5. 【Docker】安装tomcat并部署应用
  6. 计算机怎么会自动开机,Windows10系统电脑半夜会自动开机如何解决
  7. 三星Galaxy Fold全球翻车后 推迟发售时间进一步改进
  8. JavaScript权威指南学习笔记(一)
  9. 计算机硬盘扇区修复,w7硬盘坏道修复详细教程
  10. 计算机的存储功能是什么原因,电脑储存的意义是什么
  11. Python调用PyMol
  12. 孙宇晨真的有道歉吗?逐句解读孙宇晨避重就轻的“致歉信”
  13. Angular入门到精通系列教程(15)- 目录结构(工程结构)推荐
  14. 图像处理公共数据库下载地址集锦
  15. Win7中双击bat文件变成打开文本编辑器后如何恢复
  16. 【考研经验】一个苍山的不入流的学生的考研之路
  17. iOS7设置状态栏颜色
  18. HTML中表格和表单的简单构造和样式
  19. USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps...
  20. ad_with_lanelet2 编译问题解决

热门文章

  1. CASS成图软件应用有哪些技巧?
  2. 从RNN到Attention
  3. 用python把图片存入变量img_用python爬虫保存instagram图片
  4. 查看开源操作系统ReactOS源码,解决dll库动态库加载失败问题(调用LoadLibrary加载失败)
  5. postgresql: 求和后再求平均值
  6. 拓嘉辰丰电商:做好拼多多电商有哪些技巧
  7. 华硕笔记本电脑关机后插上电源电源指示灯不亮,开不了机,怎么办?各位程序猿帮帮忙吧!
  8. Flash 8 形状补间动画详解及实例
  9. 小程序第一次提交审核需要注意的内容
  10. 怎么将cad转换成pdf?