android - 如何找到带有 CLA 字节 0x80 的空白 SIM 卡
问题描述
我正在开发一个需要调用需要运营商权限的 API 的 Android 应用程序。我已经购买了一些空白 SIM 卡并尝试将我的应用程序的证书哈希写入它们。
基于 Android 源代码,Android 使用带有 CLA 字节 0x80 的 APDU 来检查卡上的规则。但是,我拥有的所有卡都只支持 CLA 字节 0xA0。有没有办法找到我想要的 CLA 字节的 SIM 卡?
谢谢!
解决方案
您正在寻找的是 GlobalPlatform“安全元素访问控制”规范,可在此处获得。
从技术上讲,您需要一张带有 ARA-M 小程序的 SIM 卡。这里有一个 MIT 许可的 JavaCard 实现,您可以将其加载到您的卡中(使用例如GlobalPlatformPro)——只要您的 SIM 卡是 JavaCard 并且您有适当的密钥。
然后您需要存储上述规范中描述的访问规则。幸运的是 GlobalPlatformPro 似乎支持规则加载,因此您可能不需要研究所有细节。
如果您的 SIM 卡不是 JavaCards,那么您必须询问您的供应商是否支持 ARA-M(您可以尝试选择 ARA-M AID,即A00000015141434C00
)。
免责声明:我(勉强)处理这个问题已经有一段时间了,所以请确认我的想法。
祝你好运!
推荐阅读
- django - 应用程序与 buildpack 不兼容:将 django 应用程序部署到 heroku 时出错
- html - 如何将数据从 CSV 导入 HTML
- python-3.x - 有没有办法在一行中编写多行代码
- git - 将发布分支合并回 master 时,最好的 Git 策略是什么?
- javascript - 在javascript中过滤嵌套数组而不影响引用
- c# - 如何在 C# 运行时将字符串数学公式转换为 int
- vue.js - Vue:可交换的动态组件不会在其内部呈现任何内容
- c# - *.cs 变量中的自定义 msbuild 参数
- rust - 卷曲 https://sh.rustup.rs -sSf | sh 失败
- html - 为什么 Windows 7 用户认为 vs code 的网站不安全?