Partager via


Opérations de code confidentiel MB

Vue d’ensemble

Cette rubrique décrit les opérations liées au contrôle d’accès aux informations d’abonnement stockées dans la mémoire de l’appareil Mo ou sur le module d’identité d’abonné (SIM) carte. Cela inclut l’activation, la désactivation ou la modification du numéro d’identification personnel (PIN), ainsi que le déverrouillage via un code confidentiel ou une clé de déverrouillage personnelle (PUK).

Architecture/Flux

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

Organigramme illustrant les actions de l’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

Description

Cette commande retourne une liste de tous les différents 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 (longueurs minimales et maximales), le format du code confidentiel et le mode de saisie du 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 signaler 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é comme PIN1 doit être conforme aux directives PIN1 : pour les appareils CDMA, il s’agit d’un code confidentiel qui fournit des fonctionnalités de vérification ou d’identification de mise sous tension, et pour les appareils gsm, il s’agit d’un code CONFIDENTIEL de module d’identité d’abonné (SIM).

Les fonctions doivent être en mesure de retourner ces informations lorsque l’état prêt passe à MBIMSubscriberReadyStateInitialized ou lorsque l’état prêt est MBIMSubscriberReadyStateDeviceLocked (code confidentiel verrouillé). 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. 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

Types Valeur
MBIMPinModeNotSupported 0
MBIMPinModeEnabled 1
MBIMPinModeDisabled 2

MBIM_PIN_FORMAT

Types Valeur
MBIMPinFormatUnknown 0
MBIMPinFormatNumeric 1
MBIMPinFormatAlphaNumeric 2

MBIM_PIN_DESC

Offset Taille Champ Type Description
0 4 PinMode MBIM_PIN_MODE Consultez le tableau ci-dessus MBIM_PIN_MODE. Cela indique si le verrou est activé ou non. Il n’indique pas si l’état de verrouillage est verrouillé ou déverrouillé.
4 4 PinFormat MBIM_PIN_FORMAT Voir 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 une 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 une 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.

response

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

MBIM_PIN_LIST_INFO

Offset Taille Champ Type Description
0 16 PinDescPin1 MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant PIN1. Pour les appareils basés sur GSM, il s’agit d’un code CONFIDENTIEL du module d’identité d’abonné (SIM). Pour les appareils CDMA, le verrouillage de l’appareil sous tension 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 PIN SIM2 qui protège certaines fonctionnalités SIM.
32 16 PinDescDeviceSimPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code confidentiel carte appareil à 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 décrivant le code CONFIDENTIEL de l’appareil à tout premier carte SIM. Il s’agit d’un code confidentiel qui verrouille l’appareil sur la toute première carte SIM insérée.
64 16 PinDescNetworkPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code pin de personnalisation 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 spécification 3GPP 22.022.
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code pin de personnalisation du sous-ensemble 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 spécification 3GPP 22.022.
96 16 PinDescServiceProviderPin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code pin de personnalisation du fournisseur de services (SP). Il s’agit d’un code confidentiel qui permet de personnaliser l’appareil auprès d’un fournisseur de services. Pour plus d’informations sur ce type de code confidentiel, consultez spécification 3GPP 22.022.
112 16 PinDescCorporatePin MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant le code pin de personnalisation d’entreprise. Il s’agit d’un code confidentiel qui permet de personnaliser l’appareil pour une entreprise spécifique. Pour plus d’informations sur ce type de code confidentiel, consultez spécification 3GPP 22.022.
128 16 PinDescSubsidyLock MBIM_PIN_DESC MBIM_PIN_DESC structure décrivant la subvention déverrouille le code confidentiel. Il s’agit d’un code confidentiel qui permet à l’appareil d’être limité pour fonctionner sur un réseau spécifique. Pour plus d’informations sur ce type de code confidentiel, consultez spécification 3GPP 22.022.
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. Il n’est pas inclus dans la liste ci-dessus.

Codes d’état

Code d’état Description
MBIM_STATUS_PIN_REQUIRED L’opération de liste de codes confidentiels a échoué, car un code confidentiel doit être entré avant que cette opération puisse continuer.

Test

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

Nom du test Description
PinListQueryRadioOn Ce test tente une requête de liste d’épingles avec la radio activé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 PIN1 avec une broche valide.
PinExSetDisableIncorrectPinWithValidLength Ce test tente d’activer PIN1 avec une broche incorrecte avec une longueur valide.
PukEnableDisableThroughIncorrectPinExDisable Ce test active PUK1 en entrant plusieurs fois un code PIN1 incorrect, puis désactive PUK1.
PinExSetChangeWithBothInvalidAndValidPin Ce test active PIN1, modifie immédiatement le code confidentiel et le désactive.
RebootTestMachineToPutPinIntoLockState 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.
PinExSetEnterWithValidPin Ce test valide que l’appareil est à l’état verrouillé pour demander l’entrée de code PIN.

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

Analyse des journaux

Exemples de 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 l’épingle (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 des broches :

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 au système de fichiers et à l’application MB UICC

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