<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to do static authentication on PB_GATT unprovision advertise connection in nRF mesh</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39771/how-to-do-static-authentication-on-pb_gatt-unprovision-advertise-connection-in-nrf-mesh</link><description>Hi, 
 
 When I am trying to connect nRF Mesh sdk 2.2 on nrf52832 DK using nRF connect mobile application I am able to connect without static passkey, now I want to enable static authentication on connection request from nRF connect. Is it possible to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 02 Nov 2018 13:32:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39771/how-to-do-static-authentication-on-pb_gatt-unprovision-advertise-connection-in-nrf-mesh" /><item><title>RE: How to do static authentication on PB_GATT unprovision advertise connection in nRF mesh</title><link>https://devzone.nordicsemi.com/thread/155768?ContentTypeID=1</link><pubDate>Fri, 02 Nov 2018 13:32:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1f9ff0d-e505-4103-81a9-c0f5b3dc8d64</guid><dc:creator>pin2</dc:creator><description>&lt;p&gt;Hi &lt;span class="user-name"&gt; &lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/bjorn-kvaale"&gt; Bj&amp;oslash;rn Kvaale,&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="user-name"&gt;I am using nrf52832 with proxy_server application and nRF mesh mobile application original for static oob authentication &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="user-name"&gt;I tried to enable static authentication but not able to do, I added below code in file &lt;strong&gt;examples/common/src/mesh_provisionee.c&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="user-name"&gt; uint32_t mesh_provisionee_prov_start(const mesh_provisionee_start_params_t * p_start_params)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;%s\n&amp;quot;, __func__);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nrf_mesh_prov_oob_caps_t prov_caps =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACCESS_ELEMENT_COUNT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NRF_MESH_PROV_ALGORITHM_FIPS_P256EC,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NRF_MESH_PROV_OOB_STATIC_TYPE_SUPPORTED,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_params = *p_start_params;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_params.p_static_data == NULL)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return NRF_ERROR_INVALID_PARAM;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_prov_ctx.oob_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = NRF_MESH_KEY_SIZE;&amp;nbsp;&amp;nbsp; /**&amp;lt; Size of the chosen OOB authentication data. */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_prov_ctx.oob_method&amp;nbsp;&amp;nbsp;&amp;nbsp; = NRF_MESH_PROV_OOB_METHOD_STATIC;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy(m_prov_ctx.auth_value, m_params.p_static_data, NRF_MESH_KEY_SIZE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN_ON_ERROR(nrf_mesh_prov_generate_keys(m_public_key, m_private_key));&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Below is log of provisioning&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Log:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 347638&amp;gt;, prov_provisionee.c,&amp;nbsp; 602, prov_provisionee_cb_link_established&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 347641&amp;gt;, mesh_provisionee.c,&amp;nbsp; 191, prov_evt_handler: event NRF_MESH_PROV_EVT_LINK_ESTABLISHED&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 375581&amp;gt;, main.c,&amp;nbsp; 217, Successfully updated connection parameters&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 484934&amp;gt;, main.c,&amp;nbsp; 217, Successfully updated connection parameters&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905906&amp;gt;, prov_provisionee.c,&amp;nbsp; 328, prov_provisionee_pkt_in: pkt type PROV_PDU_TYPE_INVITE &lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905913&amp;gt;, prov_provisionee.c,&amp;nbsp; 342, Provisionee: invite received!&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905916&amp;gt;, prov_provisionee.c,&amp;nbsp;&amp;nbsp; 98, send_capabilities&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905918&amp;gt;, prov_provisionee.c,&amp;nbsp; 112, Provisionee: sending capabilities&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905921&amp;gt;, prov_provisionee.c,&amp;nbsp; 113, send_capabilities: 0101000100&lt;strong&gt;01&lt;/strong&gt;000000000000&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905924&amp;gt;, provisioning.c,&amp;nbsp;&amp;nbsp; 56, send_data: 010100010001000000000000&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905930&amp;gt;, mesh_provisionee.c,&amp;nbsp; 191, prov_evt_handler: event NRF_MESH_PROV_EVT_INVITE_RECEIVED&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 905933&amp;gt;, prov_provisionee.c,&amp;nbsp; 361, PDU type 0, duration 5&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 922122&amp;gt;, prov_provisionee.c,&amp;nbsp; 564, prov_provisionee_cb_ack_received:state NRF_MESH_PROV_STATE_INVITE&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938347&amp;gt;, prov_provisionee.c,&amp;nbsp; 328, prov_provisionee_pkt_in: pkt type PROV_PDU_TYPE_START &lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938352&amp;gt;, prov_provisionee.c,&amp;nbsp; 369, Provisionee: provisioning start message received!&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938355&amp;gt;, prov_provisionee.c,&amp;nbsp; 122, handle_prov_start&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938357&amp;gt;, &lt;strong&gt;prov_provisionee.c,&amp;nbsp; 165, pub key oob 0, oob_method 0, oob_size 0, oob_action 0&lt;/strong&gt;&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938361&amp;gt;, mesh_provisionee.c,&amp;nbsp; 191, prov_evt_handler: event NRF_MESH_PROV_EVT_START_RECEIVED&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938412&amp;gt;, prov_provisionee.c,&amp;nbsp; 328, prov_provisionee_pkt_in: pkt type PROV_PDU_TYPE_PUBLIC_KEY &lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938419&amp;gt;, prov_provisionee.c,&amp;nbsp; 397, Provisionee: public key message received!&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 938423&amp;gt;, provisioning.c,&amp;nbsp;&amp;nbsp; 56, send_data: 03E9935776C5E156F6C4D2A4B24A3DE861C615689DFFECBC8BF3A311661EED914E3635E70EF30E1424FC542ADC89E4FE38250E4D52E6FFF4707E8DBA172A72402E&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 954571&amp;gt;, prov_provisionee.c,&amp;nbsp; 564, prov_provisionee_cb_ack_received:state NRF_MESH_PROV_STATE_WAIT_PUB_KEY&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 954578&amp;gt;, prov_provisionee.c,&amp;nbsp; 285, start_authentication&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 959345&amp;gt;, prov_provisionee.c,&amp;nbsp; 211, request_authentication&lt;br /&gt;&amp;lt;t:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 959347&amp;gt;, prov_provisionee.c,&amp;nbsp; 268, &lt;strong&gt;Provisionee: requested OOB none&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From the log i observer i am not able to enable static authentication, can you suggest solution for it.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Pintu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do static authentication on PB_GATT unprovision advertise connection in nRF mesh</title><link>https://devzone.nordicsemi.com/thread/154824?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 10:06:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3485452b-8619-486d-825b-85e6372316b2</guid><dc:creator>pin2</dc:creator><description>&lt;p&gt;I changed static authentication data in proxy_server but it still it is allowed to provisioning with nRF mesh mobile application&amp;nbsp; &lt;/p&gt;
&lt;p&gt;include/light_switch_example_common.h:69&lt;/p&gt;
&lt;p&gt;:#define STATIC_AUTH_DATA {0x6E, 0x6F, 0x72, 0x64, 0x69, 0x63, 0x5F, 0x65, 0x78, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x5F, &lt;strong&gt;0x30&lt;/strong&gt;} instead 0x31&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do static authentication on PB_GATT unprovision advertise connection in nRF mesh</title><link>https://devzone.nordicsemi.com/thread/154792?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 06:28:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:27476257-1b98-49f5-9d9b-2a6c04f925d4</guid><dc:creator>pin2</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;Sorry for late response.&lt;/p&gt;
&lt;p&gt;1) When I am writting hex in service UUID 0x1827 on 0x2ADB characteristic it got disconnect when entering 0x0001, so if I want to send user data on this before provisioning device need to custome this service?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2) Got use case of &lt;span&gt;STATIC_AUTH_DATA&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Pintu&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to do static authentication on PB_GATT unprovision advertise connection in nRF mesh</title><link>https://devzone.nordicsemi.com/thread/154379?ContentTypeID=1</link><pubDate>Thu, 25 Oct 2018 06:58:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35df603e-9ae4-410f-9af0-7aeb2e5bc150</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Hi Pintu,&lt;/p&gt;
&lt;p&gt;Do you not get a disconnect when you access the data in or data out services on nRF Connect with the light switch proxy client or proxy server examples in mesh sdk v2.2.0? I believe this has something to do with a different packet format in the nRF Mesh app compared with nRF Connect for mobile. Do you realize that the source code for nRF Mesh is available (&lt;a href="https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library"&gt;iOS&lt;/a&gt;, &lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Mesh-Library"&gt;Android&lt;/a&gt;) &amp;amp; you are allowed to modify it, whereas nRF Connect for Mobile is not unfortunately?&lt;/p&gt;
&lt;p&gt;Also, we already use static authentication in our&amp;nbsp;light switch example. &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/29158/bluetoothmesh-oob-authentication"&gt;See this case&lt;/a&gt; &amp;amp; comment from Hung Bui:&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;Static authentication (including OOB static authentication) is already used in our example. Currently we used a fix data (look for STATIC_AUTH_DATA). But you can use NFC, QR code or anything to update this value (on both provisioner and provisionee). It should be pretty straight forward to implement. Have a look at the config_params in main() in our light switch example.&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>