<?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>Key Exchange issue</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/110062/key-exchange-issue</link><description>I&amp;#39;m communicating with my customers website through a certificate and key provided by an OAUTH process. I&amp;#39;m posting data to the website successfully by adding those certs to my TLS Credentials 
 
 
 err = tls_credential_add ( TLS_SEC_TAG , 
 TLS_CREDENTIAL_SERVER_CERTIFICATE</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 19 Apr 2024 06:54:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/110062/key-exchange-issue" /><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/479598?ContentTypeID=1</link><pubDate>Fri, 19 Apr 2024 06:54:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6160656e-98f3-445a-bc0c-b5f99595b626</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Philrt"]I did, and the changes did attempt to write the certificate despite not receiving a request.&amp;nbsp; But for some reason it still produced a TLS handshake error.[/quote]
&lt;p&gt;To quote myself from talking to our developers:&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;&lt;span dir="ltr"&gt;At the very least if the hack work that would be a good indication to them being correct about what goes wrong&lt;/span&gt;&lt;/span&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;And especially when you are not able to make it work like that, I start to suspect that the handshake request really is not the cause here after all.&lt;/p&gt;
&lt;p&gt;However, if you got a workaround for key renewal, that fixes your issue, and that is that.&lt;br /&gt;Good luck onwards!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/479492?ContentTypeID=1</link><pubDate>Thu, 18 Apr 2024 14:26:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f4de99a-7c1a-4d35-8c54-4acb5ac8acfd</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;I did, and the changes did attempt to write the certificate despite not receiving a request.&amp;nbsp; But for some reason it still produced a TLS handshake error.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;On the positive side, the cloud team has agreed to give me an alternate route to get certificate and key renewals.&amp;nbsp; So I guess this ticket can be closed out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/479258?ContentTypeID=1</link><pubDate>Wed, 17 Apr 2024 13:57:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac193900-0133-43d5-a061-19858ef6189d</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I think that TLS code is the same for MBEDTLS NRF_SECURITY and MBEDTLS_BUILTIN. It is the underlying crypto drivers that are changed.&lt;/p&gt;
&lt;p&gt;However, I am not 100% on that, so I suggest that you print or step through code or something like that to verify that the file is really used&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/479052?ContentTypeID=1</link><pubDate>Tue, 16 Apr 2024 18:03:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94b13f0d-c352-46b7-821d-fef56c3b2313</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;Interesting suggestion.&amp;nbsp; I tried several variants of overriding the client_auth flag.&amp;nbsp; Unfortunately, it all resulted in a TLS handshake error.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Looking at the above it also appears to be using NRF_SECURITY with MBEDTLS_LIBRARY.&amp;nbsp; I&amp;#39;m using MBEDTLS_BUILTIN.&amp;nbsp; I don&amp;#39;t know if that makes any difference.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Randall&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478969?ContentTypeID=1</link><pubDate>Tue, 16 Apr 2024 11:56:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e99a71e-9202-4cd5-9a42-695e708cd837</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Philrt"]Do you know anything about TLS 1.3 support in Zephyr?[/quote]
&lt;p&gt;&lt;span style="margin:0;padding:0;text-align:left;"&gt;You have triggered an automatic quote from my part:&lt;br /&gt;I am not able to answer questions about our timeline. You can try to ask your &lt;a href="https://www.nordicsemi.com/About-us/Contact-Us" rel="noopener noreferrer" target="_blank"&gt;local sales representative&lt;/a&gt; from Nordic Semiconductor for information about our timeline.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="margin:0;padding:0;text-align:left;"&gt;For adding the cert manually, here is some info that might help you do that:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="margin:0;padding:0;text-align:left;"&gt;&amp;quot;&lt;br /&gt;I looked what happens when the TLS state machine enters the state MBEDTLS_SSL_CLIENT_CERTIFICATE&lt;br /&gt;&lt;a href="https://github.com/nrfconnect/sdk-mbedtls/blob/main/library/ssl_tls12_client.c#L3552"&gt;https://github.com/nrfconnect/sdk-mbedtls/blob/main/library/ssl_tls12_client.c#L3552&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;The mbedtls_ssl_write_certificate() function will skip sending client certificate if ssl-&amp;gt;handshake-&amp;gt;client_auth == 0&lt;br /&gt; &lt;br /&gt;ssl-&amp;gt;handshake-&amp;gt;client_auth is only set if ServerHello contains a Certificate request here: &lt;br /&gt;&lt;a href="https://github.com/nrfconnect/sdk-mbedtls/blob/main/library/ssl_tls12_client.c#L2523"&gt;https://github.com/nrfconnect/sdk-mbedtls/blob/main/library/ssl_tls12_client.c#L2523&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;If the customer wants to hack a solution that always sends the client certificate without receiving a certificate request they can probably just set ssl-&amp;gt;handshake-&amp;gt;client_auth somewhere in the state machine.&lt;br /&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478963?ContentTypeID=1</link><pubDate>Tue, 16 Apr 2024 11:49:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c5a7482-4900-4740-bf5e-af9e590c0f92</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;One has to set CONFIG_MBEDTLS_DEBUG to y before setting the debug level will not trigger an error.&amp;nbsp; So yes, I&amp;#39;ve already set that config to y.&lt;/p&gt;
&lt;p&gt;Do you know anything about TLS 1.3 support in Zephyr?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478809?ContentTypeID=1</link><pubDate>Mon, 15 Apr 2024 14:03:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2eb41d7-4c04-46e8-b151-da4efeef89de</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Try &lt;a href="https://github.com/nrfconnect/sdk-nrfxlib/commit/2829f8e17be4c06cc5d7ee9bf3fa7113cb509fde"&gt;CONFIG_MBEDTLS_DEBUG&lt;/a&gt;?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478761?ContentTypeID=1</link><pubDate>Mon, 15 Apr 2024 12:03:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:16976584-8427-4e4c-b467-fa5126015d20</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;The only one missing is ECJPAKE.&amp;nbsp; Doubted that key juggling is something that Microsoft is doing but I tried it anyway.&amp;nbsp; And it still doesn&amp;#39;t work.&amp;nbsp; I can&amp;#39;t really do wireshark since I&amp;#39;m using a cell modem.&amp;nbsp; The cloud team did with a Linux-based Zephyr setup and it basically shows that the certificate isn&amp;#39;t being sent to the authorization server.&amp;nbsp; I tried to enable MBEDTLS debugging, but the level keeps getting set to 0.&amp;nbsp; I tried to hard wire it with CONFIG_MBEDTLS_DEBUG_LEVEL but I didn&amp;#39;t get any debug and looking it autoconf.h it&amp;#39;s still set to 0.&amp;nbsp; So something in the build is hard wiring it to 0 and I don&amp;#39;t know what it is.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478666?ContentTypeID=1</link><pubDate>Mon, 15 Apr 2024 08:07:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83b2dc57-39ab-4975-b74a-941ae40eaef6</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;I think first, it would be good to have a closer look into this, maybe we can get some new info.&lt;/p&gt;
&lt;p&gt;Can you get a wireshark sniffer log from the error you get?&lt;/p&gt;
&lt;p&gt;Do you get UART logs from the device when it fails? &lt;br /&gt;Try to turn on mbedlts logging and see if you get more info then.&lt;/p&gt;
[quote user=""]&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_ENABLED&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED&lt;/span&gt;&lt;span&gt;=y &lt;/span&gt;&lt;/div&gt;[/quote]
&lt;p&gt;I see that you have enabled 10 options while &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html#CONFIG_MBEDTLS_KEY_EXCHANGE_ALL_ENABLED"&gt;CONFIG_MBEDTLS_KEY_EXCHANGE_ALL_ENABLED&lt;/a&gt; selects 11. Off-chance, but maybe you are missing the last one?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478576?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 13:50:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b76a465-6799-4b08-b4e7-6bcce3018a19</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;The person that posted the issue on the Azure github seems to think it&amp;#39;s a bug.&amp;nbsp; I guess Microsoft doesn&amp;#39;t agree as they haven&amp;#39;t done anything to address it.&amp;nbsp; So if there is a way to get Zephyr to offer up the certificate on it&amp;#39;s own, that would be great.&amp;nbsp; If not, I may be stuck unless the cloud provider offers me an alternate way to renew keys.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478546?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 12:37:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc66b0a3-6eec-4b32-b372-4b1c06882fb8</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Looking at mbedtls code, it only gives the certificate if it is requested.&lt;/p&gt;
&lt;p&gt;However, having a another look at the spec:&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:rgba(41, 41, 41, 1);color:rgba(255, 255, 255, 1);float:none;font-family:&amp;#39;Cascadia Mono&amp;#39;, Consolas, ui-monospace, Menlo, Monaco, monospace;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0;text-transform:none;white-space:pre-wrap;"&gt;The client MUST send a Certificate message if and only if the server&lt;/span&gt;&lt;br style="color:rgba(255, 255, 255, 1);font-family:&amp;#39;Cascadia Mono&amp;#39;, Consolas, ui-monospace, Menlo, Monaco, monospace;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0;text-transform:none;white-space:pre-wrap;" /&gt;&lt;span style="background-color:rgba(41, 41, 41, 1);color:rgba(255, 255, 255, 1);float:none;font-family:&amp;#39;Cascadia Mono&amp;#39;, Consolas, ui-monospace, Menlo, Monaco, monospace;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0;text-transform:none;white-space:pre-wrap;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;has requested client authentication via a CertificateRequest message&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So only sending cert if requested seems to align with the spec after all.&lt;/p&gt;
&lt;p&gt;This was a bit back and forth. Let me know if anything was unclear and what you think about this&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478463?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 07:42:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc2a3e18-b46a-4c11-9868-05f242f7651e</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;As you see from the edit on the message below, I agree that it looks possible yes.&lt;/p&gt;
&lt;p&gt;So I asked our crypto team if they know how to configure mbedtls for this, if possible&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478449?ContentTypeID=1</link><pubDate>Fri, 12 Apr 2024 07:13:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6bfe5e36-440d-4ba4-b475-9c2a290690fe</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Philrt"]&lt;p&gt;The are two way of do a mTLS init connection.&lt;/p&gt;
&lt;p&gt;1) The server ask for a certificate from the client (that&amp;#39;s what Zephyr supports out of the box)&lt;/p&gt;
&lt;p&gt;2) The client send the cert inside the handshake (that&amp;#39;s what curl does).&lt;/p&gt;[/quote]
&lt;p&gt;Both can be true here, so I do not quite grasp the difference. &lt;br /&gt;The server first asks for a cert, and then the client sends it as part of the handshake?&lt;/p&gt;
&lt;p&gt;Do you mean by 2) that the server never requests the cert? That would be wierd as the &lt;a href="https://www.rfc-editor.org/rfc/rfc8446#section-4.4.2"&gt;spec&lt;/a&gt; says:&lt;/p&gt;
&lt;pre&gt;   The server MUST send a Certificate message whenever the agreed-upon
   key exchange method uses certificates for authentication (this
   includes all key exchange methods defined in this document
   except PSK).&lt;/pre&gt;
&lt;p&gt;Disclaimer: I must admit that I have not looked very much at the TLS spec before so I might vert well be mistaken here&lt;/p&gt;
&lt;p&gt;But I still would like to know a bit more about the two different methods mentioned here.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;EDIT:&lt;/p&gt;
&lt;p&gt;nvm I found this other section on &lt;a href="https://www.rfc-editor.org/rfc/rfc8446#section-4.3.2"&gt;certificate requests&lt;/a&gt; saying MAY. And that is what you are referring to:&lt;/p&gt;
&lt;pre&gt;A server which is authenticating with a certificate MAY optionally
   request a certificate from the client.  &lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478388?ContentTypeID=1</link><pubDate>Thu, 11 Apr 2024 18:05:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0347a0ac-816b-4d7f-8c25-4368cf43f595</guid><dc:creator>Randall</dc:creator><description>&lt;p&gt;It&amp;#39;s SDK 2.5.2 on custom hardware.&amp;nbsp; But we are using the Laird Pinnacle 100 module that has a 52840 paired with the Sierra Wireless modem.&amp;nbsp; But we are using the Zephyr builtin mbedTLS library.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The cloud provider dug into this some and has the following comments;&lt;/p&gt;
&lt;p&gt;-------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;For some reason Azure don&amp;#39;t send a certificate request when using a App Service hosted in docker in Azure. Our other endpoints is hosted using Azure function and the Microsoft Identity Provider intercept the call and do a rewrite of the header. That&amp;#39;s why it works for device-dev.get-cloud.com and not auth.get-cloud.com.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The are two way of do a mTLS init connection.&lt;/p&gt;
&lt;p&gt;1) The server ask for a certificate from the client (that&amp;#39;s what Zephyr supports out of the box)&lt;/p&gt;
&lt;p&gt;2) The client send the cert inside the handshake (that&amp;#39;s what curl does).&lt;/p&gt;
&lt;p&gt;------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;It seems to be related to an Azure issue;&lt;/p&gt;
&lt;p&gt;&lt;a id="" href="https://github.com/MicrosoftDocs/azure-docs/issues/111230"&gt;https://github.com/MicrosoftDocs/azure-docs/issues/111230&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Hopefully that sheds more light&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Key Exchange issue</title><link>https://devzone.nordicsemi.com/thread/478037?ContentTypeID=1</link><pubDate>Wed, 10 Apr 2024 11:45:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f01e414-cef6-4d78-972d-1d843d0990f8</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p style="margin:0;padding:0;text-align:left;"&gt;For us to help you with this in the best possible way, please list the following information:&lt;/p&gt;
&lt;ul style="list-style-type:disc;margin:0;text-align:left;"&gt;
&lt;li&gt;SDK Version&lt;/li&gt;
&lt;li&gt;Development Kit Version&lt;/li&gt;
&lt;li&gt;Which sample do you use?&lt;/li&gt;
&lt;li&gt;Do you use custom hardware or code?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>