Dostęp do aplikacji MB UICC i systemu plików
Przegląd
Temat ten określa rozszerzenie interfejsu Mobile Broadband Interface Model (MBIM) umożliwiające dostęp do aplikacji i systemów plików kart inteligentnych UICC. To rozszerzenie MBIM zapewnia logiczny dostęp do aplikacji i systemów plików zgodnych ze specyfikacją techniczną ETSI TS 102 221i jest obsługiwane w systemie Windows 10 wersji 1903 i nowszych.
Dostęp i zabezpieczenia UICC
UICC udostępnia system plików i obsługuje zestaw aplikacji, które mogą działać współbieżnie. Należą do nich usIM dla UMTS, CSIM dla CDMA i ISIM dla imS. Sim jest starszą częścią interfejsu użytkownika UICC, którą można modelować jako jedną z tych aplikacji (dla SYSTEMU GSM).
Na poniższym diagramie z sekcji 8.1 ETSI TS 102 221 specyfikacji technicznej przedstawiono przykładową strukturę aplikacji kart.
System plików UICC może być uważany za las drzew katalogu. Starsze drzewo SIM jest zakorzenione w pliku głównym (MF) i zawiera maksymalnie dwa poziomy podkatalogów (dedykowanych plików lub plików DFs) zawierających pliki elementalne (EFs), które przechowują różne typy informacji. SIM definiuje pliki danych DFs w ramach MF, z których jeden, DFTelecom, zawiera informacje wspólne dla wielu typów dostępu, takich jak wspólna książka telefoniczna. Dodatkowe aplikacje są skutecznie implementowane jako oddzielne drzewa, z których każdy jest zakorzeniony we własnym pliku katalogu aplikacji (ADF). Każda usługa ADF jest identyfikowana przez identyfikator aplikacji, który może mieć długość do 128 bitów. Plik w katalogu głównym karty (EFDir w ramach MF na diagramie) zawiera nazwy aplikacji i odpowiednie identyfikatory. W drzewie (MF lub ADF) pliki DFs i EFs mogą być identyfikowane przez ścieżkę identyfikatorów plików, gdzie identyfikator pliku jest 16-bitową liczbą całkowitą.
Rozszerzenia interfejsu NDIS
Następujące identyfikatory operacyjnego zostały zdefiniowane w celu obsługi dostępu do aplikacji UICC i systemu plików.
- OID_WWAN_UICC_APP_LIST
- OID_WWAN_UICC_FILE_STATUS
- OID_WWAN_UICC_ACCESS_BINARY
- OID_WWAN_UICC_ACCESS_RECORD
- OID_WWAN_PIN_EX2
Wartości usługi MBIM i CID
Nazwa usługi | Identyfikator UUID | Wartość UUID |
---|---|---|
Microsoft Low-Level UICC Access | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Podstawowe Rozszerzenia Łączności IP firmy Microsoft | UUID_BASIC_CONNECT_EXTENSIONS | 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF |
W poniższej tabeli określono identyfikator UUID i kod polecenia dla każdego identyfikatora CID, a także informację, czy CID obsługuje żądania Set, Query lub Event (powiadomienie). Zobacz poszczególne sekcje CID w ramach tego tematu, aby uzyskać więcej informacji na temat ich parametrów, struktur danych i powiadomień.
CID | Identyfikator UUID | Kod polecenia | Zbiór | Zapytanie | Powiadom |
---|---|---|---|---|---|
MBIM_CID_MS_UICC_APP_LIST | UUID_MS_UICC_LOW_LEVEL | 7 | N | Y | N |
MBIM_CID_MS_UICC_FILE_STATUS | UUID_MS_UICC_LOW_LEVEL | 8 | N | Y | N |
MBIM_CID_MS_UICC_ACCESS_BINARY | UUID_MS_UICC_LOW_LEVEL | 9 | Y | Y | N |
MBIM_CID_MS_UICC_ACCESS_RECORD | UUID_MS_UICC_LOW_LEVEL | 10 | Y | Y | N |
MBIM_CID_MS_PIN_EX | UUID_BASIC_CONNECT_EXTENSIONS | 14 | Y | Y | N |
MBIM_CID_MS_UICC_APP_LIST
Ten identyfikator CID pobiera listę aplikacji w UICC i informacje o nich. Gdy UICC w modemie jest w pełni zainicjowany i gotowy do rejestracji w sieci komórkowej operatora, należy wybrać aplikację UICC do rejestracji, a zapytanie z tym CID powinno zwrócić wybraną aplikację w polu ActiveAppIndex w strukturze MBIM_UICC_APP_LIST stosowanej w odpowiedzi.
Parametry
Operacja | Zbiór | Zapytanie | Powiadomienie |
---|---|---|---|
Polecenie | Nie dotyczy | Pusty | Nie dotyczy |
Odpowiedź | Nie dotyczy | MBIM_UICC_APP_LIST | Nie dotyczy |
Zapytanie
Bufor informacyjny MBIM_COMMAND_MSG jest pusty.
Zbiór
Nie dotyczy.
Odpowiedź
InformationBuffer w MBIM_COMMAND_DONE zawiera następującą strukturę MBIM_UICC_APP_LIST.
MBIM_UICC_APP_LIST (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury. |
4 | 4 | AppCount | UINT32 | Liczba struktur aplikacji UICC MBIM_UICC_APP_INFO zwracanych w tej odpowiedzi. |
8 | 4 | ActiveAppIndex | UINT32(0.NumApp - 1) | Indeks aplikacji wybranej przez modem do rejestracji w sieci komórkowej. To pole musi zawierać się między 0 a AppCount — 1. Indeksuje w tablicy aplikacji zwróconych przez tę odpowiedź. Jeśli do rejestracji nie wybrano żadnej aplikacji, to pole zawiera 0xFFFFFFFF. |
12 | 4 | Rozmiar listy aplikacji | UINT32 | Rozmiar danych listy aplikacji w bajtach. |
8*LiczbaAplikacji | Lista aplikacji | OL_PAIR_LIST | Pierwszym elementem pary jest 4-bajtowe pole z przesunięciem informacji o aplikacji w DataBufferze. Drugim elementem pary jest pole 4-bajtowe o rozmiarze informacji o aplikacji. | |
Rozmiar listy aplikacji | Bufor danych | DATABUFFER | Tablica zawierająca struktury AppCount * MBIM_UICC_APP_INFO. |
MBIM_UICC_APP_INFO (informacje o aplikacji UICC w MBIM)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Typ aplikacji | MBIM_UICC_APP_TYPE | Typ aplikacji UICC. |
4 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie identyfikatora aplikacji w buforze danych. Tylko pierwsze bajty AppIdSize mają znaczenie. Jeśli identyfikator aplikacji jest dłuższy niż MBIM_MAXLENGTH_APPID bajtów, parametr AppIdSize określa rzeczywistą długość, ale w tym polu znajdują się tylko pierwsze MBIM_MAXLENGTH_APPID bajty. To pole jest prawidłowe tylko wtedy, gdy parametr AppType nie jest MBIMUiccAppTypeMf, MBIMUiccAppTypeMfSIM lub MBIMUiccAppTypeMfRUIM. |
8 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 specyfikacji technicznej ETSI TS 102 221. Parametr AppIdSize może zawierać liczbę większą niż 16, ale w tym przypadku tylko pierwsze 16 (MBIM_MAXLENGTH_APPID) bajtów znajduje się w magazynie danych. To pole ma wartość zero dla typów aplikacji MBIMUiccAppTypeMf, MBIMUiccAppTypeMFSIM lub MBIMUiccAppTypeMfRUIM. |
12 | AppNameOffset | PRZESUNIĘCIE | Przesunięcie nazwy aplikacji w obrębie bufera danych. Ciąg UTF-8 określający nazwę aplikacji. Długość tego pola jest określana przez parametr AppNameLength. Jeśli długość jest większa lub równa MBIM_MAXLENGTH_APPNAME bajtów, to pole zawiera pierwszą MBIM_MAXLENGTH_APPNAME — 1 bajty nazwy. Ciąg jest zawsze zakończony wartością null. | |
16 | 4 | DługośćNazwyAplikacji | ROZMIAR (0..256) | Długość w bajtach nazwy aplikacji. AppNameLength może zawierać liczbę równą lub większą niż 256, ale w tych przypadkach tylko pierwsze 255 (MBIM_MAXLENGTH_APPNAME – 1) bajtów znajduje się w magazynie danych. |
20 | 4 | NumPinKeyRefs | ROZMIAR (0..8) | Liczba odniesień do klucza PIN aplikacji. Innymi słowy, liczba elementów PinKeyRef, które są prawidłowe. Aplikacje w wirtualnym interfejsie użytkownika języka R nie mają odwołań do klucza PIN. |
24 | 4 | KeyRefOffset | PRZESUNIĘCIE | Przesunięcie PinKeyRef w DataBuffer. PinKeyRef to tablica bajtów określająca odwołania do klucza PIN aplikacji dla różnych poziomów weryfikacji (klucze dla numeru PIN1, NUMERU PIN2 i ewentualnie uniwersalnego numeru PIN), zgodnie z definicją w tabeli 9.3 i sekcji 9.4.2 specyfikacji technicznej ETSI TS 102 221. W przypadku jednej karty weryfikacyjnej lub sterownika MBB i/lub modemu, który nie obsługuje różnych kluczy aplikacji dla różnych aplikacji, pierwszy bajt pola PinKeyRef musi być 0x01 (PIN1), a drugi bajt musi być 0x81 (PIN2), zgodnie z opisem w sekcji 9.5.1 z ETSI TS 102 221. |
28 | 4 | KeyRefSize | ROZMIAR (0..8) | Rozmiar PinKeyRef. |
32 | Bufor danych | DATABUFFER | Bufor danych zawierający identyfikator AppId, AppName i PinKeyRef. w przypadku pojedynczej karty weryfikacyjnej lub sterownika MBB i/lub modemu, który nie obsługuje różnych kluczy aplikacji dla różnych aplikacji, to pole musi być ustawione na 0x01. |
MBIM_UICC_APP_TYPE
Typ | Wartość | Opis |
---|---|---|
MBIMUiccAppTypeUnknown | 0 | Nieznany typ. |
MBIMUiccAppTypeMf | 1 | Starsze katalogi SIM osadzone w MF. |
MBIMUiccAppTypeMfSIM | 2 | Starsze katalogi SIM umiejscowione w DF_GSM. |
MBIMUiccAppTypeMfRUIM | 3 | Starsze katalogi SIM zakorzenione w DF_CDMA. |
MBIMUiccAppTypeUSIM | 4 | Aplikacja USIM. |
MBIMUiccAppTypeCSIM | 5 | Aplikacja CSIM. |
MBIMUiccAppTypeISIM | 6 | Aplikacja ISIM. |
Stałe
Następujące stałe są definiowane dla MBIM_CID_MS_UICC_APP_INFO.
const int MBIM_MAXLENGTH_APPID = 32
const int MBIM_MAXLENGTH_APPNAME = 256
const int MBIM_MAXNUM_PINREF = 8
Zdarzenia niezamówione
Nie dotyczy.
Kody stanu
Mają zastosowanie następujące kody stanu:
Kod stanu | Opis |
---|---|
MBIM_STATUS_SUKCES | Podstawowy status MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_BUSY | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_FAILURE | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_BRAK_WSPARCIA_URZĄDZENIA | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_SIM_NOT_INSERTED | Nie można wykonać operacji UICC, ponieważ brakuje karty UICC. |
MBIM_STATUS_BAD_SIM | Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu. |
MBIM_STATUS_NOT_INITIALIZED | Nie można wykonać operacji UICC, ponieważ UICC nie został jeszcze w pełni zainicjowany. |
MBIM_CID_MS_UICC_FILE_STATUS
Ten identyfikator CID pobiera informacje o określonym pliku UICC.
Parametry
Operacja | Zestaw | Zapytanie | Powiadomienie |
---|---|---|---|
Polecenie | Nie dotyczy | MBIM_UICC_FILE_PATH | Nie dotyczy |
Odpowiedź | Nie dotyczy | MBIM_UICC_FILE_STATUS | Nie dotyczy |
Zapytanie
Bufor informacji MBIM_COMMAND_MSG zawiera docelowy EF jako strukturę MBIM_UICC_FILE_PATH.
MBIM_UICC_FILE_PATH (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury. |
4 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego identyfikator aplikacji. |
8 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0). |
12 | 4 | FilePathOffset | PRZESUNIĘCIE | Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest tablicą 16-bitowych identyfikatorów plików. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator jest 0x7FFF, to ścieżka jest względna wobec pliku ADF aplikacji określonej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF. |
16 | 4 | RozmiarŚcieżkiPliku | ROZMIAR (0..8) | Rozmiar ścieżki pliku w bajtach. |
20 | Bufor danych | DATABUFFER | Bufor danych zawierający identyfikatory AppId i FilePath. |
Zbiór
Nie dotyczy.
Odpowiedź
Następująca struktura MBIM_UICC_FILE_STATUS jest używana w usłudze InformationBuffer.
MBIM_UICC_FILE_STATUS (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury. |
4 | 4 | StatusWord1 | UINT32(0..256) | Parametr zwrotny charakterystyczny dla polecenia UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Parametr charakterystyczny zwracany dla polecenia UICC. |
12 | 4 | Funkcja dostępu do pliku | MBIM_UICC_FILE_ACCESSIBILITY | Dostępność pliku UICC. |
16 | 4 | Typ pliku | MBIM_UICC_FILE_TYPE | Typ pliku UICC. |
20 | 4 | Struktura pliku | MBIM_UICC_FILE_STRUCTURE | Struktura pliku UICC. |
24 | 4 | LiczbaPrzedmiotów | UINT32 | Liczba elementów w pliku UICC. W przypadku plików przezroczystych i TLV ustawiono wartość 1. |
28 | 4 | Rozmiar | UINT32 | Rozmiar każdego elementu w bajtach. W przypadku plików przezroczystych lub TLV jest to rozmiar całego pliku EF. W przypadku plików opartych na rekordach reprezentuje łączną liczbę rekordów. |
32 | 16 | Status blokady pliku | MBIM_PIN_TYPE_EX[4] | Tablica typu MBIM_PIN_TYPE_EX opisująca warunek dostępu dla każdej operacji (ODCZYT, AKTUALIZACJA, AKTYWACJA i DEZAKTYWACJA w tej kolejności) w tym pliku. |
Dostępność pliku UICC MBIM
Wyliczenie MBIM_UICC_FILE_ACCESSIBILITY jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.
Typ | Wartość | Opis |
---|---|---|
MBIMUiccFileAccessibilityUnknown | 0 | Nieznana możliwość udostępniania plików. |
MBIMUiccFileAccessibilityNotShareable | 1 | Nieudzielny plik. |
MBIMUiccFileAccessibilityShareable | 2 | Plik z możliwością udostępniania. |
MBIM_UICC_FILE_TYPE
Wyliczenie MBIM_UICC_FILE_TYPE jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.
Typ | Wartość | Opis |
---|---|---|
MBIMUiccFileTypeNieznany | 0 | Nieznany typ pliku. |
MBIMUiccFileTypeWorkingEf | 1 | Praca EF. |
MBIMUiccFileTypeInternalEf | 2 | Wewnętrzny EF. |
MBIMUiccFileTypeDfOrAdf | 3 | Dedykowany plik — katalog, będący rodzicem innych węzłów. Może to być system plików DF lub ADF. |
MBIM_UICC_FILE_STRUCTURE
Wyliczenie MBIM_UICC_FILE_STRUCTURE jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.
Typ | Wartość | Opis |
---|---|---|
Nieznana struktura pliku MBIM UICC | 0 | Nieznana struktura plików. |
MBIMUiccFileStructureTransparent | 1 | Pojedynczy rekord o zmiennej długości. |
MBIMUiccFileStructureCyclic | 2 | Cykliczny zestaw rekordów o tej samej długości. |
MBIMUiccFileStructureLinear | 3 | Liniowy zestaw rekordów o tej samej długości. |
MBIMUiccFileStructureBerTLV | 4 | Zestaw wartości danych dostępnych za pomocą tagu. |
MBIM_PIN_TYPE_EX
Wyliczenie MBIM_PIN_TYPE_EX jest używane w poprzedniej strukturze MBIM_UICC_FILE_STATUS.
Typ | Wartość | Opis |
---|---|---|
MBIMPinTypeNone | 0 | Żaden PIN nie oczekuje na wprowadzenie. |
MBIMPinTypeCustom | 1 | Typ numeru PIN jest typem niestandardowym i nie jest żadnym z innych typów numerów PIN wymienionych w tym wyliczeniem. |
MBIMPinTypePin1 | 2 | Klucz PIN1. |
MBIMPinTypePin2 | 3 | Klucz PIN2. |
MBIMPinTypeDeviceSimPin | 4 | Urządzenie do klucza SIM. |
MBIMPinTypeDeviceFirstSimPin | 5 | Urządzenie do pierwszego klucza SIM. |
MBIMPinTypeNetworkPin | 6 | Klucz personalizacji sieci. |
MBIMPinTypeNetworkSubsetPin | 7 | Klucz personalizacji podzestawu sieci. |
MBIMPinTypeServiceProviderPin | 8 | Klucz personalizacji dostawcy usług (SP). |
MBIMPinTypeCorporatePin | 9 | Klucz personalizacji firmowej. |
MBIMPinTypeSubsidyLock (blokada subsydiów) | 10 | Klucz odblokowania dotacji. |
MBIMPinTypePuk1 | 11 | Klucz odblokowujący osobistego numeru identyfikacyjnego 1 (PUK1). |
MBIMPinTypePuk2 | 12 | Numer identyfikacyjny osobisty 2 - klucz odblokowujący (PUK2). |
MBIMPinTypeDeviceFirstSimPuk | 13 | Urządzenie do odblokowywania SIM PIN za pomocą pierwszego klucza. |
MBIMPinTypeNetworkPuk | 14 | Klucz odblokowywania personalizacji sieci. |
MBIMPinTypeNetworkSubsetPuk | 15 | Klucz personalizacji odblokowywania podzestawu sieci. |
MBIMPinTypeServiceProviderPuk | 16 | Klucz odblokowywania personalizacji dostawcy usług (SP). |
MBIMPinTypeCorporatePuk | 17 | Klucz odblokowujący personalizację firmową. |
MBIMPinTypeNev | 18 | Klucz NEV. |
MBIMPinTypeAdm | 19 | Klucz administracyjny. |
Zdarzenia niezamówione
Nie dotyczy.
Kody stanu
Mają zastosowanie następujące kody stanu:
Kod stanu | Opis |
---|---|
MBIM_STATUS_BUSY | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_FAILURE | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_KARTA_SIM_NIE_WŁOŻONA | Nie można wykonać operacji UICC, ponieważ brakuje karty UICC. |
MBIM_STATUS_BAD_SIM | Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Słowo stanu zwrócone przez kartę SIM to 6985. |
MBIM_CID_MS_UICC_ACCESS_BINARY
Ten CID wysyła określone polecenie, aby uzyskać dostęp do pliku binarnego UICC o typie struktury MBIMUiccFileStructureTransparent lub MBIMUiccFileStructureBerTLV.
Parametry
Operacja | Zestaw | Zapytanie | Powiadomienie |
---|---|---|---|
Polecenie | Nie dotyczy | MBIM_UICC_ACCESS_BINARY | Nie dotyczy |
Odpowiedź | Nie dotyczy | MBIM_UICC_RESPONSE | Nie dotyczy |
Zapytanie
Odczytuje plik binarny. InformationBuffer for MBIM_COMMAND_MSG zawiera strukturę MBIM_UICC_ACCESS_BINARY. Struktura MBIM_UICC_RESPONSE jest zwracana w buforze informacji MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_BINARY (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury. |
4 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji. |
8 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0). |
12 | 4 | FilePathOffset | PRZESUNIĘCIE | Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest tablicą 16-bitowych ID plików. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator to 0x7FFF, ścieżka jest względna do ADF aplikacji oznaczonej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF. |
16 | 4 | FilePathSize | ROZMIAR | Rozmiar ścieżki pliku w bajtach. |
20 | 4 | PrzesunięciePliku | UINT32 | Przesunięcie, które ma być używane podczas odczytywania z pliku. To pole może być większe niż 256 i łączy zarówno przesunięcie wysokie, jak i przesunięcie niskie zgodnie z definicją w ETSI TS 102 221 specyfikacji technicznej. |
24 | 4 | Liczbabajtów | UINT32 | Liczba bajtów do odczytania. Na przykład sterownik klienta może użyć tej funkcji do odczytu przezroczystego (binarnego) pliku, który jest większy niż 256 bajtów, chociaż maksymalna ilość, którą można odczytać lub zapisać w ramach pojedynczej operacji UICC, wynosi 256 bajtów na specyfikacji technicznej TS 102 221. Funkcja jest odpowiedzialna za podzielenie danych na wiele jednostek APDU i wysłanie wyniku z powrotem w jednej odpowiedzi. |
28 | 4 | LocalPinOffset | PRZESUNIĘCIE | Przesunięcie, wyrażone w bajtach, obliczone od początku tej struktury do bufora zawierającego hasło. Jest to lokalny numer PIN (PIN2) i jest używany w przypadku, gdy operacja wymaga lokalnej weryfikacji numeru PIN. |
32 | 4 | LocalPinSize | ROZMIAR (0..16) | Rozmiar hasła w bajtach. |
36 | 4 | PrzesunięcieDanychBinarnych | Korekta | Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego dane specyficzne dla polecenia. Dane binarne są używane tylko w przypadku operacji SET. |
40 | 4 | RozmiarDanychBinarnych | ROZMIAR (0..32768) | Rozmiar danych w bajtach. |
44 | Bufor danych | DATABUFFER | Bufor danych zawierający wartości AppId, FilePath, LocalPin i BinaryData. |
Zbiór
Nie dotyczy.
Odpowiedź
Następująca struktura MBIM_UICC_RESPONSE jest używana w usłudze InformationBuffer.
MBIM_UICC_RESPONSE (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być 1 dla wersji 1 tej struktury. |
4 | 4 | StatusWord1 | UINT32(0..256) | Parametr zwrotny specyficzny dla polecenia UICC. |
8 | 4 | StatusWord2 | UINT32(0..256) | Parametr zwracany specyficzny dla polecenia UICC. |
12 | 4 | ResponseDataOffset | PRZESUNIĘCIE | Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego dane odpowiedzi. Dane odpowiedzi są używane tylko w przypadku operacji QUERY. |
16 | 4 | RozmiarDanychOdpowiedzi | Rozmiar (0..32768) | Rozmiar danych w bajtach. |
20 | DataBuffer | DATABUFFER | Bufor danych zawierający ResponseData. |
Zdarzenia niezamówione
Nie dotyczy.
Kody stanu
Mają zastosowanie następujące kody stanu:
Kod stanu | Opis |
---|---|
MBIM_STATUS_BUSY | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_FAILURE | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_SIM_NIE_WŁOŻONA | Nie można wykonać operacji UICC, ponieważ UICC jest brakująca. |
MBIM_STATUS_BAD_SIM | Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu. |
MBIM_STATUS_SHAREABILITY_CONDITION_ERROR | Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Kod statusu zwrócony przez kartę SIM to 6985. |
MBIM_STATUS_BŁĄD_PIN | Operacja nie powiodła się z powodu błędu numeru PIN. |
Identyfikator MBIM_CID_MS_UICC_ACCESS_RECORD
Ten identyfikator CID wysyła określone polecenie w celu uzyskania dostępu do pliku liniowego stałego lub cyklicznego UICC z typem struktury MBIMUiccFileStructureCyclic lub MBIMUIccFileStructureLinear.
Parametry
Operacja | Zbiór | Zapytanie | Powiadomienie |
---|---|---|---|
Polecenie | Nie dotyczy | MBIM_UICC_ACCESS_RECORD | Nie dotyczy |
Odpowiedź | Nie dotyczy | MBIM_UICC_RESPONSE | Nie dotyczy |
Zapytanie
Odczytuje zawartość rekordu. BuforInformacji dla MBIM_COMMAND_MSG zawiera następującą strukturę MBIM_UICC_ACCESS_RECORD. MBIM_UICC_RESPONSE jest zwracany w polu InformationBuffer obiektu MBIM_COMMAND_DONE.
MBIM_UICC_ACCESS_RECORD (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury. |
4 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji. |
8 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0). |
12 | 4 | PrzesunięcieŚcieżkiPliku | PRZESUNIĘCIE | Przesunięcie w bajtach obliczane od początku tej struktury do buforu zawierającego ścieżkę pliku. Ścieżka pliku jest ciągiem 16-bitowych plikowych identyfikatorów. Pierwszy identyfikator musi być 0x7FFF lub 0x3F00. Jeśli pierwszy identyfikator to 0x7FFF, to ścieżka jest względna do ADF aplikacji wskazanej przez AppId. W przeciwnym razie jest to ścieżka bezwzględna rozpoczynająca się od MF. |
16 | 4 | RozmiarŚcieżkiPliku | ROZMIAR | Rozmiar ścieżki pliku w bajtach. |
20 | 4 | Numer rekordu | UINT32(0..256) | Numer rekordu. Reprezentuje to bezwzględny indeks rekordów w każdym momencie. Dostęp do rekordów relacyjnych nie jest obsługiwany, ponieważ modem może wykonywać wielokrotne dostępy do pliku (NEXT, PREVIOUS). |
24 | 4 | LocalPinOffset | PRZESUNIĘCIE | Przesunięcie w bajtach obliczone od początku tej struktury do buforu zawierającego hasło. Hasło blokady jest ciągiem cyfrowym w formacie UTF-8, zakończonym wartością null. |
28 | 4 | LocalPinSize | ROZMIAR (0..16) | Rozmiar hasła w bajtach. |
32 | 4 | PrzesunięcieDanychZapisanych | PRZESUNIĘCIE | Przesunięcie w bajtach, obliczone od początku tej struktury do bufora zawierającego dane specyficzne dla danego polecenia. Dane rekordu są używane tylko w przypadku operacji SET. |
36 | 4 | RecordDataSize | ROZMIAR (0..256) | Rozmiar danych w bajtach. |
40 | Bufor danych | DATABUFFER | Bufor danych zawierający wartości AppId, FilePath, LocalPin i RecordData. |
Zbiór
Nie dotyczy.
Odpowiedź
Struktura MBIM_UICC_RESPONSE jest używana w usłudze InformationBuffer.
Zdarzenia niezamówione
Nie dotyczy.
Kody stanu
Mają zastosowanie następujące kody stanu:
Kod stanu | Opis |
---|---|
MBIM_STATUS_BUSY | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_FAILURE | Podstawowy status MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_SIM_NIE_WŁOŻONA | Nie można wykonać operacji UICC, ponieważ brakuje UICC. |
MBIM_STATUS_ZŁA_SIM | Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu. |
MBIM_STATUS_BŁĄD_WARUNKU_DZIELENIA (if context allows translation) | Nie można wybrać pliku, ponieważ nie można go udostępnić i jest obecnie uzyskiwany przez inną aplikację. Słowo stanu zwrócone przez kartę SIM to 6985. |
STATUS_BŁĘDU_PIN | Operacja nie powiodła się z powodu błędu numeru PIN. |
MBIM_CID_MS_PIN_EX
Ten CID służy do wykonywania wszystkich operacji zabezpieczeń PIN, jak zdefiniowano w sekcji 9 ETSI TS 102 221 specyfikacji technicznej. CID jest podobny do MBIM_CID_MS_PIN, ale rozszerza go, żeby wspierać wieloaplikowe karty UICC. Obsługiwane są tylko karty UICC umożliwiające pojedynczą weryfikację. Karty UICC zdolne do obsługi wielu metod weryfikacji, które wspierają więcej niż jeden kod PIN aplikacji, nie są wspierane. Jeden numer PIN aplikacji (PIN1) jest przypisany do wszystkich ADF/DF i plików na UICC. Jednak każda aplikacja może określić lokalny numer PIN (PIN2) jako wymaganie weryfikacji użytkownika na poziomie 2, co powoduje konieczność dodatkowej weryfikacji dla każdego polecenia dostępu. Ten scenariusz jest obsługiwany przez MBIM_CID_MS_PIN_EX.
Podobnie jak MBIM_CID_MS_PIN, z MBIM_CID_MS_PIN_EX urządzenie zgłasza tylko jeden numer PIN naraz. Jeśli włączono wiele numerów PIN i raportowanie wielu numerów PIN jest również włączone, funkcje muszą najpierw zgłaszać numer PIN1. Jeśli na przykład raportowanie blokady subsydium jest włączone, a numer PIN1 karty SIM jest włączony, numer PIN blokady dotacji powinien zostać zgłoszony w kolejnym żądaniu zapytania dopiero po pomyślnym zweryfikowaniu numeru PIN1. Pusty PIN jest dozwolony w połączeniu z MBIMPinOperationEnter. Pusty numer PIN jest określany przez ustawienie wartości PinSize na zero. W takim przypadku polecenie SET jest podobne do zapytania i zwraca stan przywoływnego numeru PIN. Jest to w pełni dostosowane do zachowania polecenia VERIFY, jak określono w sekcji 11.1.9 ETSI TS 102 221 specyfikacji technicznej.
Parametry
Operacja | Zbiór | Zapytanie | Powiadomienie |
---|---|---|---|
Polecenie | MBIM_SET_PIN_EX | MBIM_PIN_APP | Nie dotyczy |
Odpowiedź | MBIM_PIN_INFO_EX | MBIM_PIN_INFO_EX | Nie dotyczy |
Zapytanie
Następująca struktura MBIM_PIN_APP jest używana w usłudze InformationBuffer.
MBIM_PIN_APP (wersja 1)
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Wersja | UINT32 | Numer wersji poniższej struktury. To pole musi być ustawione na 1 dla wersji 1 tej struktury. |
4 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie w bajtach od początku tej struktury do buforu zawierającego identyfikator aplikacji. |
8 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0). |
12 | DataBuffer | DATABUFFER | Identyfikator AppId zdefiniowany w specyfikacji technicznej ETSI TS 102 221. |
Zbiór
Następująca struktura MBIM_SET_PIN_EX jest używana w usłudze InformationBuffer.
MBIM_SET_PIN_EX
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Typ pinezki | MBIM_PIN_TYPE_EX | Typ numeru PIN. Zobacz tabelę MBIM_PIN_TYPE_EX w tym temacie. |
4 | 4 | PinOperation | MBIM_PIN_OPERATION | Operacja PIN Zobacz MBIM 1.0. |
8 | 4 | przesunięcie pinu | PRZESUNIĘCIE | Przesunięcie (w bajtach) obliczone od początku tej struktury do ciągu reprezentującego PIN, za pomocą którego ma być wykonana akcja, lub wartość numeru PIN wymagana do włączania lub wyłączania ustawień numeru PIN. To pole dotyczy wszystkich wartości PinOperation. |
12 | 4 | Rozmiar pinu | ROZMIAR (0,32) | Rozmiar w bajtach używany dla numeru PIN. |
16 | 4 | NowePrzesunięciePinu | PRZESUNIĘCIE | Przesunięcie w bajtach, obliczone od początku tej struktury do ciągu NewPin, który reprezentuje nową wartość numeru PIN do ustawienia, gdy PinOperation jest MBIMPinOperationChange lub MBIMPinOperationEnter dla PinTypeMBIMPinTypePuk1 lub PinTypeMBIMPinTypePuk2. |
20 | 4 | NowyRozmiarPinu | ROZMIAR (0,32) | Rozmiar w bajtach używany dla parametru NewPin. |
24 | 4 | AppIdOffset | PRZESUNIĘCIE | Przesunięcie, wyrażone w bajtach, obliczone od początku tej struktury do bufora, który zawiera identyfikator aplikacji. |
28 | 4 | AppIdSize | ROZMIAR (0..16) | Rozmiar identyfikatora aplikacji w bajtach, zgodnie z definicją w sekcji 8.3 ETSI TS 102 221 specyfikacji technicznej. W przypadku kart 2G to pole musi być ustawione na zero (0). |
32 | Bufor Danych | DATABUFFER | Bufor danych zawierający pin, NewPin i AppId. |
Odpowiedź
Następująca struktura MBIM_PIN_INFO_EX jest używana w usłudze InformationBuffer.
Przesunięcie | Rozmiar | Pole | Typ | Opis |
---|---|---|---|---|
0 | 4 | Typ pinu | MBIM_PIN_TYPE_EX | Typ numeru PIN. Zobacz tabelę MBIM_PIN_TYPE_EX w tym temacie. |
4 | 4 | PinState | MBIM_PIN_STATE | Stan numeru PIN. Zobacz MBIM 1.0. |
8 | 4 | Pozostałe próby | UINT32 | Liczba pozostałych prób dla wszystkich operacji związanych z numerem PIN, takich jak wprowadzanie, włączanie lub wyłączanie. Urządzenia, które nie obsługują tych informacji, muszą ustawić to pole na 0xFFFFFFFF. |
Zdarzenia niezamówione
Nie dotyczy.
Kody stanu
Mają zastosowanie następujące kody stanu:
Kod stanu | Opis |
---|---|
MBIM_STATUS_BUSY | Podstawowy stan MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_FAILURE | Podstawowy status MBIM zdefiniowany dla wszystkich poleceń. |
MBIM_STATUS_SIM_NIE_WŁOŻONA | Nie można wykonać operacji UICC, ponieważ brakuje karty UICC. |
MBIM_STATUS_BAD_SIM | Nie można wykonać operacji UICC, ponieważ UICC jest w stanie błędu. |
STATUS_PIN_WYŁĄCZONY | Operacja nie powiodła się, ponieważ numer PIN jest wyłączony. |
MBIM_STATUS_PIN_REQUIRED | Operacja nie powiodła się, ponieważ należy wprowadzić numer PIN, aby kontynuować. |
MBIM_STATUS_BRAK_OBSLUGI_URZADZENIA | Operacja nie powiodła się, ponieważ operacja ustawiania dla odpowiadającego typu PIN nie jest obsługiwana przez urządzenie. |