有没有一种方法可以使用XML设置在Windows CE或Mobile上查询存储的Wi-fi网络密钥



我想知道是否有人有从WinCE设备获取存储的Wi-fi网络密钥的经验。我可以配置我们的Windows CE(Embedded Compact 7)设备连接到Wifi网络,并可以使用内置的XML Provisioning指定AP名称、安全模式、网络密钥等。我还可以使用这种方法读取设备的所有Wifi设置(也可以使用XML Provisioning)。但是,将返回除网络密钥之外的所有设置。我怀疑这是出于安全目的。

是否有一种方法可以强制它显示网络密钥,或者可能有其他方法以编程方式访问这些存储的数据?

非常感谢!

编辑:

@尼古拉斯·R要求举一个例子。

以下是使用XML配置在设备上设置Wi-Fi设置(用于WPA2个人身份验证):

<wap-provisioningdoc>
<characteristic type="Wi-Fi">
<characteristic type="access-point">
<characteristic type="MyWirelessApName">
<parm name="Hidden" value="0" />
<parm name="Encryption" value="6" />
<parm name="Authentication" value="7" />
<parm name="KeyIndex" value="1" />
<parm name="NetworkKey" value="MyNetworkPassword" />
<parm name="KeyProvided" value="0" />
<parm name="Use8021x" value="0" />
<parm name="EAPType" value="0" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>

以下是如何从设备中查询所有Wi-Fi信息:

<wap-provisioningdoc>
<characteristic type="Wi-Fi">
<characteristic-query type="access-point" recursive="true"/>
</characteristic>
</wap-provisioningdoc>

这是我从设备上得到的回复:

<wap-provisioningdoc>
<characteristic type="Wi-Fi">
<characteristic type="access-point" recursive="true">
<characteristic type="MyWirelessApName"><parm name="DestId" value="{436EF144-B8FB-4863-A041-8F945A62C572}"/>
<parm name="AdHoc" value="0"/>
<parm name="Hidden" value="0"/>
<parm name="Authentication" value="7"/>
<parm name="Encryption" value="6"/>
<parm name="KeyProvided" value="0"/>
<parm name="NetworkKey" value=""/>
<parm name="KeyIndex" value="1"/>
<parm name="Use8021x" value="0"/>
<parm name="EAPType" value="0"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>

如您所见,返回的NetworkKey为空。然而,我已经对此进行了测试,以验证REAL网络密钥是否真的存储在WinCE设备上(事实确实如此;它成功地加入了受密码保护的访问点)。

我曾经操纵XML Provisioning来设置设备的APN,APN的密码也出现了"问题":根据文档,出于安全原因,我们只能获得'*'字符:http://msdn.microsoft.com/en-us/library/bb737338.aspx

对密码字段的查询将返回一个字符串,该字符串由星号('*')。

您描述的行为不符合Wifi配置文档(http://msdn.microsoft.com/en-us/library/bb737539.aspx):

NetworkKey

以ASCII或十六进制指定网络密钥。您可以设置或查询该值。此值的最大长度为64个字符。

注意:此parm以纯文本形式存储和发送。你应该确保您可以以安全的方式传输包含此设置的XML,因为对XML的访问提供了对网络密钥的访问。

您能为供应查询提供测试的示例代码吗?

最新更新