如何找到 CLA 字节为 0x80 的空白 SIM 卡

How to find blank SIM card with CLA byte 0x80

我正在开发一个 Android 应用程序,它需要调用需要运营商权限的 API。我买了一些空白的 SIM 卡,并尝试将我的应用程序的证书哈希写入它们。

基于Android源代码,Android使用带有CLA字节0x80的APDU来检查卡上的规则。然而,我所有的卡都只支持 CLA 字节 0xA0。有什么办法可以找到我想要的 CLA 字节的 SIM 卡吗?

谢谢!

您正在寻找的是可用的 GlobalPlatform "Secure Element Access Control" 规范 here

从技术上讲,您需要一张带有 ARA-M 小程序的 SIM 卡。有一个 MIT 许可的 JavaCard 实现可用 here which you can load to your card (using e.g. GlobalPlatformPro) -- 只要您的 SIM 卡是 JavaCard 并且您有适当的密钥。

然后你需要存储在above-mentioned规范中描述的访问规则。幸运的是,GlobalPlatformPro 似乎 support rule loading 所以您可能不需要研究所有细节。

如果您的 SIM 卡不是 JavaCards,那么您必须询问供应商是否支持 ARA-M(您可以尝试选择 ARA-M AID,即 A00000015141434C00)。

免责声明:我(勉强)处理这个问题已经有一段时间了,所以请验证我的想法。

祝你好运!