ST Microelectronics STM32 Signing Tool Software
Hyrje
Softueri i mjetit të nënshkrimit STM32 (i quajtur STM32-SignTool në këtë dokument) është i integruar në STM32CubeProgrammer (STM32CubeProg). STM32-SignTool është një mjet kyç që garanton një platformë të sigurt dhe siguron nënshkrimin e imazheve binare duke përdorur çelësat ECC të krijuar nga softueri STM32-KeyGen (për më shumë detaje referojuni manualit të përdorimit të përshkrimit të softuerit të gjeneratorit të çelësave STM32 (UM2542)). Imazhet binare të nënshkruara përdoren gjatë sekuencës së sigurt të nisjes STM32 që mbështet një zinxhir të besueshëm të nisjes. Ky veprim siguron një verifikim të vërtetimit dhe integritetit të imazheve të ngarkuara. STM32-SignTool gjeneron një imazh binar file, një çelës publik file, dhe një çelës privat file. Imazhi binar file përmban të dhënat binare që do të programohen për pajisjen. Çelësi publik file përmban çelësin publik ECC në formatin PEM, të krijuar me STM32-KeyGen. Çelësi privat file përmban çelësin privat të koduar ECC në formatin PEM, të krijuar me STM32-KeyGen. Një binar i nënshkruar file mund të gjenerohet edhe nga një tashmë e nënshkruar file me grumbullin file modaliteti. Në këtë rast, parametrat e mëposhtëm nuk janë të detyrueshëm: pika e hyrjes së imazhit, adresa e ngarkesës së imazhit dhe parametrat e versionit të imazhit. Ky dokument vlen për produktet e listuara në tabelën e mëposhtme.
Tabela 1. Produktet e aplikueshme
Lloji i produktit | Numri i pjesës ose seria e produktit |
microcontroller | Seria STM32N6 |
Mikroprocesor | Seritë STM32MP1 dhe STM32MP2 |
Në seksionet e mëposhtme, STM32 u referohet produkteve të listuara në tabelën e mësipërme, përveç nëse përcaktohet ndryshe.
Instaloni STM32-SignTool
Ky mjet është i instaluar me paketën STM32CubeProgrammer (STM32CubeProg). Për më shumë informacion rreth procedurës së konfigurimit, referojuni seksionit 1.2 të manualit të përdorimit të përshkrimit të softuerit STM32CubeProgrammer (UM2237). Ky softuer mbështet produktet STM32 të bazuara në procesorin Arm® Cortex®.
Shënim: Arm është një markë e regjistruar e Arm Limited (ose filialeve të saj) në SHBA dhe/ose gjetkë.
Ndërfaqja e linjës së komandës STM32-SignTool
Seksionet e mëposhtme përshkruajnë mënyrën e përdorimit të STM32-SignTool nga linja e komandës.
Komandat
Komandat e disponueshme janë renditur më poshtë:
- -imazh-binar(-bin), -hyrje(-in)
- Përshkrimi: imazh binar file shteg (zgjatja .bin)
- Sintaksa: 1 -bin /home/User/binaryFile.bin
- Sintaksa: 2 -in /home/User/binaryFile.bin
- -image-version (-iv)
- Përshkrimi: fut versionin e imazhit të imazhit të nënshkruar file
- Sintaksë: -iv
- -çelës privat (-prvk)
- Përshkrimi: çelës privat file shteg (zgjatje .pem)
- Sintaksë: -prvkfile_rruga>
- Example: -prvk ../privateKey.pem
- –public-key -pubk
- Përshkrimi: çelës publik file shtigjet
- Sintaksë: -pubkFile_Rruga{1..8}>
- Për kokën v1: përdorni vetëm një shteg kyç për produktet STM32MP15xx
- Për kokën v2 dhe më të mëdhenj: përdorni tetë shtigje kyçe për të tjerët
- -fjalëkalimi (-pwd)
- Përshkrimi: fjalëkalimi i çelësit privat (ky fjalëkalim duhet të përmbajë të paktën katër karaktere)
- Example: -pwd azerty
- • –adresa e ngarkesës (-la)
- Përshkrimi: adresa e ngarkimit të imazhit
- Example: -la
- – pika e hyrjes (-ep)
- Përshkrimi: pika e hyrjes së imazhit
- Example: -ep
- -flamujt e opsionit (-të)
- Përshkrimi: flamujt e opsionit të imazhit (vlera e parazgjedhur = 0)
- Example: -të
- -algoritmi (-a)
- Përshkrimi: specifikon një nga prime256v1 (vlera 1, parazgjedhje) ose brainpoolP256t1 (vlera 2)
- Example: -a <2>
- – prodhimi (-o)
- Përshkrimi: prodhimi file shteg. Ky parametër është opsional. Nëse nuk specifikohet, prodhimi file gjenerohet në të njëjtin burim file rrugë (për shembullample, imazhi binar file është C:\BinarFile.bin). Binar i nënshkruar file është C:\BinarFile_Nënshkruar.bin.
- Sintaksë: -oFile_Rruga>
- – lloji (-t)
- Përshkrimi: tip binar. Vlerat e mundshme janë ssbl, fsbl, teeh, teed, teex dhe copro
- Sintaksë: -t
- – i heshtur (-s)
- Përshkrimi: nuk shfaqet asnjë mesazh për zëvendësimin e një dalje ekzistuese file
- -ndihmë (-h dhe -?)
- Përshkrimi: tregon ndihmë
- -versioni (-v)
- Përshkrimi: shfaq versionin e mjetit
- –enc-dc (-encdc)
- Përshkrimi: konstante e derivimit të enkriptimit për enkriptimin FSBL [header v2]
- Sintaksa: -encdc
- -Enc-key (-enck)
- Përshkrimi: Sekreti OEM file për enkriptimin FSBL [header v2]
- Sintaksë: -enck
- -kokë hale (-dump)
- Përshkrimi: analizoni dhe hidhni kokën e imazhit
- Sintaksë: -dumpFile_Rruga>
- -versioni i kokës (-hv)
- Përshkrimi: versioni i titullit të nënshkrimit, vlerat e mundshme: 1, 2, 2.1, 2.2 dhe 2.3
- Example për STM32MP15xx: -hv 2
- Example për STM32MP25xx: -hv 2.2
- Example për STM32N6xxx: -hv 2.3
- – pa çelësa (-nk)
- Përshkrimi: shtimi i kokës bosh pa opsionet kryesore
- Shënim: duhet të çaktivizoni opsionin e vërtetimit me komandën flamuj të opsioneve
Examples për STM32-SignTool
Ish-i i mëposhtëmampLe të tregojnë se si të përdorni STM32-SignTool:
Example 1
-bin /home/User/BinaryFile.bin –pubk /home/user/publicKey.pem –prvk /home/user/privateKey.pem –iv 5 –pwd azerty –la 0x20000000 –ep 0x08000000 Algoritmi i paracaktuar (vlera prime256v1) zgjidhet dhe zgjidhet opsioni (vlera fladefault). Binarja e daljes së nënshkruar file (BinarFile_Signed.bin) krijohet në dosjen /home/user/
Example 2
-bin /home/User/Folder1/BinaryFile.bin –pubk /home/user/publicKey.pem –prvk /home/user/privateKey.pem –iv 5 –pwd azerty –s –la 0x20000000 –ep 0x08000000 –a 2 –o /home/user/Folder2/FedoldFile.bin Në këtë rast zgjidhet algoritmi BrainpoolP256t1. Edhe nëse Folder2 dhe Folder3 nuk ekzistojnë, ato krijohen. Me komandën –s, edhe nëse a file ekziston me të njëjtin emër të specifikuar, ai zëvendësohet automatikisht pa asnjë mesazh.
Example 3
Nënshkruani një binar file duke përdorur versionin 2 të kokës që përfshin tetë çelësa publikë për rrjedhën e vërtetimit.
./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem publicKey07.pem publicKey00.pem publicKey0.pem privateKey00000000. -t fsbl -iv 0x20000000 -la 0x08000000 -ep 0x80000001 -nga 32xXNUMX -o /home/user/output.stmXNUMX
Example 4
Nënshkruani një binar file duke përdorur versionin 2 të kokës që përfshin tetë çelësa publikë për vërtetim plus rrjedhën e kriptimit.
./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem publicKey07.pem publicKey00pem -0pem publicKey00000000pem. 0x20000000 -pwd azerty -la 0x08000000 -ep 0x00000003 -t fsbl -of 0x25205 -encdc 0x32fXNUMXe -enck /home/user/OEM_SECRET.binost.
Example 5
Verifikoni imazhin e rezultuar duke analizuar daljen file dhe kontrolloni çdo fushë të kokës. ./STM32_SigningTool_CLI.exe -dump /home/user/output.stm32
Example 6
Shtoni një kokë pa nënshkrim dhe pa vendosur çelësa. STM32_SigningTool_CLI.exe -in input.bin -nk -of 0x0 -iv 1 -hv 2.2 -o output.stm32
Modaliteti i pavarur
Kur ekzekutoni STM32-SignTool në modalitetin e pavarur, së pari duhet të futet një shteg absolut. Një fjalëkalim më pas kërkohet dy herë për konfirmim, siç tregohet në figurën më poshtë.
Figura 1. STM32-SignTool në modalitetin e pavarur
Hapat e ardhshëm janë si më poshtë:
- Zgjidhni një nga dy algoritmet.
- Futni versionin e imazhit, pikën e hyrjes së imazhit dhe adresën e ngarkimit të imazhit.
- Futni vlerën e flamurit të opsionit.
Një tjetër dalje file shtegu mund të specifikohet nëse nevojitet, ose shtypni enter për të vazhduar me atë ekzistues.
Zgjidhja PKCS#11
Imazhet binare të nënshkruara përdoren gjatë sekuencës së sigurt të nisjes STM32 që mbështet një zinxhir të besueshëm të nisjes.
Ky veprim siguron një verifikim të vërtetimit dhe integritetit të imazheve të ngarkuara.
Komanda klasike e nënshkrimit kërkon që të gjithë çelësat publikë dhe privatë të jepen si hyrje files. Këto janë
i aksesueshëm drejtpërdrejt nga çdo person që lejohet të ekzekutojë shërbimin e nënshkrimit. Në fund të fundit, kjo mund të konsiderohet
të jetë një rrjedhje sigurie. Ka disa zgjidhje për të mbrojtur çelësat nga çdo përpjekje për të vjedhur të dhënat kryesore. Në këtë
kontekst, zgjidhja PKCS#11 është miratuar.
PKCS#11 API mund të përdoret për të trajtuar dhe ruajtur çelësat kriptografikë. Kjo ndërfaqe specifikon se si
komunikoni me pajisje kriptografike si HSM (modulet e sigurisë së harduerit) dhe kartat inteligjente. Të
Qëllimi i këtyre pajisjeve është të gjenerojnë çelësa kriptografikë dhe të nënshkruajnë informacione pa zbuluar çelësin privat
materiale për botën e jashtme.
Aplikacionet softuerike mund të thërrasin API për të përdorur këto objekte për:
• Gjeneroni çelësa simetrik/asimetrik
• Enkriptimi dhe deshifrimi
• Llogaritja dhe verifikimi i nënshkrimit dixhital
PKCS #11 u paraqet aplikacioneve një të zakonshme, logjike view të pajisjes që quhet shenjë kriptografike dhe ajo
cakton një ID të slotit për çdo shenjë. Një aplikacion identifikon tokenin që dëshiron të aksesojë duke specifikuar
ID-ja e duhur e slotit.
STM32SigningTool përdoret për të menaxhuar objektet kryesore të ruajtura në kartat inteligjente dhe sigurinë e ngjashme PKCS#11
argumentet ku çelësat privatë të ndjeshëm nuk largohen kurrë nga pajisja.
STM32SigningTool përdor ndërfaqen PKCS#11 për të manipuluar dhe nënshkruar binarët e hyrjes bazuar në ECDSA
çelësat publik/privat. Këta çelësa ruhen në argumentet e sigurisë (hardware ose software).
Komanda shtesë PKCS#11
- -moduli (-m)
- Përshkrimi: specifikoni një modul/shtegun e bibliotekës PKCS#11 për t'u ngarkuar (dll, kështu)
- Sintaksa:-m
- • –indeks-kyç (-ki)
- -indeksi kryesor (-ki)
- Përshkrimi: lista e indekseve të çelësave të përdorur në format hex
- Përdorni një indeks për kokën v1 dhe tetë indekse për kokën v2 (të ndara me hapësirë)
- Sintaksë: -ki
- Përshkrimi: lista e indekseve të çelësave të përdorur në format hex
- -indeksi i slotit (-si)
- Përshkrimi: specifikoni indeksin e slotit për t'u përdorur (parazgjedhja 0x0)
- Sintaksë:-si
- –slot–identifikues (-side)
- Përshkrimi: specifikoni identifikuesin e slotit për t'u përdorur (opsionale, në format dhjetor ose heksadecimal)
- Sintaksë:-sid
- Nëse opsioni –slot-identifier përdoret njëkohësisht me –slot-index, mjeti kontrollon nëse ky konfigurim përputhet me të njëjtën slot. Identifikuesi pasqyron indeksin që u përmend; përndryshe, ndodh një gabim.
- Është e mundur të përdoret –slot-identifier pa përmendur –slot-index. Mjeti kërkon sistematikisht indeksin e slotit.
- –Indeksi i kyçit aktiv (-aki)
- Përshkrimi: specifikoni indeksin aktual të çelësit aktiv (e parazgjedhur 0)
- Sintaksa: -aki < hexVlera >
PKH/PKTH file brezi
Pas përpunimit të operacionit të nënshkrimit, mjeti gjeneron sistematikisht PKH files për t'u përdorur pas për siguresën OTP.
- PKH file i quajtur pkcsHashPublicKey0x{active_key_index}.bin për kokën v1
- PKTH file i quajtur pkcsPublicKeysHashHashes.bin për kokën v2
Examples
Mjeti mund të nënshkruajë hyrjen files si për kokën v1 ashtu edhe për kokën v2, me një ndryshim minimal në vijën e komandës.
- Kreu v1
-bin hyrje.bin -iv - pwd -la -ep -t -nga -
-kyç-indeks -aki 0 –modul –slot-indeks -o dalje.stm32 - Kreu v2
-bin hyrje.bin -iv - pwd -la -ep -t -nga – -kyç-indeks -aki - modul –slot-indeks -o dalje.stm0
Një gabim në vijën e komandës ose pamundësia e mjetit për të identifikuar objektet kryesore që përputhen, shkakton shfaqjen e një mesazhi gabimi. Kjo tregon burimin e problemit. SigningTool është në gjendje të përdorë vetëm HSM të parakonfiguruara dhe nuk është krijuar për të menaxhuar ose krijuar objekte të reja sigurie. Prandaj, është e nevojshme të instaloni softuer falas për të krijuar një mjedis të përshtatshëm. Më pas mund të gjenerohen çelësat dhe të merren informacione rreth objekteve.
Opsioni i identifikimit të slotit:
- -bin input.bin –lloji fsbl -hv 1 –key-index 0x40 -aki 0 –moduli softhsm2.dll –fjalëkalimi prg-dev -ep 0x2ffe4000 -s -si 0 -sid 0x51a53ad8 -la 0x2ffc2500 -of0 -iv dalje.stm0
Gabim p.shamples:
- Indeks i pavlefshëm i slotit
Figura 2. HSM TOKEN_NOT_NJOHET
Objekti i panjohur kyç që përmendet në komandën –key-index
Figura 3. HSM OBJECT_HANDLE_INVALID
Mjeti i trajton objektet në mënyrë sekuenciale. Nëse nuk mund të identifikojë objektet kyçe që përputhen në provën e parë, operacioni i nënshkrimit e ndalon procesin. Më pas shfaqet një mesazh gabimi për të treguar burimin e problemit.
Historia e rishikimit
Tabela 2. Historia e rishikimit të dokumentit
Data | Versioni | Ndryshimet |
14-shkurt-2019 | 1 | Lëshimi fillestar. |
26-Nëntor-2021 |
2 |
Përditësuar:
• Seksioni 2.1: Komandat • Seksioni 2.2: P.shamples për STM32-SignTool • Shtuar Seksionin 2.4: Zgjidhja PKCS#11 |
27-qershor-2022 | 3 | Seksioni 2.1 i përditësuar: Komandat |
26-qershor-2024 |
4 |
Zëvendësuar në të gjithë dokumentin:
• Seria STM32MP1 nga seria STM32MPx • STM32MP1-SignTool nga STM32MP-SignTool • STM32MP1-KeyGen nga STM32MP-KeyGen Përditësuar –public-key -pubk dhe shtuar –header-version (-hv) dhe –no-keys (- nk) në seksionin 2.1: Komandat. Shtuar “Pshample 6” në Seksionin 2.2: P.shamples për STM32-SignTool. |
14-Nëntor-2024 |
5 |
Shtuar:
• Seria STM32N6 për produktet e aplikueshme Zëvendësuar në të gjithë dokumentin: • STM32MP nga STM32 Përditësuar: • Seksioni 2.1: Komandat |
06-Mars-2025 |
6 |
Përditësuar:
• Seksioni 2.4.1: Komandat shtesë PKCS#11 • Seksioni 2.4.3: P.shamples |
NJOFTIM I RËNDËSISHËM – LEXO ME KUJDES
STMicroelectronics NV dhe filialet e saj ("ST") rezervojnë të drejtën për të bërë ndryshime, korrigjime, përmirësime, modifikime dhe përmirësime në produktet ST dhe/ose në këtë dokument në çdo kohë pa paralajmërim. Blerësit duhet të marrin informacionin më të fundit përkatës mbi produktet ST përpara se të bëjnë porosi. Produktet ST shiten në përputhje me termat dhe kushtet e shitjes të ST në fuqi në momentin e njohjes së porosisë. Blerësit janë vetëm përgjegjës për zgjedhjen, përzgjedhjen dhe përdorimin e produkteve ST dhe ST nuk merr asnjë përgjegjësi për asistencën e aplikimit ose dizajnimin e produkteve të blerësve. Asnjë licencë, e shprehur apo e nënkuptuar, për ndonjë të drejtë të pronësisë intelektuale nuk jepet nga ST këtu. Rishitja e produkteve ST me dispozita të ndryshme nga informacioni i përcaktuar këtu do të anulojë çdo garanci të dhënë nga ST për këtë produkt. ST dhe logoja ST janë marka tregtare të ST. Për informacion shtesë rreth markave ST, referojuni www.st.com/trademarks. Të gjithë emrat e tjerë të produkteve ose shërbimeve janë pronë e pronarëve të tyre përkatës. Informacioni në këtë dokument zëvendëson dhe zëvendëson informacionin e dhënë më parë në çdo version të mëparshëm të këtij dokumenti.
© 2025 STMicroelectronics – Të gjitha të drejtat e rezervuara
FAQ
- Pyetje: Çfarë duhet të bëj nëse has gabime gjatë përdorimit të STM32-SignTool?
- Përgjigje: Kontrolloni sintaksën e komandës, sigurohuni që të gjithë parametrat e kërkuar janë dhënë në mënyrë korrekte dhe referojuni manualit të përdoruesit për këshilla për zgjidhjen e problemeve.
- Pyetje: A mund të përdor STM32-SignTool në sisteme të ndryshme operative?
- Përgjigje: STM32-SignTool është krijuar për të punuar në sisteme operative specifike. Referojuni specifikimeve të softuerit për detaje të përputhshmërisë.
Dokumentet / Burimet
![]() |
ST Microelectronics STM32 Signing Tool Software [pdf] Manuali i Përdoruesit Seritë STM32N6, STM32MP1, seritë STM32MP2, Softueri i veglave të nënshkrimit STM32, STM32, Softueri i veglave të nënshkrimit, Softueri i veglave, Softueri |