Session.OpenBasicChannel Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| OpenBasicChannel(Byte[]) |
Esse método é fornecido para facilitar o desenvolvimento de aplicativos móveis e para a conformidade com aplicativos existentes. |
| OpenBasicChannel(Byte[], SByte) |
Obtenha um acesso ao canal básico, conforme definido na especificação ISO/IEC 7816-4 (aquela que tem o número 0). |
OpenBasicChannel(Byte[])
Esse método é fornecido para facilitar o desenvolvimento de aplicativos móveis e para a conformidade com aplicativos existentes.
[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
Parâmetros
- aid
- Byte[]
o AID do Applet a ser selecionado neste canal, como uma matriz de bytes ou nulo se nenhum Applet deve ser selecionado.
Retornos
uma instância do Canal, se disponível ou nulo.
- Atributos
Comentários
Esse método é fornecido para facilitar o desenvolvimento de aplicativos móveis e para a conformidade com aplicativos existentes. Esse método é equivalente a openBasicChannel(aid, P2=0x00)
Java documentação para android.se.omapi.Session.openBasicChannel(byte[]).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
OpenBasicChannel(Byte[], SByte)
Obtenha um acesso ao canal básico, conforme definido na especificação ISO/IEC 7816-4 (aquela que tem o número 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
Parâmetros
- aid
- Byte[]
o AID do Applet a ser selecionado neste canal, como uma matriz de bytes ou nulo se nenhum Applet deve ser selecionado.
- p2
- SByte
o parâmetro P2 da APDU SELECT executada neste canal.
Retornos
uma instância do Canal, se disponível ou nulo.
- Atributos
Comentários
Obtenha um acesso ao canal básico, conforme definido na especificação ISO/IEC 7816-4 (aquela que tem o número 0). O objeto obtido é uma instância da classe Channel. Se o AID for nulo, significa que nenhum Applet deve ser selecionado neste canal e o Applet padrão será usado. Se o AID for definido, o Applet correspondente será selecionado. Depois que esse canal tiver sido aberto por um aplicativo de dispositivo, ele será considerado como "bloqueado" por esse aplicativo de dispositivo e outras chamadas para esse método retornarão nulos até que o canal seja fechado. Alguns elementos seguros (como o UICC) sempre podem manter o canal básico bloqueado (ou seja, retornar nulo para aplicativos), para impedir o acesso ao canal básico, enquanto outros podem retornar um objeto de canal implementando algum tipo de filtragem nos comandos, restringindo o conjunto de comandos aceitos a um conjunto menor. É recomendável que a UICC rejeite a abertura do canal básico para um applet específico, sempre respondendo nulo a essa solicitação. Para outros Elementos Seguros, a recomendação é aceitar a abertura do canal básico no applet padrão até que outro applet seja selecionado no canal básico. Como não há outra maneira que não seja uma redefinição para selecionar novamente o applet padrão, a implementação da API de transporte deve garantir que o comando openBasicChannel(null) retornará nulo até que ocorra uma redefinição. Com a versão anterior (V2.05) não era possível definir o valor P2, esse valor sempre foi definido como '00'. Exceto para necessidades específicas, é recomendável manter P2 a '00'. É recomendável que o dispositivo permita todos os valores para P2, no entanto, somente os seguintes valores são obrigatórios: '00', '04', '08', '0C'(conforme definido em [2]) A implementação do comando SELECT subjacente dentro desse método deve ser baseada no ISO 7816-4 com as seguintes opções: ul>li CLA = '00'</li><LI>INS = 'A4'</li<>li>P1 = '04' (Selecionar pelo nome do DF/identificador de aplicativo)</li<>/ul><<>
Os dados de resposta selecionados podem ser recuperados com byte[] getSelectResponse(). A API deve tratar a palavra de status recebida da seguinte maneira. Se a palavra de status indicar que o Elemento Seguro foi capaz de abrir um canal (por exemplo, palavra de status '90 00' ou palavras de status fazendo referência a um aviso em ISO-7816-4: '62 XX' ou '63 XX') a API manterá o canal aberto e o próximo getSelectResponse() retornará a palavra de status recebida. Outros códigos de status recebidos que indicam que o Elemento Seguro não pôde abrir um canal devem ser considerados como um erro e o canal correspondente não deve ser aberto. A função sem P2 como parâmetro é fornecida para compatibilidade com versões anteriores e retornará a um comando select com P2='00'.
Java documentação para android.se.omapi.Session.openBasicChannel(byte[], byte).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.