<?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>nrfutil package generation: avoiding security risks of saving signing key to disk</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/116318/nrfutil-package-generation-avoiding-security-risks-of-saving-signing-key-to-disk</link><description>I am developing a Github CI pipeline to automatically compile, sign, and upload firmware images for a nRF52840 device. 
 Because I don&amp;#39;t have direct control over the machine running Github&amp;#39;s CI process, I want to avoid saving a `private_key.pem` file</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 14 Nov 2024 13:51:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/116318/nrfutil-package-generation-avoiding-security-risks-of-saving-signing-key-to-disk" /><item><title>RE: nrfutil package generation: avoiding security risks of saving signing key to disk</title><link>https://devzone.nordicsemi.com/thread/510509?ContentTypeID=1</link><pubDate>Thu, 14 Nov 2024 13:51:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fac38ae3-e646-45a5-bd35-0facf5f4bf7f</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;&lt;span&gt;Using named pipes could work in this situation:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;mkfifo temporary_pipe
echo $MY_PRIVATE_KEY &amp;gt; temporary_pipe &amp;amp;
nrfutil pkg generate --key-file temporary_pipe
rm temporary_pipe&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Data in named pipes are not stored on disk.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil package generation: avoiding security risks of saving signing key to disk</title><link>https://devzone.nordicsemi.com/thread/510345?ContentTypeID=1</link><pubDate>Wed, 13 Nov 2024 15:24:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50b75648-45bb-4220-8b3b-d25e2ba843d0</guid><dc:creator>cfernandezruns</dc:creator><description>&lt;p&gt;That&amp;#39;s disappointing, but thank you for the clarification.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil package generation: avoiding security risks of saving signing key to disk</title><link>https://devzone.nordicsemi.com/thread/510340?ContentTypeID=1</link><pubDate>Wed, 13 Nov 2024 15:03:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ab9d1aa-ca1d-4b04-8e2d-0744701e444d</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The nrfutil only supports the file as a path and not process substitution.&lt;/p&gt;
&lt;p&gt;Process substitution allows the output of a command (in this case, &lt;code&gt;echo &amp;quot;$MY_PRIVATE_KEY&amp;quot;&lt;/code&gt;) to be treated as if it were a file. This file-like object is represented as a special file descriptor (like &lt;code&gt;/dev/fd/63&lt;/code&gt;), which can then be passed as an argument to programs that expect a file path.&lt;/p&gt;
&lt;p&gt;Your usage is out of the scope of what we deliver. This is more of a generic Unix knowledge thing and not related to our tools. &amp;nbsp;The only correct way is to provide a file path.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>