验证苹果商店服务器通知 responseBodyV2
验证苹果商店服务器通知 responseBodyV2
所需依赖
<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.18.2</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.0</version>
</dependency>
代码
public static void verify(String jwt) throws CertificateException {// 拿到 header 中 x5c 数组中第一个DecodedJWT decodedJWT = JWT.decode(jwt);String header = new String(java.util.Base64.getDecoder().decode(decodedJWT.getHeader()));String x5c0 = Jackson.arrOf(Jackson.fromTree(header), "x5c").get(0).asText();// 获取公钥PublicKey publicKey = getPublicKeyByX5c(x5c0);// 验证 tokenAlgorithm algorithm = Algorithm.ECDSA256((ECPublicKey) publicKey, null);algorithm.verify(decodedJWT);
}public static PublicKey getPublicKeyByX5c(String x5c) throws CertificateException {byte[] x5c0Bytes = java.util.Base64.getDecoder().decode(x5c);CertificateFactory fact = CertificateFactory.getInstance("X.509");X509Certificate cer = (X509Certificate) fact.generateCertificate(new ByteArrayInputStream(x5c0Bytes));return cer.getPublicKey();
}
附:Jackson 工具类
public class Jackson {private static final ObjectMapper om = new ObjectMapper();public static JsonNode fromTree(String json) {try {return om.readTree(json);} catch (IOException e) {throw new RuntimeException(json + " -×-> JsonNode", e);}}public static ArrayNode arrOf(JsonNode node, String... path) {JsonNode jsonNode = nodeOf(node, path);return (ArrayNode) jsonNode;}public static JsonNode nodeOf(JsonNode node, String... paths) {int i = 0;for (; i < paths.length - 1; i++) {node = node.get(paths[i]);}return node.get(paths[i]);}// ...
}
参考的文档
验证 JWS 中的 RSA 签名
Java 从 x5c 中获取公钥
Java 使用公钥验证 JWT
验证苹果商店服务器通知 responseBodyV2相关推荐
- 服务器接收 App Store 苹果商店内购项目IAP的退款通知
苹果商店内购IAP相信大家一定不陌生,苹果从中抽成30%更是让大多数公司都很反对.有时候碰上恶意退款的人更是没有办法,只能认栽.好消息是苹果终于上线了退款通知! "AppStore服务器通知 ...
- 取消苹果商店简短验证_苹果:其实我赚钱的是配件!
不知道大家有没有发现,近几年苹果在手机配件上各种推销案例实在是太多了,每年的新iPhone的销量是其次,其实真正赚钱的还是买手机后的各种配件!不信吗?现在就来看看苹果这些赚钱的配件吧! 配件一:Air ...
- iphone文件app里无法连接服务器,苹果商店怎么打不开 无法连接到app store解决方法...
类型:ios办公学习大小:46.5M语言:中文 评分:10.0 标签: 立即下载 苹果商店是苹果商店下载app的唯一途径,由于服务器在国外,用户有时会碰到打不开的情况,今天很多小伙伴进入苹果商店显示无 ...
- 服务器订阅未能完成更新,苹果将订阅续订失败添加到来自App Store Connect的服务器通知中...
苹果已经使App Store Connect的服务器到服务器通知功能对开发人员更加有用,它现在可以在客户的订阅无法续订以及何时解决时提供警报. 服务器到服务器的通知是Apple向开发人员提供的一项服务 ...
- 取消苹果商店简短验证_LoL手游苹果系统端下载教程
废话不多说,直接上干货! 首先,你用自己的中国苹果商店账号下载几个手游加速器,比如迅游手游加速器,腾讯手游加速器,uu手游加速器,biubiubiu手游加速器,海豚手游加速器等等等,我个人在用的是迅游 ...
- 取消苹果商店简短验证_AppStore今日推荐 再来一款上架应用商店的观影App
首先声明如果软件界面有广告,大帆会说明, 如果介意请谨慎下载 复制软件名称到App Store中搜索粘贴即可.这类隐藏应用只要下载过,不在设备上删除,哪怕那一天被苹果下架了也可以正常使用,只要开发者不 ...
- 取消苹果商店简短验证_如何取消苹果商店自动订阅扣费?
现在苹果商店正在兴起的一股欺诈的邪风,通过刷评论,上完的五星评论,然后诱导用户免费体验订阅服务,3天体验到期后,自动转为正式订阅,并自动扣费. 大部分用户因为缺乏相关的知识,只能在评价里面留言抱怨,束 ...
- 进苹果商店显示无法连接服务器,苹果商店提示无法连接怎么回事_苹果商店打不开连接不上如何解决-win7之家...
当我们要在苹果手机中安装软件的时候,都会通过苹果商店中进行下载安装,可是近日由用户在进入苹果商店的时候,却提示无法连接,打不开也连接不上,遇到这样的问题是怎么回事呢?针对这个情况,本文给大家整理了苹果 ...
- 苹果商店App Store审核指南中文版(14-15-2016最新)-附:2015年App Store审核被拒Top10(官网)+被拒的23个理由(中英)
(2014.9.3更新):新增Apple Pay相关内容 苹果在9月3日对App Store审核指南进行了重大更新,新添加了扩展.HealthKit.HomeKit以及TestFlight相关内容.另 ...
- 关于 App Store 苹果商店价格的那些事(历上最全版)
作者:iHTCboy 一.前言 苹果 2022 年 12 月 6 日宣布 App Store 定价机制最重大升级,新增 700 个价格点.小编当时的总结和分析: App Store 新价格: 最低可设 ...
最新文章
- Leetcode 203. 移除链表元素 解题思路及C++实现
- 数据结构与算法之二分查找法
- 使用nodejs代码在SAP C4C里创建Individual customer
- clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
- 常用的对象处理工具类
- python 自定义模块加密_Python开发【第一篇】Python基础之自定义模块和内置模块...
- 5.2.1.开启驱动开发之路
- python stdout stderr 一起输出_Python日志记录在stdout和stderr之间拆分
- RHEL5.0 搭建DNS服务器
- 只有 IE 才有的 Bug or feature?
- return的用法 java_Java中return用法.
- python哈希类型_python 入门之 – hash(十七)
- Win11繁体中文字体显示不全如何解决?
- 百度、google、高德 地图比例尺功能实现(算法地图分辨率和zoomlevel之间的关系)
- bootstrap网站模板10例精选欣赏
- 五.爬虫--京东登录破解(一)
- php 歌词同步,HTML5实践之歌词同步播放器的示例代码分享
- 1123_AURIX_TC275_DAP接口学习
- java html转pdf的几种方式_java 有关word,excel,pdf转换成html 有几种方式
- MySQL~Java的数据库编程:JDBC(JDBC的环境配置以及使用)
热门文章
- linux分配设备编号
- 【学习笔记】标签噪声下用于鲁棒性学习的对称交叉熵损失函数
- ios如何解除dns被劫持_mac dns被劫持如何修复-Mac DNS被劫持解决方法 - 河东软件园...
- 最有特点的、最有深度的网名分享:2012╰菿來啲那天
- springboot农机装备生产车间物料配送车辆调度管理系统毕业设计源码181710
- [推荐]《人一生要读的60本书》
- 一种基于XGBOOST的企业员工稳定性(员工离职)预测方法
- 自制Alfred/Wox插件推荐
- html里面<i>和<em>标签的区别
- 什么是微前端及微前端优缺点