Partager via


Opérations de code confidentiel MB

Aperçu

Cette rubrique décrit les opérations liées au contrôle d’accès des informations d’abonnement stockées dans la mémoire de l’appareil Mo ou sur la carte SIM (Subscriber Identity Module). Cela inclut l’activation, la désactivation ou la modification du numéro d’identification personnel (CODE CONFIDENTIEL), ainsi que le déverrouillage via le code confidentiel ou la clé de déverrouillage personnel (PUK).

Architecture/flux de données

Actions utilisateur pour activer/désactiver/déverrouiller/modifier le code confidentiel

Organigramme illustrant les actions utilisateur pour l’activation, la désactivation, le déverrouillage et la modification du code confidentiel.

Requête d’expérience utilisateur cellulaire pour l’état PIN1/PUK1

Organigramme illustrant le processus d’interrogation des états PIN1 et PUK1 dans l’expérience utilisateur cellulaire.

Déverrouillage automatique après la reprise de la mise en veille prolongée

Organigramme montrant le processus de déverrouillage automatique après la reprise de la mise en veille prolongée.

MBIM_CID_MS_PIN_EX

Ce CID est décrit ici : MBIM_CID_MS_PIN_EX

MBIM_CID_PIN_LIST

Descriptif

Cette commande retourne une liste de tous les types de numéros d’identification personnels (PIN) pris en charge par l’appareil Mo et des détails supplémentaires pour chaque type de code confidentiel, tels que la longueur du code confidentiel (longueur minimale et maximale), le format du code confidentiel et le mode d’entrée de code confidentiel (activé/désactivé/non disponible). Ce CID spécifie également le mode actuel de chaque code confidentiel pris en charge par la fonction. Les fonctions doivent rapporter tous les codes PIN qu’elles prennent en charge. Toutefois, le code PIN1 pour les appareils multimodes ne doit être signalé qu’une seule fois.

Un code confidentiel signalé en tant que code PIN1 doit être conforme aux instructions relatives au code PIN1 : pour les appareils BASÉS sur CDMA, il s’agit d’un code confidentiel qui fournit une fonctionnalité de vérification ou d’identification de l’alimentation, et pour les appareils BASÉS sur GSM, il s’agit d’un code CONFIDENTIEL de module d’identité d’abonné (SIM).

Les fonctions doivent pouvoir retourner ces informations lorsque l’état prêt passe à MBIMSubscriberReadyStateInitialized ou lorsque l’état prêt est MBIMSubscriberReadyStateDeviceLocked (verrouillé par le code PIN). Les fonctions doivent également retourner ces informations dans d’autres états prêts dans la mesure du possible.

Requête uniquement

InformationBuffer du message de requête est vide. Le InformationBuffer de MBIM_COMMAND_DONE contient un MBIM_PIN_LIST_INFO.

Paramètres

Définissez Requête Notification
Commande N/A Vide N/A
Réponse N/A MBIM_PIN_LIST_INFO N/A

Structures de données

MBIM_PIN_MODE

Les types Valeur
MBIMPinModeNotSupported 0
MBIMPinModeEnabled 1
MBIMPinModeDisabled 2

MBIM_PIN_FORMAT

Les types Valeur
MBIMPinFormatUnknown 0
MBIMPinFormatNumeric 1
MBIMPinFormatAlphaNumeric 2

MBIM_PIN_DESC

Offset Taille Terrain Catégorie Descriptif
0 4 PinMode MBIM_PIN_MODE Consultez le tableau ci-dessus MBIM_PIN_MODE. Cela indique si le verrou est activé ou non. Il ne s’affiche pas si l’état de verrouillage est verrouillé ou déverrouillé.
4 4 PinFormat MBIM_PIN_FORMAT Consultez le tableau ci-dessus MBIM_PIN_FORMAT.
8 4 PinLengthMin UINT32 Nombre minimal de caractères dans le code confidentiel. Les appareils ne doivent pas spécifier de valeur supérieure à 16. Les appareils doivent spécifier 0xffffffff, si la longueur du code confidentiel n’est pas disponible.
12 4 PinLengthMax UINT32 Nombre maximal de caractères dans le code confidentiel. Les appareils ne doivent pas spécifier de valeur supérieure à 16. Les appareils doivent spécifier 0xffffffff, si la longueur du code confidentiel n’est pas disponible.

Requête

InformationBuffer doit être null et InformationBufferLength doit être égal à zéro.

Réponse

La structure suivante doit être utilisée dans InformationBuffer :

MBIM_PIN_LIST_INFO

Offset Taille Terrain Catégorie Descriptif
0 16 PinDescPin1 MBIM_PIN_DESC La structure MBIM_PIN_DESC décrivant le code PIN1. Pour les appareils basés sur le GSM, il s’agit d’un code PIN de module d’identité d’abonné (SIM). Pour les appareils CDMA, le verrouillage de l’appareil d’alimentation est signalé en tant que code PIN1.
16 16 PinDescPin2 MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code PIN2. Il s’agit d’un code PIN2 SIM qui protège certaines fonctionnalités SIM.
32 16 PinDescDeviceSimPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel appareil vers carte SIM. Il s’agit d’un code confidentiel qui verrouille l’appareil sur une carte SIM spécifique.
48 16 PinDescDeviceFirstSimPin MBIM_PIN_DESC MBIM_PIN_DESC structure qui décrit le code PIN pour la toute première carte SIM de l'appareil. Il s’agit d’un code confidentiel qui verrouille l’appareil sur la première carte SIM insérée.
64 16 PinDescNetworkPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel de personnalisation du réseau. Il s’agit d’un code confidentiel qui permet à l’appareil d’être personnalisé sur un réseau. Pour plus d’informations sur ce type de code confidentiel, consultez la spécification 3GPP 22.022.
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC Structure MBIM_PIN_DESC décrivant le code PIN de personnalisation du sous-ensemble de réseau. Il s’agit d’un code confidentiel qui permet à l’appareil d’être personnalisé sur un sous-ensemble d’un réseau. Pour plus d’informations sur ce type de code confidentiel, consultez la spécification 3GPP 22.022.
96 16 PinDescServiceProviderPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel de personnalisation du fournisseur de services (SP). Il s’agit d’un code confidentiel qui permet à l’appareil d’être personnalisé auprès d’un fournisseur de services. Pour plus d’informations sur ce type de code confidentiel, consultez la spécification 3GPP 22.022.
112 16 PinDescCorporatePin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel de personnalisation de l’entreprise. Il s’agit d’un code confidentiel qui permet à l’appareil d’être personnalisé pour une entreprise spécifique. Pour plus d’informations sur ce type de code confidentiel, consultez la spécification 3GPP 22.022.
128 16 PinDescSubsidyLock MBIM_PIN_DESC La structure MBIM_PIN_DESC décrivant le déverrouillage de la subvention par code PIN. Il s’agit d’un code confidentiel qui permet à l’appareil d’être limité à fonctionner sur un réseau spécifique. Pour plus d’informations sur ce type de code confidentiel, consultez la spécification 3GPP 22.022.
Nombre: 144 16 PinDescCustom MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel personnalisé. Il s’agit d’un type de code CONFIDENTIEL personnalisé défini par le fournisseur. Elle n’est pas incluse dans la liste ci-dessus.

Codes de statut

Code de statut Descriptif
MBIM_STATUS_PIN_REQUIRED (Code: PIN Requis) L’opération de liste de codes confidentiels a échoué, car un code confidentiel doit être entré avant que cette opération puisse continuer.

Essai

Les tests suivants sont exécutés dans le cadre de la liste de tests HLK TestPin :

Nom du test Descriptif
PinListQueryRadioOn Ce test tente une requête de liste d'épingles alors que la radio est allumée.
PinListQueryRadioOff Ce test tente une requête de liste d’épingles avec la radio désactivée.
NoPinSupport Ce test vérifie un appareil qui ne prend pas en charge le code PIN1.
PinExSetEnableDisableWithValidPin Ce test active et désactive le code PIN1 avec un code PIN valide.
PinExSetDisableCodePINIncorrectAvecLongueurValide Ce test tente d’activer le code PIN1 avec un code PIN incorrect mais de longueur valide.
ActivationDésactivationPUKParPINIncorrectExceptionDésactivation Ce test active PUK1 en entrant le code PIN1 incorrect plusieurs fois, puis désactive PUK1.
NIPExChangementAvecÀLaFoisUnNIPInvalideEtValide Ce test active pin1, modifie immédiatement le code confidentiel et le désactive.
RedémarrerLaMachineDeTestPourMettreLePinEnÉtatenVerrouillage Ce test redémarre l’appareil pour que le modem entre dans l’état de verrouillage et invite une entrée de code confidentiel valide.
N/A (retain as PinExSetEnterWithValidPin if it's a technical identifier). Ce test vérifie que l’appareil est en état de verrouillage pour demander l’entrée du code PIN.

La liste de tests TestPowerStates HLK contient également un test pertinent : SimPinUnlockAfterHibernate.

Analyse des journaux

Exemples de fichiers journaux :

Déverrouillage automatique :

462678 [0]0F3C.1280::2020-05-05 13:03:46.378805100 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x53] Received PinInfo, status=WWAN_STATUS_SUCCESS , Type=WwanPinTypePin1  State=WwanPinStateEnter  Attempts=3, miniport={7971731f-33f9-4f1a-9718-087c12e64c5d} 
462753 [7]0F3C.2A6C::2020-05-05 13:03:46.379718400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeUnlockPin:  Attempting auto-PIN-unlock. Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}} 
462809 [7]0F3C.2A6C::2020-05-05 13:03:46.380157500 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Error] CWwanPinSM::maybeUnlockPin: Attempt to auto-unlock PIN succeeded 

Définir un code PIN (WwanPinTypePin1) :

546408 [3]0F3C.1240::2020/05/02-09:18:09.178460200 [Microsoft-Windows-WWAN-SVC-EVENTS][Request=0x6C] Sent SET PinAction, Type=2(WwanPinTypePin1), Operation=0(WwanPinOperationEnter), miniport={7971731f-33f9-4f1a-9718-087c12e64c5d}, ErrorCode=3407873(WIN=The request will be completed later by NDIS status indication.)
546425 [1]3DB0.12EC::2020/05/02-09:18:09.178564700 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBCategory::_SetPinAction. WwanSetInterface succeeded","time":"2020-05-02T16:18:09.1785647Z","cpu":1,"pid":15792,"tid":4844,"channel":11,"level":4}}
546644 [2]0F3C.39E4::2020/05/02-09:18:09.426362600 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::processPinActionResponse: SetPin rsp rcvd (result:0x0) PIN Info (state:1, type:3, attemptsRemaining:3) IsPin1Blocked 0
546645 [2]0F3C.39E4::2020/05/02-09:18:09.426364800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::maybeCapturePin: Capturing PIN for PIN ENTER/ENABLE operation Interface: {{7971731f-33f9-4f1a-9718-087c12e64c5d}}
546688 [7]3B64.2A80::2020/05/02-09:18:09.426727000 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4267270Z","cpu":7,"pid":15204,"tid":10880,"channel":11,"level":5}}
546702 [0]3B64.242C::2020/05/02-09:18:09.426762000 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4267620Z","cpu":0,"pid":15204,"tid":9260,"channel":11,"level":4}}
546710 [7]0F3C.1208::2020/05/02-09:18:09.426809700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] _PublishSebNotification: Event Source=WwanNotificationSourceMsm, Code=WwanMsmEventTypePinActionComplete
547064 [2]3DB0.1194::2020/05/02-09:18:09.427921200 [MbaeApiLogging]{"NotificationCode":"WwanMsmEventTypePinActionComplete: Success","AdapterID":"{7971731f-33f9-4f1a-9718-087c12e64c5d}","NotificationSize":24,"meta":{"provider":"MbaeApiLogging","event":"CWwanTranslator::ProcessWwanNotification","time":"2020-05-02T16:18:09.4279212Z","cpu":2,"pid":15792,"tid":4500,"channel":11,"level":5}}
547106 [2]3DB0.0B38::2020/05/02-09:18:09.428040100 [Microsoft.Windows.CellCore.MBBSettingsUX]{"meta":{"provider":"Microsoft.Windows.CellCore.MBBSettingsUX","event":"MBMediaManager::ProcessWwanNotification WwanMsmEventTypePinActionComplete","time":"2020-05-02T16:18:09.4280401Z","cpu":2,"pid":15792,"tid":2872,"channel":11,"level":4}}

Liste d’épingles :

465632 [4]0F3C.47F4::2020-05-05 13:03:46.395488200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN1 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465633 [4]0F3C.47F4::2020-05-05 13:03:46.395489800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: PIN2 (mode:1, format:1, pinlnmin:4, pinlnmax:8) 
465634 [4]0F3C.47F4::2020-05-05 13:03:46.395491400 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465635 [4]0F3C.47F4::2020-05-05 13:03:46.395492800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: DEVFIRSTSIMPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465636 [4]0F3C.47F4::2020-05-05 13:03:46.395494200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465637 [4]0F3C.47F4::2020-05-05 13:03:46.395495800 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: NWSUBSETPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465641 [5]0F3C.47F4::2020-05-05 13:03:46.395510100 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SVCPROVIDERPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465643 [5]0F3C.47F4::2020-05-05 13:03:46.395513700 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: CORPORATEPIN (mode:0, format:0, pinlnmin:0, pinlnmax:0) 
465644 [5]0F3C.47F4::2020-05-05 13:03:46.395515200 [Microsoft-Windows-WWAN-SVC-EVENTS]WWAN Service event: [Info] CWwanPinSM::tracePinDesc: SUBSIDYLOCK (mode:0, format:0, pinlnmin:0, pinlnmax:0) 

WinRT API

Classe MobileBroadbandPin

Voir aussi

OID_WWAN_PIN_EX2

OID_WWAN_PIN_LIST

Accès à l’application ET au système de fichiers MB UICC

Pour plus d’informations sur les opérations de code confidentiel, consultez OID_WWAN_PIN.