<?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 check if bonded public MAC is valid</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44176/how-to-check-if-bonded-public-mac-is-valid</link><description>Hello. 
 I would like to use any of bonded {IRK, LTK, ediv, rand}info to validate public MAC[6], to be sure that it&amp;#39;s valid. Seems that such validation functions are only within softdevice. 
 My application uses internal flash as data storage and mcu</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 Feb 2019 19:29:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44176/how-to-check-if-bonded-public-mac-is-valid" /><item><title>RE: How to check if bonded public MAC is valid</title><link>https://devzone.nordicsemi.com/thread/173566?ContentTypeID=1</link><pubDate>Thu, 28 Feb 2019 19:29:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:903aea0f-e31d-4bf1-a60a-6c6e40dd8751</guid><dc:creator>Tomas Mickus</dc:creator><description>&lt;p&gt;Understood, thank you. The flash corruption sometimes happen due to third party internal flash database implementation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to check if bonded public MAC is valid</title><link>https://devzone.nordicsemi.com/thread/173387?ContentTypeID=1</link><pubDate>Thu, 28 Feb 2019 08:10:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29b5781d-6129-41e1-bedf-63d50b9da37d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I do not understand the background for this question. Wy do you expect flash corruption? The Peer manager library in the SDK which handles bonding use the FSD library for storing data in flash, and this is written to ensure that it can handle resets at any time.&lt;/p&gt;
&lt;p&gt;Also, what do you mean by validate the MAC? Do you want to validate that the MAC of a peer is derived from the IRK you have stored (i.e. resolve the address)? Or do you have another goal?&lt;/p&gt;
&lt;p&gt;You are right that the SDK does not have any implementation for tis. It is handled by the SoftDevice (but the application is responsible for keeping the bonding information and providing it to the SoftDevice). Unfortunately, I cannot share any code from the SoftDevice implementation. This is standard operations though, so you can refer to the Bluetooth specification to see the details.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>