Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1762827pxj; Wed, 19 May 2021 13:20:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUMN0FWHlta4iB0SgSODFoAIGFC6I5vcJI5uuznrweLxmqK0URnAWJWenSoD/Lqjvzwu6f X-Received: by 2002:a17:906:4088:: with SMTP id u8mr948208ejj.240.1621455645337; Wed, 19 May 2021 13:20:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621455645; cv=none; d=google.com; s=arc-20160816; b=qR3hg9FtdPRkj+at27vVJHvLKvrvBPFUvqnLpT4CeD6U/4aeMCiEebbrI4tltHyCIi G6bfKeeEvfNShnT2pIl8qllZVwc3ErDCXpcUV8IfH3GdbeSOo1U1a7XtjCKvO1V8h7aH el1xMj4ylXUPMQ2kuspxwCsIAqSPOX8qjqKLjFuR3UJ49/QisDSXIcPcoAVLVok51org UyOp8l/m87N8w7fWOTxiKQ8HMlDgaSs4fZUlM7jZjbvr+u5wLyhSDeJbOB+pK+WDUDJO zeTCllnD1lpUNqMC9EF4BmROA6US+HwMIsUY8v9WzRbpWpOcJz33tIgDt+Kb7OG1kulB Ns3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=betUd34htPcyw+qCNIjW1vt8kfj3gBaVeXNJP1uCtO8=; b=ajKR4tI0zXz/+rEkhaMQBEiCLlw18RPunoDM3LB6NOTbTHGvVmRCu1JZ6AdOftPRzc ryhjnkmYgKd72r+WDjo9JiPjn7AZO0SAe3cnC9cF3a5SeRO781n24HPO+2TE/GN2Zg4H /cbRp19tea1BqAkj62XOeE8lo/JK74NNk/XfI2mafwt7qfD/S1iL08NDwe8NW3VsCUjU d+BozPTZ7uz6OscOu5yX6CwYT5UWalWsv+UKDH+AUkY78ikkWWWaqEaLMZhYaAodCwkG 1qxJT7292/p61MwuW+I+qI49HTh75wnRvVvCeGSBvDRQZkAAOnw6e46vBq4scWvs4T0B jEWg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ne30si662223ejc.167.2021.05.19.13.20.21; Wed, 19 May 2021 13:20:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231364AbhESSXc (ORCPT + 99 others); Wed, 19 May 2021 14:23:32 -0400 Received: from mga02.intel.com ([134.134.136.20]:32191 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231367AbhESSXb (ORCPT ); Wed, 19 May 2021 14:23:31 -0400 IronPort-SDR: tq3uyetoQbDlIM0z6OifqnopVg0I3RAO91QAZPmrKWpaAmE3KZQ4icWhWoiIVCCp9nHhqJ4wFR DbIfQEKfPflQ== X-IronPort-AV: E=McAfee;i="6200,9189,9989"; a="188175126" X-IronPort-AV: E=Sophos;i="5.82,313,1613462400"; d="scan'208";a="188175126" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2021 11:22:10 -0700 IronPort-SDR: QLx7tLkIRlkoE8K8uHL7J6APZRIdiP2owKUjV2vKDvXvQZ6dPE8I9Um7lJFKcujo9ouZjj8frL YpxOt1TPmpUA== X-IronPort-AV: E=Sophos;i="5.82,313,1613462400"; d="scan'208";a="439838657" Received: from bgi1-mobl2.amr.corp.intel.com ([10.212.229.7]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2021 11:22:09 -0700 From: Brian Gix To: linux-bluetooth@vger.kernel.org Cc: inga.stotland@intel.com, brian.gix@intel.com Subject: [PATCH BlueZ v2 4/5] test/mesh: Add support for testing more OOB auth Date: Wed, 19 May 2021 11:21:49 -0700 Message-Id: <20210519182150.1680987-5-brian.gix@intel.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210519182150.1680987-1-brian.gix@intel.com> References: <20210519182150.1680987-1-brian.gix@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org To pass IOP testing, we need to be able to support Input OOB and Out of band Public Key exchange, This patch adds agent methods to support those capabilities, but are turned off because the test code uses insecure fixed values instead of randomized values. --- test/agent.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/agent.py b/test/agent.py index b46cd95f4..57a74183d 100755 --- a/test/agent.py +++ b/test/agent.py @@ -35,7 +35,9 @@ class Agent(dbus.service.Object): caps = [] oob = [] caps.append('out-numeric') + #caps.append('in-numeric') -- Do not use well known in-oob caps.append('static-oob') + #caps.append('public-oob') -- Do not use well known key pairs oob.append('other') return { AGENT_IFACE: { @@ -56,6 +58,27 @@ class Agent(dbus.service.Object): print(set_cyan('DisplayNumeric ('), type, set_cyan(') number ='), set_green(value)) + @dbus.service.method(AGENT_IFACE, in_signature="s", out_signature="u") + def PromptNumeric(self, type): + # Sample in-oob -- DO-NOT-USE + value = 12345 + print(set_cyan('PromptNumeric ('), type, + set_cyan(') number ='), set_green(value)) + return dbus.UInt32(value) + + @dbus.service.method(AGENT_IFACE, in_signature="", out_signature="ay") + def PrivateKey(self): + # Sample Public/Private pair from Mesh Profile Spec DO-NOT-USE + private_key_str = '6872b109ea0574adcf88bf6da64996a4624fe018191d9322a4958837341284bc' + public_key_str = 'ce9027b5375fe5d3ed3ac89cef6a8370f699a2d3130db02b87e7a632f15b0002e5b72c775127dc0ce686002ecbe057e3d6a8000d4fbf2cdfffe0d38a1c55a043' + print(set_cyan('PrivateKey ()')) + print(set_cyan('Enter Public key on remote device: '), + set_green(public_key_str)); + private_key = bytearray.fromhex(private_key_str) + + return dbus.Array(private_key, signature='y') + + @dbus.service.method(AGENT_IFACE, in_signature="s", out_signature="ay") def PromptStatic(self, type): static_key = numpy.random.randint(0, 255, 16) -- 2.25.4