RSA加解密及Http请求数据流解析
2024-04-26 13:39:21 0 举报
RSA加解密关键点详细解析
作者其他创作
大纲/内容
响应报文体(明文)
验签完成
签名
RSA签名RSASign
RSA公私钥生成及交换
公钥2
Base64处理
发送方
merchantId
AES加密算法(AES/ECB/PKCS5Padding)
加密
Client
支付机构
非对称加密算法:加密和解密分别使用不同的密钥。对称加密算法:加密和解密使用相同的密钥。RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。RSA是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的。当时他们三人都在麻省理工学院工作。RSA 就是他们三人姓氏开头字母拼在一起组成的。在线校验秘钥对:https://www.toolscat.com/decode/rsa-secret-key-check秘钥对验证网址:http://www.metools.info/code/c84.htmlhttp://tool.chacuo.net/cryptrsakeyparsehttp://tool.chacuo.net/cryptrsakeyvalid/Https:一般适用于对整体请求报文的传输协议层面加密,保证数据的完整性;但是数据在传输过程中,可能会被查看到对应的明文信息。在线验证签名:注意参数值(SHA256withRSA)http://www.lingyunwen.com/#2https://tools.pcwanli.com/tools/rsa.html在线根据私钥导出公钥:http://www.metools.info/code/c87.htmlpem转字符串:https://www.toolscat.com/decode/rsahttps://www.toolscat.com/decode/rsa-secret-key-check推荐(集合多功能):https://try8.cn/tool/cipher/rsa
服务商
加密后内容:!@#¥%&*¥@!
原文
升级版:添加RSA签名部分
RandomKey
解密
A私钥
服务商公钥
data密文
生成公钥
AES加密后AESData
私钥
公钥
机构的公钥
公钥验签
data明文(json格式)
明文(响应)
响应报文体(密文)
公钥1
sign
明文(请求)
业务处理
密文
A公钥
发送请求
机构私钥
RSA签名算法(SHA1WithRSA/SHA256WithRSA+2048)
返回响应
B私钥
生成RSA证书并交换公钥
验证签名
私钥1
- 公钥通常是公开的;- 对返回内容进行加密。- 对请求信息验证数字签名;- 解决身份识别,可以起到防抵赖的作用;
公钥加密
私钥解密
RSA公钥加密算法(SHA1WithRSA/SHA256WithRSA+2048)
请求报文体(明文)
私钥2
B公钥
密文(响应)
生成私钥
MerchantPriveteKey
公布
基础版:纯RSA加解密
私钥签名
商户随机16位密码
传输内容:这是一段消息
服务商私钥
Server
通过OpenSSL生成2048bit证书
商户RSA私钥
发起请求(RSA密文+签名)
通过OpenSSL生成通过2048bit证书
RSA加密后RSAKeyPass
HttpPost请求
密文(请求)
接收方
- 私钥应当严格保密,仅自己知道;- 对请求内容密文进行解密;- 生成返回内容中的数字签名;- 签名和加密,验签和解密的先后顺序,都是可以根据具体情况而调整的.- 其中,公钥解密,私钥加密的方式虽可以使用,但是不安全!不推荐!
RSA基础概念
响应结果(RSA密文+签名)
OrgPublicKey
验签
升级版:RSA+AES+Base64
机构RSA公钥
私钥加密
产生秘钥对(Client)
请求报文体(密文)
服务商的公钥
发送/公开获取公钥
验证ok,去除签名,否则直接为伪造
机构服务端接收(响应报文同上格式类似返回)
明文
RSA 密钥对
公钥解密
jsonData
公钥交换
keyPass密文
发送
font color=\"#e74f4c\
支付机构生成的RSA秘钥对,且只有它可以解密由于公钥匙公开的,可能存在冒充风险。
产生秘钥对(Server)
0 条评论
下一页