针对热点身份验证的预配
要使应用参与热点身份验证过程,它必须首先为 Wi-Fi 热点创建一个或多个配置文件。 这是通过使用使用 元数据配置移动宽带体验中所述的预配代理接口完成的。 热点必须使用开放身份验证,并且必须包含 HotspotProfile 元素。 以下预配文件示例演示如何将 SSID 与应用相关联:
<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
<name>Contoso Wi-Fi</name>
<SSIDConfig>
<SSID>
<name>Contoso Wi-Fi___33</name>
</SSID>
</SSIDConfig>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>none</encryption>
<useOneX>false</useOneX>
</authEncryption>
<HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
<ExtAuth>
<ExtensionId>YourAppIdGoesHere</ExtensionId>
</ExtAuth>
<TrustedDomains>
<TrustedDomain>www.mycaptiveportal.com</TrustedDomain>
</TrustedDomains>
<UserAgent>contoso</UserAgent>
</HotspotProfile>
</security>
</MSM>
</WLANProfile>
ExtensionId 字段包含生成热点凭据的应用的包系列名称。 包系列名称由 Visual Studio 自动生成。 若要查找应用程序的包系列名称,请在 Visual Studio 解决方案中打开 package.appxmanifest 文件,然后转到“打包”窗口。
处理预配文件后,包系列名称为“YourAppIdGoesHere”的应用必须注册热点身份验证事件。 需要首先处理预配文件,以授予指定应用对此事件的访问权限。 应用可以为此事件注册单个处理程序。 只要至少有一个配置文件引用了相应的应用,事件注册就保持有效。
对预配文件进行签名
由于预配会修改在用户退出甚至卸载应用后保留的系统设置,因此需要比大多数 API 更严格的验证措施。 此验证由特定于操作员的硬件 (SIM) 、加密签名和用户确认的组合提供。 下表列出了验证要求:
SIM 卡存在 | 预配源 | 签名要求 | 用户确认要求 |
---|---|---|---|
是,MB 提供程序 | 移动宽带应用 | 无 | 无 |
是,MB 提供程序 | 操作员网站 | 证书必须: - 链接回受信任的根 CA - 与 APN 数据库中的移动宽带硬件关联或体验元数据 |
无 |
否,Wi-Fi 提供程序 | 移动宽带应用或网站 | 证书必须: - 链接回受信任的根 CA - 标记为扩展验证 |
系统会提示用户确认第一次使用证书;此后,无。 |