`
java-mans
  • 浏览: 11426632 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

<wbr>银行接口的私钥和公钥详解</wbr>

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

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

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


肯定知道-精品推荐:

1、商品发布平台-发布流程-文档下载

<wbr>2、<a href="http://yijianfengvip.blog.163.com/blog/static/175273432201161802612807/" target="_blank"><span style="color:#f58456;">flex 分页 组件 源码</span></a></wbr>

3、解放战争并非是小米加步枪,太原攻坚战消耗堪比淮海战役
4、中国12架轰炸机一次摧毁日军飞机160架!
5、flex 分页 组件 源码
6、韩国网速2012年即将突破1000M/秒,中国网速有多快?
7、java 操作dos命令-执行dos
8、hibernate超长字符串 用clob类型添加到数据库
9、越南为什么会突然赴京请罪?
10、惨烈的密支那会战:当年民族英雄的灵魂是否已经安息?

11、免费刷流量-软件

12、淘宝热卖商品-特价商品-导购平台

13、特价商品发布平台-下载频道


文章来源:http://yijianfengvip.blog.163.com/blog/static/175273432201162193348604/
分享到:
评论

相关推荐

    公钥私钥数字签名数字证书详解

    公钥私钥数字签名数字证书详解

    公钥私钥加密解密数字证书数字签名详解.docx

    详细介绍了区块链使用的不对称加密在数字证书数字签名的应用

    RSA公钥算法详解

    RSA公钥算法详解,详细描述了算法的过程,以及按照公钥交换算法举例说明

    php 生成加密公钥加密私钥实例详解

    php 生成加密公钥加密私钥实例详解 生成公钥私钥 win下必须要openssl.cof支持 liunx一般已自带安装  $config = array( //"digest_alg" =&gt; "sha512", "private_key_bits" =&gt; 512, //字节数 512 1024 2048 4096 ...

    Linux 系统使用私钥登录的教程详解

    主要介绍了Linux 系统使用私钥登录的教程详解,私钥登录?Linux服务器每次都要输入负责的密码,为了方便、安全登录Linux服务器,使用私钥公钥来登录。具体操作方法大家跟随脚本之家小编一起通过本文学习吧

    详解nginx实现https网站设置

    首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的公钥一起返回给服务器,服务器拿着自己的私钥解密...

    Django调用支付宝接口代码实例详解

    支付宝提供接口:给商户使用,收钱 -Java,php,C#的demo,没有python的demo -git有人封装了 -需要安装模块:pip3 install -应用私钥—自己保存,一定不能丢 -应用公钥—给别人用 -支付宝公钥—支付宝用的 -生成...

    Python实现加密接口测试方法步骤详解

    (2)至于用什么加密算法,这个要根据产品和自己的业务场景和需求不管是AES或者公钥私钥也好看自己的选择 (3)也可能是编码的问题,就直接用base64码把需要传输加密的东西通过base64返回base64码,然后再放进去,然后...

    python下读取公私钥做加解密实例详解

    在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签)。下面是Python下的应用举例。 假设我有一个公钥文件,rsa_pub.pem, 我要读取这个公钥并用它来加密。 from M2Crypto import RSA,BIO fp = ...

    php pki加密技术(openssl)详解

     * 私钥加密,公钥解密; *///私钥加密,公钥解密//客户端//$data数据$data = ‘abcd’;//获取私钥 $priv_key_id$priv_key_id = openssl_get_privatekey(file_get_contents&#40;’99bill-rsa.pem’, r&#41;);//...

    Windows下使用python-web3.py进行以太坊Dapp开发笔记–第2篇(以太坊公钥加密功能python实现)

    私钥:32字节(256位),私钥需要保管和隐蔽(非公开)(截取《以太坊技术详解与实战》) 公钥:(由私钥生成)64字节(512位),公钥是公开的,不需要保密(截取《以太坊技术详解与实战》) 地址:20字节(160位)...

    Java加密技术详解(参考文档)

    在非对称加密部分,以RSA加密算法为例,介绍了如何在Java中实现非对称加密,包括密钥生成、公钥和私钥的获取以及加密和解密过程。通过本文的学习,读者可以掌握Java中的加密技术,确保数据的安全传输和存储。

    数字签名详解

    数字签名的详解,ssl,rsa,公钥私钥等知识解读,清晰易懂,不懂来打我

    SSL&TLS认证原理详解

    对称加密是最快速、最简单的一种加密方式,不对称加密:它使用了一对密钥,公钥(public key)和私钥(private key),所以安全性高,但加密与解密速度慢。不使用SSL/TLS的通信,就是不加密的通信,当然会带来一定的...

    C# RSA分段加解密实现方法详解

    主要介绍了C# RSA分段加解密实现方法,结合具体实例形式分析了C# RSA加密解密的原理与具体实现技巧,需要的朋友可以参考下

    Java中常用的加密算法及其实现原理详解-保护信息的铠甲,静默守护你的隐私

    在计算机领域中,数据安全性是一个非常重要的问题。为了保护数据的机密性和完整性,常常需要使用加密算法对数据进行加密和解密。... 非对称加密算法使用一对密钥,包括公钥和私钥。RSA(Rivest, Shamir和A

    python支付宝支付示例详解

    2、把生成的 应用私钥 和 支付宝的公钥 放入keys目录下: 注意: 支付宝公钥 商户私钥 — 配置商户应用私钥–copy到key目录下 — 配置支付宝公钥–进入网页–&gt;查看支付宝公钥–&gt;把公钥放到key目录下 但是要做...

    SSH的ssh-keygen命令基本用法详解

    ssh-keygen 可用来生成ssh公钥认证所需的公钥和私钥文件。 使用 ssh-keygen 时,请先进入到 ~/.ssh 目录,不存在的话,请先创建。并且保证 ~/.ssh 以及所有父目录的权限不能大于 711 生成的文件名和文件位置 使用 ...

    用HTTPS被抓包问题详解.docx

    大家可能都听说过 HTTPS 协议之所以是安全的是...通过公钥加密随机数,并把加密后的随机数传输到服务端 服务端通过私钥对随机数进行解密 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输

Global site tag (gtag.js) - Google Analytics