語言

Session.OpenBasicChannel 方法

定義

多載

名稱 Description
OpenBasicChannel(Byte[])

提供此方法可簡化行動應用程式的開發,並符合現有應用程式的規範。

OpenBasicChannel(Byte[], SByte)

取得基本通道的存取權,如 ISO/IEC 7816-4 規格中所定義(具有數位 0 的規格)。

OpenBasicChannel(Byte[])

提供此方法可簡化行動應用程式的開發,並符合現有應用程式的規範。

[Android.Runtime.Register("openBasicChannel", "([B)Landroid/se/omapi/Channel;", "", ApiSince=28)]
public Android.SE.Omapi.Channel? OpenBasicChannel(byte[]? aid);
[<Android.Runtime.Register("openBasicChannel", "([B)Landroid/se/omapi/Channel;", "", ApiSince=28)>]
member this.OpenBasicChannel : byte[] -> Android.SE.Omapi.Channel

參數

aid
Byte[]

要在此通道上選取之 Applet 的 AID,做為位元組陣列,如果沒有要選取 Applet,則為 Null。

傳回

如果可用或 Null,則為 Channel 的實例。

屬性

備註

提供此方法可簡化行動應用程式的開發,並符合現有應用程式的規範。 此方法相當於 openBasicChannel(aid, P2=0x00)

android.se.omapi.Session.openBasicChannel(byte[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

OpenBasicChannel(Byte[], SByte)

取得基本通道的存取權,如 ISO/IEC 7816-4 規格中所定義(具有數位 0 的規格)。

[Android.Runtime.Register("openBasicChannel", "([BB)Landroid/se/omapi/Channel;", "", ApiSince=28)]
public Android.SE.Omapi.Channel? OpenBasicChannel(byte[]? aid, sbyte p2);
[<Android.Runtime.Register("openBasicChannel", "([BB)Landroid/se/omapi/Channel;", "", ApiSince=28)>]
member this.OpenBasicChannel : byte[] * sbyte -> Android.SE.Omapi.Channel

參數

aid
Byte[]

要在此通道上選取之 Applet 的 AID,做為位元組陣列,如果沒有要選取 Applet,則為 Null。

p2
SByte

在此通道上執行的SELECT APDU P2 參數。

傳回

如果可用或 Null,則為 Channel 的實例。

屬性

備註

取得基本通道的存取權,如 ISO/IEC 7816-4 規格中所定義(具有數位 0 的規格)。 取得的物件是 Channel 類別的實例。 如果 AID 為 null,表示此通道上不會選取任何 Applet,並使用預設 Applet。 如果定義 AID,則會選取對應的 Applet。 一旦裝置應用程式開啟此通道之後,此裝置應用程式就會將其視為「鎖定」,而此方法的其他呼叫會傳回 Null,直到通道關閉為止。 某些安全元素(例如 UICC)可能會一律將基本通道鎖定(也就是將 Null 傳回給應用程式),以防止存取基本通道,而有些可能會傳回通道物件,以在命令上實作某種篩選,將接受的命令集限制為較小的集合。 建議 UICC 拒絕將基本通道開啟至特定小程式,方法是一律對這類要求回應 Null。 對於其他安全元素,建議接受在預設小程式上開啟基本通道,直到基本通道上選取另一個小程序為止。 因為重設無法再選取預設小程式,因此傳輸 API 的實作應該保證 openBasicChannel(null) 命令會傳回 Null,直到重設發生為止。 使用舊版 (V2.05) 無法設定 P2 值,此值一律會設定為 『00』。除了特定需求之外,建議將 P2 保留為 『00』。 建議裝置允許 P2 的所有值,不過只有下列值是強制性的: '00', '04'、'08'、'0C'(如 [2]) 此方法中基礎 SELECT 命令的實作應以 ISO 7816-4 為基礎,其選項如下:ul<li CLA = '00'>/li LI<INS = 'A4'>/li<><><li P1 = '04' (Select by DF name/application identifier)>/li<>/ul<><>

您可以使用 byte[] getSelectResponse() 擷取選取的響應數據。 API 應處理已接收的狀態字,如下所示。 如果狀態字指出 Secure Element 能夠開啟通道(例如狀態字 '90 00' 或參照 ISO-7816-4 警告的狀態字組:'62 XX' 或 '63 XX'),API 應保持通道開啟,而下一個 getSelectResponse() 應傳回已接收的狀態字。 其他已接收的狀態代碼,指出 Secure Element 無法開啟通道,應視為錯誤,且不應開啟對應的通道。 沒有 P2 做為參數的函式會提供回溯相容性,且會回復為具有 P2='00' 的 select 命令。

android.se.omapi.Session.openBasicChannel(byte[], byte)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於