美文网首页
iOS SHA1WithRSA加签验签

iOS SHA1WithRSA加签验签

作者: bug工程狮 | 来源:发表于2018-05-11 00:03 被阅读0次

这篇文章主要介绍一点关于SHA1WithRSA的干货以及本人在开发的过程中遇到的坑

干货下载链接

关于RSA相关介绍、对称加密与非对称加密、公私钥、加密解密以及加签验签请自行百度

本人在项目中遇到的问题:

问题一:App加签之后的数据在服务端无法验签

问题描述:本人在项目中对使用的AFNetworking,并拦截了BWTAFHTTPRequestSerializer中的requestBySerializingRequest:withParameters:error:方法,将请求的包体转成json字符串进行加签,然后将加签信息作为签名放在请求头中上传到服务器,服务器验签失败

解决过程:开始怀疑是算法出了问题,网上查找资料,发现算法跟我项目中的基本是一致的,后来又是查找资料也没有解决。后来在断点调试中发现requestBySerializingRequest:withParameters:error:

中的query(AFNetworking中将包体转成json字符串,即query)变量与包体转成的json字符串不一样,于是瞬间豁然开朗,问题解决,over。

问题分析:

首先,我们先回忆一下加签验签的过程:

我们将A字符串用私钥加签,得到sign字符串;然后用公钥、A字符串和sign进行验签。说到这里大家应该明白了query变量和包体的json字符串不一样为什么会导致服务端验签不通过了。

项目中是将包体转成json字符串,使用到了MJExtension中的方法,转换出来的字符串不知道为什么多出了n和空格,这就导致我们加签的明文和服务端验签的明文(明文为query比变量)不一致(哪怕是多出一个空格也不行),导致服务端验签失败。

问题找到了,怎么解决就不再啰嗦了。

相关文章

  • iOS RSA签名

    1、RSA私钥PKCS1 转 PKCS8 2、iOS RSA加签和验签(SHA1WithRSA) 3、iOS使用S...

  • iOS SHA1WithRSA加签验签

    这篇文章主要介绍一点关于SHA1WithRSA的干货以及本人在开发的过程中遇到的坑 干货下载链接 关于RSA相关介...

  • iOS pfx SHA1WithRSA 加签,验签

    最近搞的一个加签验签,证书文件给的pfx,以前没搞过pfx,大致查了下pfx加密标准是PKCS#12里面包含公钥,...

  • iOS RSA加签和验签(SHA1WithRSA)

    RSA 简介 RSA是一种非对称加密算法,使用公钥加密就可以使用私钥解密,使用私钥加密就可以使用公钥解密。RSA公...

  • iOS RSA加签和验签(SHA1WithRSA)

    https://www.jianshu.com/p/d6aa4ca4c243[https://www.jiansh...

  • iOS RSA加签和验签

    RSA是一种非对称加密算法,使用公钥加密就可以使用私钥解密,使用私钥加密就可以使用公钥解密。RSA公钥对外公开,私...

  • 加签与验签

    互联网是一个开放的环境,危险无处不在,加密通信是安全的基础。但是只加密能解决所有问题吗? 举个例子,A正在某银行网...

  • 基于注解的 java 加签验签框架 checksum

    checksum 基于 java 注解生成加签验签 checksum。 开源地址:github checksum ...

  • iOS-RSA2加签、验签

    私钥加密: 1.使用哈希算法获取待签名字符串的摘要 2.使用私钥字符串获取SecKeyRef指针,通过读取pem文...

  • Swift RSA 加签验签

    Mac 终端生成密钥 生成私钥 生成公钥 生成证书 生成的密钥字符串 RSAKey 结构体用来存储已经生成的私钥和...

网友评论

      本文标题:iOS SHA1WithRSA加签验签

      本文链接:https://www.haomeiwen.com/subject/txdxdftx.html