<?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>AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113154/aws-key-management-system---dfu-package-signing</link><description>Hello, 
 We have a requirement to ensure all private keys are stored within AWS Key Management System (KMS) and the only way to interact with these is via the KMS APIs that are provided. There is no way to extract the private key and therefore it can</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Mar 2026 08:24:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113154/aws-key-management-system---dfu-package-signing" /><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/562386?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2026 08:24:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2176817-f878-44dd-9e38-3a5b59e84cfe</guid><dc:creator>rob-phazeone</dc:creator><description>&lt;p&gt;I believe it&amp;#39;s possible - I personally didn&amp;#39;t make the code changes nor have the source code but I think the python script mentioned above was refactored to make it work and keys were kept securely in KMS.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/562369?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2026 02:26:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6df97c46-0911-412a-8f56-f75feb4427c6</guid><dc:creator>Agfa</dc:creator><description>&lt;p&gt;Hi Rob,&lt;br /&gt;Have you managed to use AWS KMS to store the private key and use its CLI to sign the&amp;nbsp;image?&lt;br /&gt;Thanks.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/495021?ContentTypeID=1</link><pubDate>Mon, 22 Jul 2024 12:58:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10c255a9-a1b3-4061-a2de-ae8c442b6660</guid><dc:creator>rob-phazeone</dc:creator><description>&lt;p&gt;Hey - Thanks for update, this was my current thought path, appreciate the input as has helped to validate thinking!&lt;/p&gt;
&lt;p&gt;Is this something that could be built into nRF Connect SDK in the furture so that private keys can be stored in AWS KMS, Azure Key Vault or Google Cloud Key Management? (Apologies in advance, as I don&amp;#39;t know the nRF Connect SDK well so this maybe an invalid request! Maybe there is already something for MCU boot.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494801?ContentTypeID=1</link><pubDate>Fri, 19 Jul 2024 12:18:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4004c76-ad2c-4fbd-9127-ae0ddb490b89</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;nrfutil does not support what you need it seems.&lt;/p&gt;
&lt;p&gt;You can take &lt;span&gt;&lt;span dir="ltr"&gt;&lt;a title="https://github.com/nordicsemiconductor/pc-nrfutil/tree/v6.1.7" href="https://github.com/NordicSemiconductor/pc-nrfutil/tree/v6.1.7" rel="noopener noreferrer" target="_blank"&gt;https://github.com/NordicSemiconductor/pc-nrfutil/tree/v6.1.7&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; and change &lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/v6.1.7/nordicsemi/dfu/signing.py"&gt;https://github.com/NordicSemiconductor/pc-nrfutil/blob/v6.1.7/nordicsemi/dfu/signing.py&lt;/a&gt; to use KMS.&lt;/p&gt;
&lt;p&gt;I also was recommended this link: &lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader_dfu_keys.html"&gt;https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader_dfu_keys.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Is this info you can work with?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494734?ContentTypeID=1</link><pubDate>Fri, 19 Jul 2024 08:58:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:177c88de-f5e1-44a8-8ef3-7e668fcbb3cd</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Aha, now I understand the issue.&lt;/p&gt;
&lt;p&gt;For the nRF Connect SDK I have tried to solve a similar issue before.&lt;br /&gt;This &lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/blob/main/bootloader_samples/keys_and_signatures/mcuboot_detached_signature/keygen_detached.sh"&gt;sample&lt;/a&gt; is not finished, but you see that I try to sign an image without using the private key directly in the signing.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;For the nRF5 SDK, I will ask our nrfutil devs if they have some ideas.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494571?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 12:24:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4bfd5de-1315-4ecd-a0d8-6021e993d8f4</guid><dc:creator>rob-phazeone</dc:creator><description>&lt;p&gt;Sorry, BLE.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494561?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 11:53:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:208c9251-9fc6-4c74-9f30-76d5ac920ae8</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Which protocol is used for DFU?&lt;/p&gt;
&lt;p&gt;How does your device connect to the internet?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494554?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 11:33:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f0b08e3d-ec8d-46c0-80ba-4356675c1748</guid><dc:creator>rob-phazeone</dc:creator><description>&lt;p&gt;Hey,&lt;/p&gt;
&lt;p&gt;Here is an example of the CMD line to sign a DFU package we would use:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt; nrfutil pkg generate --bootloader My_Boot_Loader_s140_pca10056.hex --bootloader-version 1 --softdevice s140_nrf52_7.2.0_softdevice.hex --application My_App.hex --application-version 1 --hw-version 52 --sd-id 0x100 --sd-req 0x100 --key-file My_Private_Key.pem DFU_Package.zip&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Here we have to have a copy of &amp;quot;My_Private_Key.pem&amp;quot; If we create our private keys in a key vault or key management system such as Azure Key Vault or AWS KMS, there is no way to extract the private key to use it in the command line.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;You have to use an API to interact with the private key, see amazon documentation below:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;a id="" href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html"&gt;https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;So to sign the data for DFU, I think we would somehow need to calculate a SHA_256 hash of the firmware bin&amp;nbsp;(&lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/16cb5a3d352bcc7a3ddbbf541426e3cca0f34671/nordicsemi/dfu/init_packet_pb.py#L69"&gt;InitPacketPB data&lt;/a&gt;), sign this using the AWS KMS API mentioned above and then use the R&amp;amp;S values in the DFU package to create a signed package somehow? Lot of assumptions here, but guessing at the process using the github python source for pc_nrfutil!&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;This would be for SDK5, rather than ConnectSDK, but if movign to ConnectSDK at somepoint I&amp;#39;d be interested to know if this type of approach has been considered in ConnectSDK.&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AWS Key Management System - DFU Package Signing</title><link>https://devzone.nordicsemi.com/thread/494543?ContentTypeID=1</link><pubDate>Thu, 18 Jul 2024 11:14:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61b6d210-9761-4640-8aed-677efd9c1ccb</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Could you explain short an overview here?&lt;/p&gt;
&lt;p&gt;Such as SDK version and use-case&lt;/p&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>