MB PIN 操作

概述

本主题介绍与对存储在 MB 设备内存中或订阅者标识模块 (SIM) 卡 的订阅信息的访问控制相关的操作。 这包括启用、禁用或更改个人标识号 (PIN) ,以及通过 PIN 或个人解锁密钥 (PUK) 解锁。

体系结构/流

用于启用/禁用/解锁/更改 PIN 的用户操作

演示用于启用、禁用、解锁和更改 PIN 的用户操作的流程图。

PIN1/PUK1 状态的手机网络 UX 查询

描述在手机 UX 中查询 PIN1 和 PUK1 状态的过程的流程图。

从休眠状态恢复后自动解锁

显示从休眠状态恢复后自动解锁过程的流程图。

MBIM_CID_MS_PIN_EX

此处介绍了此 CID: MBIM_CID_MS_PIN_EX

MBIM_CID_PIN_LIST

说明

此命令返回 MB 设备支持的所有不同类型的个人标识号 (PIN) 的列表,以及每种 PIN 类型的其他详细信息,例如 PIN 的长度 (最小长度和最大长度) 、PIN 格式和 PIN 输入模式 (已启用/禁用/不可用) 。 此 CID 还指定函数支持的每个 PIN 的当前模式。 函数必须报告它们支持的所有 PIN。 但是,多模式设备的 PIN1 只能报告一次。

报告为 PIN1 的 PIN 必须符合 PIN1 准则:对于基于 CDMA 的设备,这是提供开机验证或标识功能的 PIN;对于基于 GSM 的设备,这是一个订阅者标识模块 (SIM) PIN。

当就绪状态更改为 MBIMSubscriberReadyStateInitialized 或就绪状态为 MBIMSubscriberReadyStateDeviceLocked (PIN 锁定) 时,函数必须能够返回此信息。 函数还应尽可能在其他就绪状态下返回此信息。

仅查询

查询消息的 InformationBuffer 为空。 informationBuffer of MBIM_COMMAND_DONE 包含MBIM_PIN_LIST_INFO。

参数

设置 查询 通知
命令 空值 Empty 不可用
响应 空值 MBIM_PIN_LIST_INFO 空值

数据结构

MBIM_PIN_MODE

类型
MBIMPinModeNotSupported 0
MBIMPinModeEnabled 1
MBIMPinModeDisabled 2

MBIM_PIN_FORMAT

类型
MBIMPinFormatUnknown 0
MBIMPinFormatNumeric 1
MBIMPinFormatAlphaNumeric 2

MBIM_PIN_DESC

Offset 大小 字段 类型 说明
0 4 PinMode MBIM_PIN_MODE 请参阅上表 MBIM_PIN_MODE。 这会显示该锁是否已启用。 它不会显示锁定状态是锁定还是已解锁。
4 4 PinFormat MBIM_PIN_FORMAT 请参阅上表 MBIM_PIN_FORMAT
8 4 PinLengthMin UINT32 PIN 中的最小字符数。 设备不应指定大于 16 的值。 如果 PIN 长度不可用,设备应指定0xffffffff。
12 4 PinLengthMax UINT32 PIN 中的最大字符数。 设备不应指定大于 16 的值。 如果 PIN 长度不可用,设备应指定0xffffffff。

查询

InformationBuffer 应为 null ,InformationBufferLength 应为

响应

在 InformationBuffer 中应使用以下结构:

MBIM_PIN_LIST_INFO

Offset 大小 字段 类型 说明
0 16 PinDescPin1 MBIM_PIN_DESC 描述 PIN1 的MBIM_PIN_DESC结构。 对于 GSMbased 设备,这是一个订阅者标识模块 (SIM) PIN。 对于基于 CDMA 的设备,开机设备锁报告为 PIN1。
16 16 PinDescPin2 MBIM_PIN_DESC 描述 PIN2 的MBIM_PIN_DESC结构。 这是保护特定 SIM 卡功能的 SIM 卡 PIN2。
32 16 PinDescDeviceSimPin MBIM_PIN_DESC 描述设备到 SIM 卡卡 PIN 的MBIM_PIN_DESC结构。 这是将设备锁定到特定 SIM 卡的 PIN。
48 16 PinDescDeviceFirstSimPin MBIM_PIN_DESC 描述设备到非常优先-SIM-卡 PIN 的MBIM_PIN_DESC结构。 这是将设备锁定到第一个插入的 SIM 卡的 PIN。
64 16 PinDescNetworkPin MBIM_PIN_DESC 描述网络个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许将设备个性化到网络。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。
80 16 PinDescNetworkSubsetPin MBIM_PIN_DESC 描述网络子集个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许将设备个性化到网络的子集。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。
96 16 PinDescServiceProviderPin MBIM_PIN_DESC 描述服务提供商 (SP) 个性化 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许向服务提供商个性化设备。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。
112 16 PinDescCorporatePin MBIM_PIN_DESC MBIM_PIN_DESC描述公司个性化 PIN 的结构。 这是一个 PIN,允许将设备个性化到特定公司。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。
128 16 PinDescSubsidyLock MBIM_PIN_DESC 描述补贴解锁 PIN 的MBIM_PIN_DESC结构。 这是一个 PIN,允许限制设备在特定网络上运行。 有关此 PIN 类型的详细信息,请参阅 3GPP 规范 22.022。
144 16 PinDescCustom MBIM_PIN_DESC 描述自定义 PIN 的MBIM_PIN_DESC结构。 这是供应商定义的自定义 PIN 类型。 它不包括在上述列表中。

状态代码

状态代码 说明
MBIM_STATUS_PIN_REQUIRED PIN 列表操作失败,因为必须先输入 PIN 才能继续此操作。

测试

以下测试作为 TestPin HLK 测试列表的一部分运行:

测试名称 说明
PinListQueryRadioOn 此测试尝试在打开无线电的情况下进行固定列表查询。
PinListQueryRadioOff 此测试尝试在无线电关闭的情况下进行引脚列表查询。
NoPinSupport 此测试验证不支持 PIN1 的设备。
PinExSetEnableDisableWithValidPin 此测试使用有效引脚启用和禁用 PIN1。
PinExSetDisableIncorrectPinWithValidLength 此测试尝试使用具有有效长度的错误引脚启用 PIN1。
PukEnableDisableThroughIncorrectPinExDisable 此测试通过多次输入不正确的 PIN1 来启用 PUK1,然后禁用 PUK1。
PinExSetChangeWithBothInvalidAndValidPin 此测试启用 PIN1,立即更改 PIN,并禁用它。
RebootTestMachineToPutPinIntoLockState 此测试会重启设备,使调制解调器进入锁定状态并提示输入有效的 PIN。
PinExSetEnterWithValidPin 此测试验证设备是否处于锁定状态,以请求 PIN 代码输入。

TestPowerStates HLK 测试列表还包含一个相关的测试 - SimPinUnlockAfterHibernate

日志分析

示例日志:

自动解锁:

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 

将 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}}

固定列表:

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

MobileBroadbandPin 类

另请参阅

OID_WWAN_PIN_EX2

OID_WWAN_PIN_LIST

MB UICC 应用程序和文件系统访问权限

有关 PIN 操作的其他信息,请参阅 OID_WWAN_PIN