ios应用利用企业证书重签名 具体怎么签名

ios应用利用企业证书重签名 具体怎么签名,第1张

企业签名具体步骤:

1、登录亥著账号,点击左侧导航栏里的“企业证书签名”

2、上传自己的应用,选择合适的服务类型,进行签名即可

亥著五一活动,企业签名500起

苹果签名目前可以分为企业签名、超级签名、tf签名。

企业签名是使用苹果企业证书,生成描述文件对应用进行签名,用户在安装时只需要在设置-描述文件信任企业证书就可以安装了,无需上架App Store。亥著五一活动,企业签名500起。

超级签名是使用个人开发者账号,通过注册苹果设备的udid,来实现真机测试,用户安装时非常简单,无需信任证书,直接安装即可,无需上架App Store。

tf上架,在签名商口中一般会称呼为tf签名,其实它全称是testflight,是一种苹果认可的分发模式,是苹果官方的内测应用分发渠道。它是目前最稳定的签名方式,一经上架基本不会掉签,用户可以一直使用。风险极小。

在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,请求是否唯一,数据是否可以重复提交等问题。其中数据是否被篡改相对重要。

请求携带参数 appid sign ,只有拥有合法的身份appid和正确的签名sign才能放行。这样就解决了身份验证和参数篡改问题,即使请求参数被劫持,由于获取不到secret( 仅作本地加密使用,不参与网络传输 ),无法伪造合法的请求。

只使用appid和sign,虽然解决了请求参数被篡改的隐患,但是还存在着重复使用请求参数伪造二次请求的隐患。

nonce指 唯一的随机字符串 ,用来标识每个被签名的请求。通过为每个请求提供一个唯一的标识符,服务器能够防止请求被多次使用(记录所有用过的nonce以阻止它们被二次使用)。

然而,对服务器来说永久存储所有接收到的nonce的代价是非常大的。可以使用 timestamp来优化nonce的存储

假设允许客户端和服务端最多能存在10分钟的时间差,同时追踪记录在服务端的nonce集合。当有新的请求进入时,首先检查携带的timestamp是否在10分钟内,如超出时间范围,则拒绝,然后查询携带的nonce,如存在(说明该请求是第二次请求),则拒绝。否则,记录该nonce,并删除nonce集合内时间戳大于10分钟的nonce(可以使用redis的expire,新增nonce的同时设置它的超时失效时间为10分钟)。

对服务端而言,拦截请求用AOP切面或者用拦截器都行,如果要对所有请求进行拦截,可以直接拦截器处理(拦截器在切面之前,过滤器之后,具体在springmvc的dispather分发之后)。

过滤器→拦截器→切面的顺序:

其中,需要放在请求头的字段: appid timestamp nonce signature

对各种类型的请求参数,先做如下拼接处理:

如果存在多种数据形式,则按照path、query、form、body的顺序进行再拼接,得到所有数据的拼接值。

上述拼接的值记作 Y。

X=”appid=xxxnonce=xxxtimestamp=xxx”

最终拼接值=XY。最后将最终拼接值按照一个加密算法得到签名。

虽然散列算法会有推荐使用 SHA-256、SHA-384、SHA-512,禁止使用 MD5。但其实签名这里用MD5加密没多大问题,不推荐MD5主要是因为,网络有大量的MD5解密库。

实现可以分以下几步:

自定义的缓存有body参数的>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10727028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存