【发布时间】:2016-10-22 01:43:34
【问题描述】:
我正在开发一个应用程序,该应用程序将为用于加密各种配置数据的设备获取 X.509 证书。理想情况下,该证书将包含可以与采购记录相关的信息。有什么方法可以从通用 windows 应用中读取设备序列号或 IMEI?
【问题讨论】:
我正在开发一个应用程序,该应用程序将为用于加密各种配置数据的设备获取 X.509 证书。理想情况下,该证书将包含可以与采购记录相关的信息。有什么方法可以从通用 windows 应用中读取设备序列号或 IMEI?
【问题讨论】:
对于一般的 UWP,要获得系统唯一 ID(不是 IMEI),您可能需要查看这些类:
Windows.System.Profile.SystemIdentification
和
Windows.System.Profile.HardwareIdentification
例如:您可以通过以下方式查询唯一的设备 ID:
var buffer = SystemIdentification.GetSystemIdForPublisher();
根据msdn有如下备注:
ID具有以下特点:
- 每个系统都独一无二
- 可以离线创建
- 在重新启动、操作系统升级/重新安装等过程中持续存在
- 在硬件修改中持续存在
- 在 OneCore 中可用
- 可在工厂车间获得许可使用
请注意,返回类型是 IBuffer 并产生一些原始(非字符串可读)字节,因此您可能需要对其进行序列化。
更多信息
和
【讨论】:
无法通过电话号码信息获取另一部手机的IMEI,但您可以获得设备唯一ID。
using Microsoft.Phone.Info;
object uniqueId;
var hexString = string.Empty;
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
hexString = BitConverter.ToString((byte[])uniqueId).Replace("-", string.Empty);
MessageBox.Show("myDeviceID:" + hexString);
【讨论】: