<?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>1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/70485/1nce-onboarding-sim-card</link><description>Hi, 
 I try to do the Onboarding workflow for 1NCE SIM Cards with the NRF91 Module: 1nce.com/.../ 
 So the solution is to send a GET Request to a special endpoint and you get all your certificates. At the moment I&amp;#180;m confused. In the documentation it says</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 11 Feb 2021 15:22:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/70485/1nce-onboarding-sim-card" /><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/294020?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 15:22:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64f268d2-e8e1-42ea-99b7-893a51ff51ed</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi, here is some code for the basic cert querry and deploy them in a sec-tag to the device.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/1nce_5F00_deploy.zip"&gt;devzone.nordicsemi.com/.../1nce_5F00_deploy.zip&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293969?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 12:07:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfc4417f-ce98-4492-bcd5-ce02438c283a</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi Jan, thanks for your time. The fault in this case was on my side and is fixed now(forgot to clear the array). The process works fine and I was able to connect to aws cloud from scratch . Thanks for all the effort, all this stuff helps us a lot and shows us that you are a great partner for IoT networks! I will share the code for the onboarding later in this thread.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293967?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 12:00:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:542e671e-570e-491c-9ec6-2c6acb48d565</guid><dc:creator>Jan Sulaiman - 1NCE</dc:creator><description>&lt;p&gt;Hi Daniel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I asked our Engineers to check out the issue, but unfortunately, we are not able to replicate it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We have tested ourselves with various devices which are used and they were working fine.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you maybe share the specific code and also the full HTTP Request you are sending?&lt;/p&gt;
&lt;p&gt;Then it might be easier for us to figure out what is going wrong.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;We are committed to help you and get it working.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks a lot,&lt;/p&gt;
&lt;p&gt;Jan&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293888?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2021 07:11:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc1a175f-16b8-4e68-8c15-b75f35bd360e</guid><dc:creator>Jan Sulaiman - 1NCE</dc:creator><description>&lt;p&gt;Hi Daniel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for letting us know. Let me investigate this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will update you as soon as I know more.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;-Jan&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293861?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2021 19:04:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de5f6ad4-c358-4f5a-bf43-70ef7230e367</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi Jan,&lt;/p&gt;
&lt;p&gt;for every part I get to the payload a string at the end&lt;/p&gt;
&lt;p&gt;....,&amp;quot;iccid&amp;quot;:&amp;quot;8988228066601885269&amp;quot;}4TxdtTcv\n3Fy9cgi8wRK4xQ9xQ6BF1zNCmupGdFDb&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;4TxdtTcv\n3Fy9cgi8wRK4xQ9xQ6BF1zNCmupGdFDb&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You have any idea where this could come from?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293603?ContentTypeID=1</link><pubDate>Tue, 09 Feb 2021 15:37:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:702da436-8524-4150-aaeb-0b359ab412da</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi Jan, the Range Request works like it should and I am now able to get data from your endpoint. I will do the complete implementation the next days but this should be straight from this point.&amp;nbsp;&lt;a href="https://pastebin.com/BBnFu3gz"&gt;https://pastebin.com/BBnFu3gz&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/293534?ContentTypeID=1</link><pubDate>Tue, 09 Feb 2021 11:41:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23db1a93-1b02-450d-aa74-abe92e856125</guid><dc:creator>Jan Sulaiman - 1NCE</dc:creator><description>&lt;p&gt;Hi Daniel,&lt;/p&gt;
&lt;p&gt;Sorry for the slight delay in response. &lt;br /&gt;It took a week longer the originally planned to get this feature request implemented on our side.&lt;/p&gt;
&lt;p&gt;But I am happy to announce that we are now offering response splitting using HTTP range requests for the Devie API/Onboarding call you have been using.&lt;/p&gt;
&lt;p&gt;In the following, I will explain this new feature (final documentation on the 1NCE website is still outstanding). I hope you can test it and hopefully, this will provide you everything you need.&lt;/p&gt;
&lt;p&gt;I would love to hear some feedback and further suggestions if you have any.&lt;/p&gt;
&lt;p&gt;Thanks a lot,&lt;br /&gt;Jan&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1 id="Range-requests"&gt;Range requests - Documentation&lt;/h1&gt;
&lt;p&gt;&lt;span class="inline-highlight" id="aa9008eb-eb15-48a8-8b87-851cdebddf18"&gt;Some of our API&amp;rsquo;s support splitting the response body into smaller chunks. &lt;/span&gt;This can be especially useful for devices with a small TLS buffer. This is done using a HTTP range request as defined by &lt;a class="sc-iQNlJl gOhjdE" title="https://tools.ietf.org/html/rfc7233" href="https://tools.ietf.org/html/rfc7233"&gt;RFC-7233&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This documentation is applicable for all our API&amp;rsquo;s that contain an &lt;span class="code"&gt;Accept-Ranges: bytes&lt;/span&gt; header in the response. This can be checked by executing a normal &lt;span class="inline-highlight" id="78dc674b-99ca-4879-8636-af1604137ec5"&gt;GET or HEAD&lt;/span&gt; request on this endpoint. It will also be explicitly stated in the API definition of that endpoint.&lt;/p&gt;
&lt;div class="ak-editor-panel sc-cmTdod icuXES"&gt;&lt;span class="ak-editor-panel__icon"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class="ak-editor-panel__content"&gt;
&lt;p&gt;In general, only GET endpoints can support HTTP range requests.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If the endpoint supports range requests, the client can request this using specific headers. If the request is successful and would normally return status &lt;span class="code"&gt;200 OK&lt;/span&gt;, it will return status &lt;span class="code"&gt;206 Partial Content&lt;/span&gt; instead, with only the requested byte range in the response body.&lt;/p&gt;
&lt;div class="ak-editor-panel sc-cmTdod icuXES"&gt;&lt;span class="ak-editor-panel__icon"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class="ak-editor-panel__content"&gt;
&lt;p&gt;Please note that errors do not have status &lt;span class="code"&gt;200 OK&lt;/span&gt;, so the range request will not be applied and the response body may be larger than expected!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="ak-editor-panel sc-cmTdod icuXES"&gt;&lt;span class="ak-editor-panel__icon"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class="ak-editor-panel__content"&gt;
&lt;p&gt;There are a couple of known limitations. Please check the segment &amp;ldquo;Known limitations&amp;ldquo; for more info.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Headers"&gt;Headers&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="Request"&gt;Request&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="sc-lhVmIH tKQiR"&gt;&lt;/div&gt;
&lt;div class="pm-table-container  sc-jtRfpW erOyyR"&gt;
&lt;div class="pm-table-wrapper"&gt;
&lt;table&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Name&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Located in&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Description&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Required&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Schema&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;Range&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;request header&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;The&amp;nbsp;&lt;span class="code"&gt;Range&lt;/span&gt;&amp;nbsp;request HTTP header advertises which bytes the client wants to receive in the response body.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;em&gt;no range request&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;Format&lt;/strong&gt;: &lt;span class="code"&gt;bytes=&amp;lt;range-start&amp;gt;-&amp;lt;range-end&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="code"&gt;range-start&lt;/span&gt;: An integer indicating the beginning of the request range. The index is 0-based.&lt;br /&gt;&lt;span class="code"&gt;range-end&lt;/span&gt;: An &lt;em&gt;optional&lt;/em&gt; integer indicating the end of the request range. The end is inclusive, so bytes=0-4 would return &lt;strong&gt;5&lt;/strong&gt; bytes: 0, 1, 2, 3 and 4.&lt;br /&gt;&lt;span id="e7ed1786-7ce5-4e7a-a5f3-5a2071b49b6f"&gt;If omitted, the end of the response body is taken as the end of the range.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;No&lt;br /&gt;(Yes, for response splitting)&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="Response"&gt;Response&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="sc-lhVmIH tKQiR"&gt;&lt;/div&gt;
&lt;div class="pm-table-container  sc-jtRfpW erOyyR"&gt;
&lt;div class="pm-table-wrapper"&gt;
&lt;table&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Name&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Located in&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Description&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Required&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;th class="ak-renderer-tableHeader-sortable-column" colspan="1" rowspan="1"&gt;
&lt;p&gt;Schema&lt;/p&gt;
&lt;figure class="ak-renderer-tableHeader-sorting-icon ak-renderer-tableHeader-sorting-icon__no-order"&gt;
&lt;div&gt;
&lt;figure class="sc-jwKygS jVmZAF"&gt;
&lt;div class="sorting-icon-svg__no_order table-sorting-icon-inactive sc-btzYZH DOKjP"&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;Content-Range&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;response header&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;The&amp;nbsp;&lt;span class="code"&gt;Content-Range&lt;/span&gt;&amp;nbsp;response header advertises which bytes the server has sent in the response body.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Format&lt;/strong&gt;: &lt;span class="code"&gt;bytes &amp;lt;range-start&amp;gt;-&amp;lt;range-end&amp;gt;/&amp;lt;size&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="code"&gt;range-start&lt;/span&gt;: An integer indicating the beginning of the request range. The index is 0-based.&lt;br /&gt;&lt;span class="code"&gt;range-end&lt;/span&gt;: An integer indicating the end of the request range. The end is inclusive, so &lt;span class="code"&gt;bytes 0-4/100&lt;/span&gt; would return &lt;strong&gt;5&lt;/strong&gt; bytes: 0, 1, 2, 3 and 4.&lt;br /&gt;&lt;span class="code"&gt;size&lt;/span&gt;: The total byte length of the original response.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: &lt;span class="code"&gt;Content-Range: bytes 1024-2047/3629&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;&lt;strong&gt;Yes&lt;/strong&gt; when status is 206;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No&lt;/strong&gt; otherwise&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;Content-Length&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;response header&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;In the context of range requests, the &lt;span class="code"&gt;Content-Length&lt;/span&gt; response header always reflects the actual sent response body length in bytes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;The client request &lt;span class="code"&gt;Range: bytes=0-1023&lt;/span&gt;. &lt;br /&gt;The server responds with &lt;span class="code"&gt;Content-Length: 1024&lt;/span&gt; and &lt;span class="code"&gt;Content-Range: bytes 0-1023/3629&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;number&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;Accept-Ranges&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;response header&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;The &lt;span class="code"&gt;Accept-Ranges&lt;/span&gt; response header advertises whether this endpoint accepts HTTP range requests. The value indicatates the supported unit to define a range.&lt;/p&gt;
&lt;p&gt;Only the unit &lt;span class="code"&gt;bytes&lt;/span&gt; is supported.&lt;/p&gt;
&lt;p&gt;If the &lt;span class="code"&gt;Accept-Ranges&lt;/span&gt; response header is present, but its value is &lt;span class="code"&gt;none&lt;/span&gt;, range requests are &lt;strong&gt;not&lt;/strong&gt; supported.&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td colspan="1" rowspan="1"&gt;
&lt;p&gt;string&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="Examples"&gt;Examples&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;The following cURL command demonstrates how HTTP range requests could be used:&lt;/p&gt;
&lt;div class="code-block sc-cyQzhP igOrmX"&gt;
&lt;div&gt;
&lt;div&gt;&lt;span class="css-1ujqpe8"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;curl -i --request GET \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --url device.dev.connectivity-suite.cloud/.../onboarding \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --header &amp;#39;Accept: application/json&amp;#39; \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --header &amp;#39;Range: bytes=0-1023&amp;#39;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;This gives the following response:&lt;/p&gt;
&lt;div class="code-block sc-cyQzhP igOrmX"&gt;
&lt;div&gt;
&lt;div&gt;&lt;span class="css-1ujqpe8"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;HTTP/2 206&lt;/code&gt;&lt;br /&gt;&lt;code&gt;server: awselb/2.0&lt;/code&gt;&lt;br /&gt;&lt;code&gt;date: Mon, 08 Feb 2021 13:13:54 GMT&lt;/code&gt;&lt;br /&gt;&lt;code&gt;content-type: application/json; charset=utf-8&lt;/code&gt;&lt;br /&gt;&lt;code&gt;content-length: 1024&lt;/code&gt;&lt;br /&gt;&lt;code&gt;etag: W/&amp;quot;400-xWQvmq9+I96lV5hagdjlteB5l2o&amp;quot;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;content-range: bytes 0-1023/3163&lt;/code&gt;&lt;br /&gt;&lt;code&gt;access-control-allow-origin: *&lt;/code&gt;&lt;br /&gt;&lt;code&gt;x-powered-by: Express&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;{&amp;quot;certificate&amp;quot;:&amp;quot;-----BEGIN CERTIFICATE-----\nMIIDWjCCAkKgAwIBAgIVAOtPQsvJMiW4AZxB+JI/Y2msvE+OMA0GCSqGSIb3DQEB\nCwUAME0xSzBJBgNVBAsMQkFtYXpvbiBXZWIgU2VydmljZXMgTz1BbWF6b24uY29t\nIEluYy4gTD1TZWF0dGxlIFNUPVdhc2hpbmd0b24gQz1VUzAeFw0yMDA3MDMwNjM5\nMjJaFw00OTEyMzEyMzU5NTlaMB4xHDAaBgNVBAMME0FXUyBJb1QgQ2VydGlmaWNh\ndGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkTbzZIePmMoeD1QTj\nqgV0cueKMP1jui4aKF/f46bxOYmy8rfVfbngf/xBQKLWIa3RkgPzdZCOuKLUHU6q\nAOPL102tfkr2UA4EJ7Ddi8PFQESKpyoBrX8fDeabo5iriequvKi2skAUTgr9FlPp\nMLnWNmxEfjFGR7P9jb2EPqnqSkVfC5a8oWP+Y3qS/oI717lYU7rDfR8ZGmmxp+p6\nfgR1a/Y5Zp47mWQZ4J01psMqDCA3WKh3WC5IACuACiJzBdGCJcCpRL9FWoC6YNao\nOK6YpbkhQPEgGXb7Z+JfnelKF9CQdOKrodLBi0zBRuhrxAqAINwtSU7S+LW4wnb1\nyXE/AgMBAAGjYDBeMB8GA1UdIwQYMBaAFCr/xHqxbPxhtRGXodmKCMZ5aljyMB0G\nA1UdDgQWBBQTSiQQOpoWXQ6nZgsss8i1Q/XrBDAMBgNVHRMBAf8EAjAAMA4GA1Ud\nDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAQEAmsh6AJFKknKSFTyqcKwPErQj\nbx1XVvzwH88EINU0/2A4cjG+7jqdiNAQPksZjqvr5gQHn/tBBYOXbfndKxgqNBGk\nM9DFuYV7ABryfYb3jB0BHpw6L3NfTCtBvpXupyqHFZwEnope3ApWHwk&lt;/code&gt;&lt;/div&gt;
&lt;h2 id="Errors"&gt;Errors&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="Malformed-Range-header"&gt;Malformed Range header&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;If the request &lt;span class="code"&gt;Range&lt;/span&gt; header is not in the correct format, the server will respond with a &lt;span class="code"&gt;400 Bad Request&lt;/span&gt; status and the message &amp;ldquo;Malformed Range header&amp;ldquo;.&lt;/p&gt;
&lt;div class="code-block sc-cyQzhP igOrmX"&gt;
&lt;div&gt;
&lt;div&gt;&lt;span class="css-1ujqpe8"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;curl --request GET \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --url device.dev.connectivity-suite.cloud/.../onboarding \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --header &amp;#39;Accept: application/json&amp;#39; \&lt;/code&gt;&lt;br /&gt;&lt;code&gt; --header &amp;#39;Range: bytes=yikes&amp;#39;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;400 Bad Request&lt;/p&gt;
&lt;div class="code-block sc-cyQzhP igOrmX"&gt;
&lt;div&gt;
&lt;div&gt;&lt;span class="css-1ujqpe8"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;{&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;statusCode&amp;quot;: 400,&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;statusText&amp;quot;: &amp;quot;Bad Request&amp;quot;,&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;errors&amp;quot;: [&lt;/code&gt;&lt;br /&gt;&lt;code&gt; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt; "message": "Malformed Range header: yikes"&lt;/code&gt;&lt;br /&gt;&lt;code&gt; }&lt;/code&gt;&lt;br /&gt;&lt;code&gt; ]&lt;/code&gt;&lt;br /&gt;&lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;h3 id="Unsatisfiable-Range-header"&gt;Unsatisfiable&amp;nbsp;Range&amp;nbsp;header&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;If both the &lt;span class="code"&gt;range-start&lt;/span&gt; and &lt;span class="code"&gt;range-end&lt;/span&gt; values of the request&lt;span class="code"&gt;Range&lt;/span&gt; header are outside the available range, the server will respond with a &lt;span class="code"&gt;416 Range&amp;nbsp;Not&amp;nbsp;Satisfiable&lt;/span&gt; status and the message &amp;ldquo;Unsatisfiable&amp;nbsp;Range&amp;nbsp;header&amp;ldquo;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;curl --request GET \&lt;br /&gt; --url device.dev.connectivity-suite.cloud/.../onboarding \&lt;br /&gt; --header &amp;#39;Accept: application/json&amp;#39; \&lt;br /&gt; --header &amp;#39;Range: bytes=10000-10999&amp;#39;Response:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;416 Range&amp;nbsp;Not&amp;nbsp;Satisfiable&lt;/p&gt;
&lt;div class="code-block sc-cyQzhP igOrmX"&gt;
&lt;div&gt;
&lt;div&gt;&lt;span class="css-1ujqpe8"&gt;&lt;span class="sc-htpNat dcTkON"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;{&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;statusCode&amp;quot;: 416,&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;statusText&amp;quot;: &amp;quot;Range Not Satisfiable&amp;quot;,&lt;/code&gt;&lt;br /&gt;&lt;code&gt; &amp;quot;errors&amp;quot;: [&lt;/code&gt;&lt;br /&gt;&lt;code&gt; {&lt;/code&gt;&lt;br /&gt;&lt;code&gt; "message": "Unsatistiable Range header: bytes=10000-10999"&lt;/code&gt;&lt;br /&gt;&lt;code&gt; }&lt;/code&gt;&lt;br /&gt;&lt;code&gt; ]&lt;/code&gt;&lt;br /&gt;&lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;h2 id="Known-limitations"&gt;Known limitations&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="Multipart-ranges"&gt;&lt;a class="sc-iQNlJl gOhjdE" title="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#multipart_ranges" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#multipart_ranges"&gt;&lt;span id="71b72c7b-abf8-4c5b-9992-d4e707cf2294"&gt;Multipart ranges&lt;/span&gt;&lt;/a&gt;&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Multipart ranges are not supported and will return the original complete response.&lt;/p&gt;
&lt;h3 id="Conditional-range-requests"&gt;&lt;a class="sc-iQNlJl gOhjdE" title="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#conditional_range_requests" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests#conditional_range_requests"&gt;Conditional range requests&lt;/a&gt;&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Conditional range requests using an &lt;span class="code"&gt;If-Range&lt;/span&gt; header is not supported and will be ignored.&lt;/p&gt;
&lt;h3 id="HEAD-requests"&gt;HEAD requests&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Currently, HEAD requests will always have a Content-Length response header of 0, so they can not be used to retrieve the total byte length of the response beforehand.&lt;/p&gt;
&lt;h4 id="Workaround"&gt;Workaround&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat dSXbnx"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;As a workaround, the total response byte length can be retrieved from the response Content-Range header when doing an HTTP range request. The total byte length is the value after the slash.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt; In the response header &lt;span class="code"&gt;Content-Range: bytes 0-1023/4298&lt;/span&gt; the value 4298 would be the total response byte length.&lt;/p&gt;
&lt;h1 id="References"&gt;References&lt;span class="heading-anchor-wrapper"&gt;&lt;span class="sc-htpNat csSqbj"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a class="sc-iQNlJl gOhjdE" title="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests"&gt;https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="sc-iQNlJl gOhjdE" title="https://tools.ietf.org/html/rfc7233" href="https://tools.ietf.org/html/rfc7233"&gt;https://tools.ietf.org/html/rfc7233&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289867?ContentTypeID=1</link><pubDate>Mon, 18 Jan 2021 18:48:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f141b450-529e-4919-95a1-cca50051704f</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi Jan,&lt;/p&gt;
&lt;p&gt;thanks for your mail and your feedback. It&amp;acute;s great to hear that we can find a solution here. Let me know if I can give you feedback&amp;nbsp;for the planned API.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will post some code here if I get the deployment to work with our devices.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best&amp;nbsp;regards&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Daniel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289733?ContentTypeID=1</link><pubDate>Mon, 18 Jan 2021 13:05:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02b5b34f-6e5a-442c-a6a2-35ffe0668478</guid><dc:creator>Jan Sulaiman - 1NCE</dc:creator><description>&lt;p&gt;Hi Daniel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for sharing your experience. I am Jan, Product Manager IoT at 1NCE and responsible for the Connectivity Suite which you have been using.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;We are aware of this constraint already for a while. Unfortunately at the moment, we do not have a direct workaround.&amp;nbsp;&lt;span&gt;The response for the Onboarding call is too big and will not fit into the 2kb which are supported by the device. Even when using txt/csv as response type it will be too big.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Therefore we have already planned an additional feature that will allow the onboarding call to be split into multiple responses. It will be a Query Parameter that will allow you to only request the individual fields in the response body. That way each response message is under 2kb and they can be used locally then. Since this has now been requested by a customer I will try to get the development done in our next Development sprint which would allow us to release this feature in the next 2 weeks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am hoping for your understanding. I will update this thread here with more details directly from the Development Team as soon as I get them.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We hope that we can count you in to be the first tester of this new feature as soon as available.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Jan&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Product Manager IoT @1NCE&lt;/p&gt;
&lt;p&gt;Mobile: +49 175 552 4825&amp;nbsp;|&amp;nbsp;jan.sulaiman@1nce.com&amp;nbsp;|&amp;nbsp;www.1nce.com&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289497?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 16:02:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa4249f1-d4e9-4c6c-b7fb-b7dba7db4b1a</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;okay, sounds good. I will talk to 1nce in this case. Also its still strange that also the HEAD request returns Content-length:0 also with 200 OK. Thanks for your help here!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289492?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:52:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4af47290-698d-4998-a2bb-6cd1b6bbe9a8</guid><dc:creator>Didrik Rokhaug</dc:creator><description>[quote user="danielboe"]So if the range header is not supportet on the server side there is no way to get the Content?&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;It is possible to run the TLS stack on the application side. In that case, you could set the TLS buffer size as large as you want.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/serial_lte_modem/doc/slm_description.html#native-tls-sockets"&gt;This is supported in the serial_lte_modem&lt;/a&gt; if you want to see how it can be done.&lt;/p&gt;
&lt;p&gt;But, this will come with a significant flash and RAM cost.&lt;/p&gt;
&lt;p&gt;Another option would be to try to convince 1nce to add support for partial content requests or add more API calls to get each key by itself (assuming each individual key is small enough).&lt;/p&gt;
&lt;p&gt;Other than those options, I don&amp;#39;t know of any other way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289491?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:40:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d867c5e-b028-4e0e-a5cb-caadfd63b3ad</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Okay the TLS Part I understand and makes completely sense to me. So if the range header is not supportet on the server side there is no way to get the Content?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289487?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:36:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da5f4993-ab17-4cd8-855a-df4f89dc2756</guid><dc:creator>Didrik Rokhaug</dc:creator><description>&lt;p&gt;The download_client asks for a specific range: &amp;quot;Range: bytes=%u-%u\r\n&amp;quot;&lt;span style="color:rgba(206, 145, 120, 1);"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The start of the range is the current offset, while the end is MIN(offset + wanted fragment size, total file size).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="danielboe"]Okay but shouldn´t I get anything from the server also if the size is bigger?[/quote]
&lt;p&gt;&amp;nbsp;What happens is that the device will start downloading encrypted data, but it cannot decrypt it until the whole TLS fragment is downloaded. The encrypted data is therefore stored in a buffer of 2kB. But, as the TLS fragment is larger, the buffer cannot hold it all, and the fragment cannot be decrypted. It is therefore dropped.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289483?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:21:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8149398-e0d6-4ee1-aed0-b58a181cd77f</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;If I do a HEAD request, I get a response. Also I get a 503 Error if I change the URL Path. So this seems to work. now is the question how to download the content.&lt;/p&gt;
&lt;p&gt;HTTP/1.1 200 OK&lt;/p&gt;
&lt;p&gt;Server: awselb/2.0&lt;/p&gt;
&lt;p&gt;Date: Fri, 15 Jan 2021 15:15:58 GMT&lt;/p&gt;
&lt;p&gt;Content-Type: text/csv; charset=utf-8&lt;/p&gt;
&lt;p&gt;Content-Length: 0&lt;/p&gt;
&lt;p&gt;Connection: keep-alive&lt;/p&gt;
&lt;p&gt;etag: W/&amp;quot;10c3-H17P8ulLBfQxnRd+jSKR4RP6v3U&amp;quot;&lt;/p&gt;
&lt;p&gt;access-control-allow-origin: *&lt;/p&gt;
&lt;p&gt;x-powered-by: Express&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289475?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 15:01:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cac5cddc-2f76-4739-a627-9a7426795f85</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Okay but shouldn&amp;acute;t I get anything from the server also if the size is bigger? I mean the first package at least and normaly the revc loops as long as there is content. So in the demo implementation from once in RTOS it does exactly this:&amp;nbsp;&lt;a href="https://pastebin.com/edA7HMLg"&gt;https://pastebin.com/edA7HMLg&lt;/a&gt;&amp;nbsp;also they use port 443 and TCP for the socket whats also strange for me&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289472?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:51:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24ba2aeb-4fcc-4b73-8f0e-56cf3ee9af96</guid><dc:creator>Didrik Rokhaug</dc:creator><description>&lt;p&gt;One thing you could try, is to use the content-range header field to see if you can download just a part of the certificates.&lt;/p&gt;
&lt;p&gt;This is what we are doing in our download_client, to download DFU images.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289460?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:13:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:154075a0-bed8-4a5d-adf2-e651f3e5b890</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;response is a bit bigger (with certificates) but i dont think 2kb. What would be the solution here?&lt;/p&gt;
&lt;p&gt;Edit: I think it is over 2KB limit because the single certs are even bigger.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;HTTP/2 200&lt;/p&gt;
&lt;p&gt;server: awselb/2.0&lt;/p&gt;
&lt;p&gt;date: Mon, 22 Jun 2020 14:26:15 GMT&lt;/p&gt;
&lt;p&gt;content-type: application/json; charset=utf-8&lt;/p&gt;
&lt;p&gt;content-length: 3156&lt;/p&gt;
&lt;p&gt;etag: W/&amp;ldquo;c54-l8hc4And5ODwW2GDRbihJtLzNrI&amp;ldquo;&lt;/p&gt;
&lt;p&gt;access-control-allow-origin: *&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;bdquo;certificate&amp;ldquo;: &amp;bdquo;&amp;mdash;&amp;ndash;BEGIN CERTIFICATE&amp;mdash;&amp;ndash;\HERE_WOULD_BE_CERTIFICATE\n&amp;mdash;&amp;ndash;END CERTIFICATE&amp;mdash;&amp;ndash;\n&amp;ldquo;,&lt;/p&gt;
&lt;p&gt;&amp;bdquo;privateKey&amp;ldquo;: &amp;bdquo;&amp;mdash;&amp;ndash;BEGIN RSA PRIVATE KEY&amp;mdash;&amp;ndash;\HERE_WOULD_BE_KEY\n&amp;mdash;&amp;ndash;END RSA PRIVATE KEY&amp;mdash;&amp;ndash;\n&amp;ldquo;,&lt;/p&gt;
&lt;p&gt;&amp;bdquo;amazonRootCaUrl&amp;ldquo;: &amp;bdquo;www.amazontrust.com/.../AmazonRootCA1.pem&amp;ldquo;,&lt;/p&gt;
&lt;p&gt;&amp;bdquo;iotCoreEndpointUrl&amp;ldquo;: &amp;bdquo;a259hu9tuXXXXX-ats.iot.eu-central-1.amazonaws.com&amp;ldquo;,&lt;/p&gt;
&lt;p&gt;&amp;bdquo;ICCID&amp;ldquo;: &amp;bdquo;898828066600000XXXX&amp;rdquo;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289458?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 14:10:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69ff106f-abad-41a4-92fe-3f39586a7393</guid><dc:creator>Didrik Rokhaug</dc:creator><description>&lt;p&gt;How big is the response from the server?&lt;/p&gt;
&lt;p&gt;The nRF9160 has a size limit for TLS fragments of 2kB.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289447?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 13:52:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7abea0c-0759-46f0-bc70-48880e85ec17</guid><dc:creator>danielboe</dc:creator><description>&lt;p&gt;Hi Didrik, thanks for the answer. I tried to set an empty tag space with &amp;quot;err = setsockopt(fd, SOL_TLS, TLS_SEC_TAG_LIST, 0, 0);&amp;quot; and set TLS for the socket. If I do so the answer is now empty from the server so there must be some other problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 1NCE Onboarding SIM Card</title><link>https://devzone.nordicsemi.com/thread/289441?ContentTypeID=1</link><pubDate>Fri, 15 Jan 2021 13:37:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5434d619-4d0a-4abd-84ab-d8c931bed6c9</guid><dc:creator>Didrik Rokhaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;In the attached code, you are opening a &amp;quot;normal&amp;quot; TCP socket, instead of a TLS socket.&lt;/p&gt;
&lt;p&gt;When using TLS, you must use IPPROTO_TLS_1_2 as the socket protocol.&lt;span style="color:rgba(79, 193, 255, 1);"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In addition, you have to at least set the sec_tag where the certificates to be used are stored (this gets done if you call tls_setup).&lt;/p&gt;
&lt;p&gt;To get the CA certificate of the server, you can use tools such as openssl.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Didrik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>