| <html devsite><head> |
| |
| <meta name="book_path" value="/_book.yaml"/> |
| |
| <meta name="project_path" value="/_project.yaml"/> |
| </head> |
| <body> |
| |
| <!-- |
| Copyright 2018 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <h1 id="cts_test_for_secure_element" class="page-title">针对安全元件的 CTS 测试</h1> |
| |
| <p>为了提供更好的安全性,有些设备嵌入了安全元件 (SE),这是一种单独的防篡改硬件,专门用于存储加密数据。Open Mobile API 是一种<a href="https://globalplatform.org/specs-library/open-mobile-api-specification-v3-2/" class="external">标准 API</a>,用于与设备的安全元件进行通信。Android 9 支持该 API,并提供后端实现(包括安全元件服务和 SE HAL)。</p> |
| |
| <p>安全元件服务负责检查设备是否支持全局平台支持的安全元件(实质上是检查设备是否具备 SE HAL 实现,如果具备,有多少),可用作测试该 API 和底层安全元件实现的基础。</p> |
| |
| <h2 id="terminology">术语</h2> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>术语</th> |
| <th>定义</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>AID</td> |
| <td>应用标识符</td> |
| </tr> |
| <tr> |
| <td>APDU</td> |
| <td>应用协议数据单元</td> |
| </tr> |
| <tr> |
| <td>BER</td> |
| <td>基本编码规则</td> |
| </tr> |
| <tr> |
| <td>TLV</td> |
| <td>标记长度值</td> |
| </tr> |
| <tr> |
| <td>UICC</td> |
| <td>UMTS 集成电路卡</td> |
| </tr> |
| <tr> |
| <td>ARA</td> |
| <td>访问规则应用(主)</td> |
| </tr> |
| <tr> |
| <td>ARF</td> |
| <td>访问规则文件</td> |
| </tr> |
| <tr> |
| <td>小程序</td> |
| <td>安全元件上的 Java Card 应用</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h2 id="open_mobile_api_test_cases">Open Mobile API 测试用例</h2> |
| |
| <p>Open Mobile API 测试用例用于贯彻 API 指南,以及确认安全元件的底层实现是否符合 Open Mobile API 规范。要使用这些测试用例,必须安装一个特殊小程序,以便 CTS 应用进行通信。要进行安装,请使用可在 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/src/com/android/cts/omapi/test/CtsAndroidOmapiTestApplet.java" class="external">CtsAndroidOmapiTestApplet.java</a> 和 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/test.cap" class="external">test.cap</a> 中找到的示例小程序。</p> |
| |
| <p>要通过 OMAPI 测试用例的测试,底层安全元件服务和 SE 应符合以下条件:</p> |
| |
| <ol> |
| <li>所有安全元件读取器名称都应以 SIM、eSE 或 SD 开头。</li> |
| <li>不是基于 SIM 卡的读取器应能够打开基本频道。</li> |
| <li><p><code>CtsOmapiTestCases.apk</code> 应能够选择具有以下 AID 的小程序:</p> |
| <ol> |
| <li><p>0xA000000476416E64726F696443545331</p> |
| <ol> |
| <li><p>当在 android.se.omapi.Channel.Transmit(以下简称 Transmit<em></em>)中收到以下 APDU 时,该小程序应抛出安全异常:</p> |
| <ol> |
| <li>0x00700000</li> |
| <li>0x00708000</li> |
| <li>0x00A40404104A535231373754657374657220312E30</li> |
| </ol> |
| </li> |
| <li><p>当在 Transmit<em></em> 中收到以下 APDU 时,该小程序不应返回任何数据:</p> |
| <ol> |
| <li>0x00060000</li> |
| <li>0x80060000</li> |
| <li>0xA0060000</li> |
| <li>0x94060000</li> |
| <li>0x000A000001AA</li> |
| <li>0x800A000001AA</li> |
| <li>0xA00A000001AA</li> |
| <li>0x940A000001AA</li> |
| </ol> |
| </li> |
| <li><p>对于以下 Transmit<em></em> APDU,该小程序应返回 256 个字节的数据:</p> |
| <ol> |
| <li>0x0008000000</li> |
| <li>0x8008000000</li> |
| <li>0xA008000000</li> |
| <li>0x9408000000</li> |
| <li>0x000C000001AA00</li> |
| <li>0x800C000001AA00</li> |
| <li>0xA00C000001AA00</li> |
| <li>0x940C000001AA00</li> |
| </ol> |
| </li><li><p>对于以下 Transmit<em></em> APDU,该小程序应返回对应的状态字响应:</p> |
| <table> |
| <thead> |
| <tr> |
| <th>Transmit APDU</th> |
| <th>状态字</th> |
| <th>数据</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>0x00F30106</td> |
| <td>0x6200</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30206</td> |
| <td>0x6281</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30306</td> |
| <td>0x6282</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30406</td> |
| <td>0x6283</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30506</td> |
| <td>0x6285</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30606</td> |
| <td>0x62F1</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30706</td> |
| <td>0x62F2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30806</td> |
| <td>0x63F1</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30906</td> |
| <td>0x63F2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30A06</td> |
| <td>0x63C2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30B06</td> |
| <td>0x6202</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30C06</td> |
| <td>0x6280</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30D06</td> |
| <td>0x6284</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30E06</td> |
| <td>0x6282</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30F06</td> |
| <td>0x6300</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F31006</td> |
| <td>0x6381</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3010A01AA</td> |
| <td>0x6200</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3020A01AA</td> |
| <td>0x6281</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3030A01AA</td> |
| <td>0x6282</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3040A01AA</td> |
| <td>0x6283</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3050A01AA</td> |
| <td>0x6285</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3060A01AA</td> |
| <td>0x62F1</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3070A01AA</td> |
| <td>0x62F2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3080A01AA</td> |
| <td>0x63F1</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3090A01AA</td> |
| <td>0x63F2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30A0A01AA</td> |
| <td>0x63C2</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30B0A01AA</td> |
| <td>0x6202</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30C0A01AA</td> |
| <td>0x6280</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30D0A01AA</td> |
| <td>0x6284</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30E0A01AA</td> |
| <td>0x6282</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F30F0A01AA</td> |
| <td>0x6300</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3100A01AA</td> |
| <td>0x6381</td> |
| <td>否</td> |
| </tr> |
| <tr> |
| <td>0x00F3010800</td> |
| <td>0x6200</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3020800</td> |
| <td>0x6281</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3030800</td> |
| <td>0x6282</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3040800</td> |
| <td>0x6283</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3050800</td> |
| <td>0x6285</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3060800</td> |
| <td>0x62F1</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3070800</td> |
| <td>0x62F2</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3080800</td> |
| <td>0x63F1</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3090800</td> |
| <td>0x63F2</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30A0800</td> |
| <td>0x63C2</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30B0800</td> |
| <td>0x6202</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30C0800</td> |
| <td>0x6280</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30D0800</td> |
| <td>0x6284</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30E0800</td> |
| <td>0x6282</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F30F0800</td> |
| <td>0x6300</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3100800</td> |
| <td>0x6381</td> |
| <td>是</td> |
| </tr> |
| <tr> |
| <td>0x00F3010C01AA00</td> |
| <td>0x6200</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3020C01AA00</td> |
| <td>0x6281</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3030C01AA00</td> |
| <td>0x6282</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3040C01AA00</td> |
| <td>0x6283</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3050C01AA00</td> |
| <td>0x6285</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3060C01AA00</td> |
| <td>0x62F1</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3070C01AA00</td> |
| <td>0x62F2</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3080C01AA00</td> |
| <td>0x63F1</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3090C01AA00</td> |
| <td>0x63F2</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30A0C01AA00</td> |
| <td>0x63C2</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30B0C01AA00</td> |
| <td>0x6202</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30C0C01AA00</td> |
| <td>0x6280</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30D0C01AA00</td> |
| <td>0x6284</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30E0C01AA00</td> |
| <td>0x6282</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F30F0C01AA00</td> |
| <td>0x6300</td> |
| <td>是*</td> |
| </tr> |
| <tr> |
| <td>0x00F3100C01AA00</td> |
| <td>0x6381</td> |
| <td>是*</td> |
| </tr> |
| </tbody> |
| </table> |
| <p class="note"><strong>注意</strong>:响应应包含与输入 APDU 相同的数据,不过第一个字节是 0x01,而非 0x00。</p> |
| </li> |
| <li><p>对于命令 a、b、c、d、f 和 g,该小程序应返回大小为 2048 个字节的分段响应;对于 APDU(e),应返回 32767 个字节的响应,并且最后一个数据字节为 0xFF;对于以下 APDU,应返回成功状态字 <0x9000>:<!--0x9000--></p> |
| <ol> |
| <li>0x00C2080000</li> |
| <li>0x00C4080002123400</li> |
| <li>0x00C6080000</li> |
| <li>0x00C8080002123400</li> |
| <li>0x00C27FFF00</li> |
| <li>0x00CF080000</li> |
| <li>0x94C2080000</li> |
| </ol> |
| </li> |
| <li>对于以下指定 APDU,该小程序应返回成功状态字 <0x9000>:0x00F40000</li> |
| </ol> |
| </li><li><p>A000000476416E64726F696443545332</p> |
| <ol> |
| <li><p>该 AID(如果已选择)应返回大于 2 个字节并采用正确的 BER TLV 格式的特定响应。</p></li> |
| </ol> |
| </li> |
| </ol> |
| |
| <p></p></li><li><p><code>CtsOmapiTestCases.apk</code> 应不能选择以下 AID:</p> |
| <ol> |
| <li>A000000476416E64726F6964435453FF</li> |
| </ol> |
| </li> |
| </ol><p></p> |
| |
| <h2 id="access_control_test_cases">访问控制测试用例</h2> |
| |
| <p>在安全元件中配置的访问控制用例有助于确保只有可以访问小程序的应用才能与小程序进行通信。此外,对于可通过 APK 进行交换的特定 APDU,Android 支持为其配置规则。要通过以下测试,设备制造商必须配置特殊的访问控制规则(ARA 或 ARF)。</p> |
| |
| <p>建议使用进行 OMAPI 测试所用的同一个小程序(请参阅“Open Mobile API 测试用例”部分中介绍的小程序功能行为),因为必须支持相同的命令,才能通过访问控制测试。</p> |
| |
| <p>您必须在以下每个 AID 下创建该小程序的实例:</p> |
| |
| <ul> |
| <li>0xA000000476416E64726F696443545340</li> |
| <li>0xA000000476416E64726F696443545341</li> |
| <li>0xA000000476416E64726F696443545342</li> |
| <li>0xA000000476416E64726F696443545344</li> |
| <li>0xA000000476416E64726F696443545345</li> |
| <li>0xA000000476416E64726F696443545347</li> |
| <li>0xA000000476416E64726F696443545348</li> |
| <li>0xA000000476416E64726F696443545349</li> |
| <li>0xA000000476416E64726F69644354534A</li> |
| <li>0xA000000476416E64726F69644354534B</li> |
| <li>0xA000000476416E64726F69644354534C</li> |
| <li>0xA000000476416E64726F69644354534D</li> |
| <li>0xA000000476416E64726F69644354534E</li> |
| <li>0xA000000476416E64726F69644354534F</li> |
| </ul> |
| |
| <h3 id="1_ctssecureelementaccesscontroltestcases1">1. <code>CtsSecureElementAccessControlTestCases1</code></h3> |
| |
| <ul> |
| <li>AKP 的哈希值:0x4bbe31beb2f753cfe71ec6bf112548687bb6c34e</li> |
| <li><p>已授权 AID</p> |
| |
| <ul> |
| <li><p>0xA000000476416E64726F696443545340</p> |
| |
| <ol> |
| <li>以上 AID 的已授权 APDU:0x00060000A0060000</li> |
| <li><p>以上 AID 的未授权 APDU:</p> |
| |
| <ol> |
| <li>0x0008000000</li> |
| <li>0x80060000</li> |
| <li>0xA008000000</li> |
| <li>0x9406000000</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545341</p> |
| |
| <ol> |
| <li><p>以上 AID 的已授权 APDU:</p> |
| |
| <ol> |
| <li>0x94060000</li> |
| <li>0x9408000000</li> |
| <li>0x940C000001AA00</li> |
| <li>0x940A000001AA</li> |
| </ol></li> |
| <li><p>以上 AID 的未授权 APDU:</p> |
| |
| <ol> |
| <li>0x00060000</li> |
| <li>0x80060000</li> |
| <li>0xA0060000</li> |
| <li>0x0008000000</li> |
| <li>0x000A000001AA</li> |
| <li>0x800A000001AA</li> |
| <li>0xA00A000001AA</li> |
| <li>0x8008000000</li> |
| <li>0xA008000000</li> |
| <li>0x000C0000001AA00</li> |
| <li>0x800C000001AA00</li> |
| <li>0xA00C000001AA00</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545342</p></li> |
| <li><p>0xA000000476416E64726F696443545344</p></li> |
| <li><p>0xA000000476416E64726F696443545345</p></li> |
| <li><p>0xA000000476416E64726F696443545347</p></li> |
| <li><p>0xA000000476416E64726F696443545348</p></li> |
| <li><p>0xA000000476416E64726F696443545349</p></li> |
| <li><p>0xA000000476416E64726F69644354534A</p></li> |
| <li><p>0xA000000476416E64726F69644354534B</p></li> |
| <li><p>0xA000000476416E64726F69644354534C</p></li> |
| <li><p>0xA000000476416E64726F69644354534D</p></li> |
| <li><p>0xA000000476416E64726F69644354534E</p></li> |
| <li><p>0xA000000476416E64726F69644354534F</p></li> |
| </ul></li> |
| <li><p>未授权 AID:</p> |
| |
| <ul> |
| <li>0xA000000476416E64726F696443545343</li> |
| <li>0xA000000476416E64726F696443545346</li> |
| </ul></li> |
| </ul> |
| |
| <h3 id="2_ctssecureelementaccesscontroltestcases2">2. <code>CtsSecureElementAccessControlTestCases2</code></h3> |
| |
| <ul> |
| <li>APK 的哈希值:0x93b0ff2260babd4c2a92c68aaa0039dc514d8a33</li> |
| <li><p>已授权 AID:</p> |
| |
| <ul> |
| <li><p>0xA000000476416E64726F696443545340</p> |
| |
| <ol> |
| <li><p>以上 AID 的已授权 APDU:</p> |
| |
| <ol> |
| <li>0x00060000</li> |
| <li>0xA0060000</li> |
| </ol></li> |
| <li><p>以上 AID 的未授权 APDU:</p> |
| |
| <ol> |
| <li>0x0008000000</li> |
| <li>0x80060000</li> |
| <li>0xA008000000</li> |
| <li>0x9406000000</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545341</p> |
| |
| <ol> |
| <li><p>以上 AID 的已授权 APDU:</p> |
| |
| <ol> |
| <li>0x94060000</li> |
| <li>0x9408000000</li> |
| <li>0x940C000001AA00</li> |
| <li>0x940A000001AA</li> |
| </ol></li> |
| <li><p>以上 AID 的未授权 APDU:</p> |
| |
| <ol> |
| <li>0x0006000</li> |
| <li>0x80060000</li> |
| <li>0xA0060000</li> |
| <li>0x0008000000</li> |
| <li>0x000A000001AA</li> |
| <li>0x800A000001AA</li> |
| <li>0xA00A000001AA</li> |
| <li>0x8008000000</li> |
| <li>0xA008000000</li> |
| <li>0x000C000001AA00</li> |
| <li>0x800C000001AA00</li> |
| <li>0xA00C000001AA00</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545343</p></li> |
| <li><p>0xA000000476416E64726F696443545345</p></li> |
| <li><p>0xA000000476416E64726F696443545346</p></li> |
| </ul></li> |
| <li><p>未授权 AID:</p> |
| |
| <ul> |
| <li>0xA000000476416E64726F696443545342</li> |
| <li>0xA000000476416E64726F696443545344</li> |
| <li>0xA000000476416E64726F696443545347</li> |
| <li>0xA000000476416E64726F696443545348</li> |
| <li>0xA000000476416E64726F69644354534A</li> |
| <li>0xA000000476416E64726F69644354534B</li> |
| <li>0xA000000476416E64726F69644354534C</li> |
| <li>0xA000000476416E64726F69644354534D</li> |
| <li>0xA000000476416E64726F69644354534E</li> |
| <li>0xA000000476416E64726F69644354534F</li> |
| </ul></li> |
| </ul> |
| |
| <h3 id="3_ctssecureelementaccesscontroltestcases3">3. <code>CtsSecureElementAccessControlTestCases3</code></h3> |
| |
| <ul> |
| <li>APK 的哈希值:0x5528ca826da49d0d7329f8117481ccb27b8833aa</li> |
| <li><p>已授权 AID:</p> |
| |
| <ul> |
| <li><p>0xA000000476416E64726F696443545340</p> |
| |
| <ol> |
| <li><p>以上 AID 的已授权 APDU:</p> |
| |
| <ol> |
| <li>0x00060000</li> |
| <li>0x80060000</li> |
| <li>0xA0060000</li> |
| <li>0x94060000</li> |
| <li>0x000A000001AA</li> |
| <li>0x800A000001AA</li> |
| <li>0xA00A000001AA</li> |
| <li>0x940A000001AA</li> |
| <li>0x0008000000</li> |
| <li>0x8008000000</li> |
| <li>0xA008000000</li> |
| <li>0x9408000000</li> |
| <li>0x000C000001AA00</li> |
| <li>0x800C000001AA00</li> |
| <li>A00C000001AA00</li> |
| <li>940C000001AA00</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545341</p> |
| |
| <ol> |
| <li><p>以上 AID 的已授权 APDU:</p> |
| |
| <ol> |
| <li>0x94060000</li> |
| <li>0x9408000000</li> |
| <li>0x940C000001AA00</li> |
| <li>0x940A00000aAA</li> |
| </ol></li> |
| <li><p>以上 AID 的未授权 APDU:</p> |
| |
| <ol> |
| <li>0x00060000</li> |
| <li>0x80060000</li> |
| <li>0xA0060000</li> |
| <li>0x0008000000</li> |
| <li>0x000A000001AA</li> |
| <li>0x800A000001AA</li> |
| <li>0xA00A000001AA</li> |
| <li>0x8008000000</li> |
| <li>0xA008000000</li> |
| <li>0x000C000001AA00</li> |
| <li>0x800C000001AA00</li> |
| <li>0xA00C000001AA00</li> |
| </ol></li> |
| </ol></li> |
| <li><p>0xA000000476416E64726F696443545345</p></li> |
| <li><p>0xA000000476416E64726F696443545346</p></li> |
| </ul></li> |
| <li><p>未授权 AID:</p> |
| |
| <ul> |
| <li>0xA000000476416E64726F696443545342</li> |
| <li>0xA000000476416E64726F696443545343</li> |
| <li>0xA000000476416E64726F696443545344</li> |
| <li>0xA000000476416E64726F696443545347</li> |
| <li>0xA000000476416E64726F696443545348</li> |
| <li>0xA000000476416E64726F69644354534A</li> |
| <li>0xA000000476416E64726F69644354534B</li> |
| <li>0xA000000476416E64726F69644354534C</li> |
| <li>0xA000000476416E64726F69644354534D</li> |
| <li>0xA000000476416E64726F69644354534E</li> |
| <li>0xA000000476416E64726F69644354534F</li> |
| </ul></li> |
| </ul> |
| |
| <h2 id="appendix">附录</h2> |
| |
| <h3 id="sample_applet_and_installation_steps_for_uicc">UICC 的示例小程序和安装步骤</h3> |
| |
| <h4 id="1_package_specification">1. 软件包规格</h4> |
| |
| <p>文件名:<code>google-cardlet.cap</code></p> |
| |
| <p>软件包 AID:6F 6D 61 70 69 63 61 72 64 6C 65 74 |
| 版本:1.0<br /> |
| SHA1:5F72E0A073BA9E61A7358F2FE3F031<br /> |
| SHA256:ECC1217AA0BC687DD89D5BB233F743</p> |
| |
| <p>模块 AID:<br /> |
| 6F 6D 61 70 69 4A 53 52 31 37 37 = SelectResponse 模块 |
| 6F 6D 61 70 69 43 61 63 68 69 6E 67 = XXLResponse 模块</p> |
| |
| <p>导入:<br /> |
| javacard.framework v1.3 - A0000000620101<br /> |
| java.lang v1.0 - A0000000620001</p> |
| |
| <p>卡上尺寸:4463</p> |
| |
| <h4 id="2_installation_steps">2. 安装步骤</h4> |
| |
| <p>按照相应步骤(请咨询您的 SE 制造商)将 <code>google-cardlet.cap</code> 文件加载到 SIM 卡上。</p> |
| |
| <p>为每个小程序运行安装命令。</p> |
| |
| <h5 id="omapi_tests">OMAPI 测试</h5> |
| |
| <p>小程序安装命令</p> |
| |
| <p><code>80E60C00300C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>010002C90000</code><br /> |
| Module_AID => 6F 6D 61 70 69 4A 53 52 31 37 37 |
| AID:A000000476416E64726F696443545331 |
| <code>80E60C00310C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>010002C9000</code><br /> |
| Module_AID => 6F 6D 61 70 69 43 61 63 68 69 6E 67 |
| AID:A000000476416E64726F696443545332</p> |
| |
| <h5 id="accesscontrol_tests_template_using_pkcs15_structure">AccessControl 测试(使用 PKCS#15 结构的模板)</h5> |
| |
| <p><code>80E60C003C0C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>01000EEF0AA008810101A5038201C0C90000</code><br /> |
| Module_AID => 6F 6D 61 70 69 4A 53 52 31 37 37</p> |
| |
| <p>AID:</p> |
| |
| <ul> |
| <li>0xA000000476416E64726F696443545340</li> |
| <li>0xA000000476416E64726F696443545341</li> |
| <li>0xA000000476416E64726F696443545342</li> |
| <li>0xA000000476416E64726F696443545344</li> |
| <li>0xA000000476416E64726F696443545345</li> |
| <li>0xA000000476416E64726F696443545347</li> |
| <li>0xA000000476416E64726F696443545348</li> |
| <li>0xA000000476416E64726F696443545349</li> |
| <li>0xA000000476416E64726F69644354534A</li> |
| <li>0xA000000476416E64726F69644354534B</li> |
| <li>0xA000000476416E64726F69644354534C</li> |
| <li>0xA000000476416E64726F69644354534D</li> |
| <li>0xA000000476416E64726F69644354534E</li> |
| <li>0xA000000476416E64726F69644354534F</li> |
| </ul> |
| |
| <p>如需用于设置与 CTS 测试匹配的 PKCS#15 结构的分步命令,请参阅<a href="/compatibility/cts/images/commands-for-pkcs15.pdf">针对 PKCS#15 的命令</a>。</p> |
| |
| </body></html> |