2

我正在尝试编写简单的应用程序,它将短信发送到蓝牙适配器范围内的手机。

我的第一次尝试是发送文件:我可以将文件从 PC 发送到手机,但我必须在手机和 PC 上输入 PIN。

我宁愿发送短信(类似于推送消息) - 是否可以在不配对设备的情况下发送?

如果无法发送推送消息,也许我可以在不请求 PIN 的情况下发送简单文件?

我使用 32 英尺图书馆。

示例代码(用于向选定设备发送文件)

static int BTSendFile(string adres, string FileName)                            
        {
            Uri uri = new Uri("obex://" + adres + '/' + Path.GetFileName(FileName));
            ObexWebRequest req = new ObexWebRequest(uri);

            req.ReadFile(FileName);

            ObexWebResponse rsp = (ObexWebResponse)req.GetResponse();

            return (int)rsp.StatusCode;

        }
4

2 回答 2

0

一个快速的答案是;不,你总是需要某种配对。

但是,如果您查看不同类型的配对,您会发现 BT 2.1 支持使用Just Works模式的安全简单配对 (SSP)。这允许您(几乎)在没有任何用户交互的情况下配对设备。来自维基百科:

行之有效:顾名思义,此方法行之有效。无需用户交互;但是,设备可能会提示用户确认配对过程。这种方法通常用于 IO 功能非常有限的耳机,并且比固定 PIN 机制更安全,固定 PIN 机制通常用于这组有限设备的传统配对。这种方法不提供中间人保护。

但是,由于“这种方法通常用于 IO 功能非常有限的耳机”,它可能不适用于您正在谈论的手机,但我认为您应该知道 :)

于 2012-11-23T14:01:01.483 回答
0

根据官方蓝牙消息访问配置文件,即处理通过远程设备访问手机上的 SMS/MMS 系统的特定蓝牙配置文件:

'MCE设备只有在成功建立安全连接后才能使用MSE设备的服务。这包括交换安全初始化消息、创建链接密钥和启用加密'

来自:https ://developer.bluetooth.org/TechnologyOverview/Pages/MAP.aspx

如果您有兴趣,那里还有完整规范的链接。

这肯定表明需要安全配对,我认为这涉及密钥。我的经验是,一旦设备已配对,只要设备记住该配对,就可以建立连接而无需重复配对(即我已经配对了一次设备而不必再次配对)。至于上面 khillang 提到的更简单的非密钥配对,我还没有看到任何相关信息 - 如果它纯粹用于耳机等设备,那么安全要求可能会更低,因为他们不太可能想要对设备进行写访问?

于 2015-12-10T12:46:59.803 回答