ST Microelectronics STM32 pasirašymo įrankio programinė įranga
Įvadas
STM32 pasirašymo įrankio programinė įranga (šiame dokumente pavadinta STM32-SignTool) yra integruota į STM32CubeProgrammer (STM32CubeProg). STM32-SignTool yra pagrindinis įrankis, kuris garantuoja saugią platformą ir užtikrina dvejetainių vaizdų pasirašymą naudojant STM32-KeyGen programinės įrangos sugeneruotus ECC raktus (daugiau informacijos rasite STM32 raktų generatoriaus programinės įrangos aprašyme (UM2542)). Pasirašyti dvejetainiai vaizdai naudojami saugioje STM32 įkrovos sekoje, kuri palaiko patikimą įkrovos grandinę. Šis veiksmas užtikrina įkeltų vaizdų autentifikavimą ir vientisumo patikrinimą. STM32-SignTool generuoja dvejetainį vaizdą file, viešasis raktas fileir privatų raktą file. Dvejetainis vaizdas file yra dvejetainiai duomenys, kuriuos reikia užprogramuoti įrenginiui. Viešasis raktas file yra ECC viešasis raktas PEM formatu, sugeneruotas naudojant STM32-KeyGen. Privatus raktas file yra užšifruotas ECC privatus raktas PEM formatu, sugeneruotas naudojant STM32-KeyGen. Pasirašytas dvejetainis file taip pat gali būti sugeneruotas iš jau pasirašyto file su partija file režimu. Šiuo atveju šie parametrai nėra privalomi: vaizdo įvesties taškas, vaizdo įkėlimo adresas ir vaizdo versijos parametrai. Šis dokumentas taikomas toliau esančioje lentelėje išvardytiems produktams.
1 lentelė. Taikomi produktai
Produkto tipas | Dalies numeris arba gaminio serija |
Mikrovaldiklis | STM32N6 serija |
Mikroprocesorius | STM32MP1 ir STM32MP2 serijos |
Tolesniuose skyriuose STM32 reiškia produktus, išvardytus aukščiau esančioje lentelėje, jei nenurodyta kitaip.
Įdiekite STM32-SignTool
Šis įrankis įdiegtas kartu su STM32CubeProgrammer paketu (STM32CubeProg). Daugiau informacijos apie sąrankos procedūrą rasite vartotojo vadovo STM1.2CubeProgrammer programinės įrangos aprašymo (UM32) 2237 skyriuje. Ši programinė įranga palaiko STM32 produktus, pagrįstus Arm® Cortex® procesoriumi.
Pastaba: Arm yra registruotasis Arm Limited (arba jos dukterinių įmonių) prekės ženklas JAV ir (arba) kitur.
STM32-SignTool komandų eilutės sąsaja
Tolesniuose skyriuose aprašoma, kaip komandinėje eilutėje naudoti STM32-SignTool.
Komandos
Galimos komandos pateikiamos žemiau:
- –dvejetainis vaizdas(-bin), –input(-in)
- Aprašymas: dvejetainis vaizdas file kelias (.bin plėtinys)
- Sintaksė: 1 -bin /home/User/binaryFile.bin
- Sintaksė: 2 -in /home/User/binaryFile.bin
- -vaizdo versija (-iv)
- Aprašymas: įveda pasirašyto vaizdo vaizdo versiją file
- Sintaksė: -iv
- -privatus raktas (-prvk)
- Aprašymas: privatus raktas file kelias (.pem plėtinys)
- Sintaksė: -prvkfile_path>
- Example: -prvk ../privateKey.pem
- -viešojo rakto -pubk
- Aprašymas: viešasis raktas file takai
- Sintaksė: -pubkFile_Path{1..8}>
- 1 antraštei: naudokite tik vieną rakto kelią STM32MP15xx produktams
- 2 ir naujesnėms antraštėms: kitiems naudokite aštuonis pagrindinius kelius
- - slaptažodis (-pwd)
- Aprašymas: privataus rakto slaptažodis (šį slaptažodį turi sudaryti bent keturi simboliai)
- Example: -pwd azerty
- • –apkrovos adresas (-la)
- Aprašymas: vaizdo įkėlimo adresas
- Example: -la
- -įėjimo taškas (-ep)
- Aprašymas: vaizdo įvesties taškas
- Example: -ep
- – pasirinkimo vėliavėlės (-of)
- Aprašymas: vaizdo parinkčių vėliavėlės (numatytoji vertė = 0)
- Example: -iš
- – algoritmas (-a)
- Aprašymas: nurodo vieną iš prime256v1 (reikšmė 1, numatytoji) arba brainpoolP256t1 (vertė 2)
- Example: -a <2>
- – išvestis (-o)
- Aprašymas: išvestis file kelias. Šis parametras yra neprivalomas. Jei nenurodyta, išvestis file generuojamas tame pačiame šaltinyje file kelias (pvzample, dvejetainis vaizdas file yra C:\BinaryFile.bin). Pasirašytas dvejetainis file yra C:\BinaryFile_Signed.bin.
- Sintaksė: -oFile_Path>
- – tipas (-t)
- Aprašymas: dvejetainis tipas. Galimos reikšmės yra ssbl, fsbl, teeh, teed, teex ir copro
- Sintaksė: -t
- – tylus (-s)
- Aprašymas: nerodomas pranešimas apie esamos išvesties pakeitimą file
- -pagalba (-h ir -?)
- Aprašymas: rodo pagalbą
- – versija (-v)
- Aprašymas: rodoma įrankio versija
- –enc-dc (-encdc)
- Aprašymas: FSBL šifravimo šifravimo išvedimo konstanta [antraštė v2]
- Sintaksė: -encdc
- -enc-key (-enck)
- Aprašymas: OEM paslaptis file skirtas FSBL šifravimui [2 antraštė]
- Sintaksė: -enck
- – iškelties antraštė (–išrašyti)
- Aprašymas: išanalizuoti ir iškelti vaizdo antraštę
- Sintaksė: -dumpFile_Path>
- – antraštės versija (-hv)
- Aprašymas: pasirašymo antraštės versija, galimos reikšmės: 1, 2, 2.1, 2.2 ir 2.3
- Example STM32MP15xx: -hv 2
- Example STM32MP25xx: -hv 2.2
- Example STM32N6xxx: -hv 2.3
- – nėra klavišų (-nk)
- Aprašymas: tuščios antraštės pridėjimas be raktų parinkčių
- Pastaba: reikia išjungti autentifikavimo parinktį naudojant parinkčių vėliavėlių komandą
Examples STM32-SignTool
Šis buvęsampparodys, kaip naudoti 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 Pasirinktas numatytasis algoritmas (prime256v1) ir pasirenkamas 0 (parinkties default reikšmė). Pasirašyta dvejetainė išvestis file (DvejetainisFile_Signed.bin) sukuriamas aplanke /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/signed/FolFile.bin Šiuo atveju pasirenkamas BrainpoolP256t1 algoritmas. Net jei aplankas2 ir aplankas3 neegzistuoja, jie sukuriami. Su komanda –s, net jei a file egzistuoja tuo pačiu nurodytu pavadinimu, jis automatiškai pakeičiamas be jokio pranešimo.
Example 3
Pasirašykite dvejetainį file naudojant 2 antraštės versiją, kurioje yra aštuoni viešieji autentifikavimo eigos raktai.
./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem - privateKeyprwdkpem - publicKeyprwdkp. azerty -t fsbl -iv 07x00 -la 0x00000000 -ep 0x20000000 -of 0x08000000 -o /home/user/output.stm0
Example 4
Pasirašykite dvejetainį file naudojant 2 antraštės versiją, kurioje yra aštuoni viešieji autentifikavimo raktai ir šifravimo srautas.
./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem - privateKey07.pem publicKeyprv.pem 00x0 -pwd azerty -la 00000000x0 -ep 20000000x0 -t fsbl -of 08000000x0 -encdc 00000003x0f25205e -enck /home/user/OEM_SECRET/stm0/outme.biner32
Example 5
Patikrinkite gautą vaizdą analizuodami išvestį file ir patikrinkite kiekvieną antraštės lauką. ./STM32_SigningTool_CLI.exe -dump /home/user/output.stm32
Example 6
Pridėkite antraštę nepasirašę ir neįdiegę raktų. STM32_SigningTool_CLI.exe -input.bin -nk -of 0x0 -iv 1 -hv 2.2 -o output.stm32
Atskiras režimas
Vykdant STM32-SignTool autonominiu režimu, pirmiausia reikia įvesti absoliutų kelią. Tada du kartus prašoma slaptažodžio patvirtinti, kaip parodyta paveikslėlyje žemiau.
1 pav. STM32-SignTool autonominiame režime
Tolesni veiksmai yra tokie:
- Pasirinkite vieną iš dviejų algoritmų.
- Įveskite vaizdo versiją, vaizdo įvesties tašką ir vaizdo įkėlimo adresą.
- Įveskite parinkties vėliavėlės reikšmę.
Kitas išėjimas file Jei reikia, galima nurodyti kelią arba paspauskite enter, kad tęstumėte esamą.
PKCS#11 sprendimas
Pasirašyti dvejetainiai vaizdai naudojami saugioje STM32 įkrovos sekoje, kuri palaiko patikimą įkrovos grandinę.
Šis veiksmas užtikrina įkeltų vaizdų autentifikavimą ir vientisumo patikrinimą.
Klasikinė pasirašymo komanda reikalauja, kad visi viešieji ir privatieji raktai būtų pateikti kaip įvestis files. Tai yra
tiesiogiai prieinamas bet kuriam asmeniui, kuriam leidžiama vykdyti pasirašymo paslaugą. Galų gale, tai gali būti svarstoma
būti saugumo nutekėjimu. Yra keletas sprendimų, kaip apsaugoti raktus nuo bet kokių bandymų pavogti raktų duomenis. Šiame
kontekste, buvo priimtas PKCS#11 sprendimas.
PKCS#11 API gali būti naudojama kriptografiniams raktams tvarkyti ir saugoti. Ši sąsaja nurodo, kaip tai padaryti
bendrauti su kriptografiniais įrenginiais, tokiais kaip HSM (aparatinės įrangos saugos moduliai) ir intelektualiosiomis kortelėmis. The
Šių įrenginių paskirtis yra generuoti kriptografinius raktus ir pasirašyti informaciją neatskleidžiant privataus rakto
medžiaga išoriniam pasauliui.
Programinės įrangos programos gali iškviesti API, kad naudotų šiuos objektus:
• Generuoti simetrinius / asimetrinius raktus
• Šifravimas ir iššifravimas
• Skaitmeninio parašo skaičiavimas ir tikrinimas
PKCS #11 pateikia programoms bendrą, logišką view įrenginio, kuris vadinamas kriptografiniu prieigos raktu, ir jis
kiekvienam prieigos raktui priskiria lizdo ID. Programa identifikuoja prieigos raktą, kurį ji nori pasiekti, nurodydama
atitinkamo lizdo ID.
STM32SigningTool naudojamas tvarkyti pagrindinius objektus, saugomus intelektualiosiose kortelėse ir panašią PKCS#11 apsaugą.
žetonai, kuriuose jautrūs privatūs raktai niekada nepalieka įrenginio.
STM32SigningTool naudoja PKCS#11 sąsają manipuliuoti ir pasirašyti įvesties dvejetainius failus, pagrįstus ECDSA
viešieji / privatūs raktai. Šie raktai saugomi saugos žetonuose (aparatinėje arba programinėje įrangoje).
Papildomos PKCS#11 komandos
- – modulis (-m)
- Aprašymas: nurodykite PKCS#11 modulio / bibliotekos kelią, kurį reikia įkelti (dll, taigi)
- Sintaksė:-m
- • –rakto indeksas (-ki)
- -rakto indeksas (-ki)
- Aprašymas: naudojamų raktų indeksų sąrašas šešioliktainiu formatu
- Naudokite vieną rodyklę v1 antraštei ir aštuonis indeksus v2 antraštei (atskirti tarpais)
- Sintaksė: -ki
- Aprašymas: naudojamų raktų indeksų sąrašas šešioliktainiu formatu
- – lizdo indeksas (-si)
- Aprašymas: nurodykite naudojamo lizdo indeksą (numatytasis 0x0)
- Sintaksė: -si
- -slot-identifikatorius (-sid)
- Aprašymas: nurodykite naudojamo lizdo identifikatorių (neprivaloma, dešimtainiu arba šešioliktainiu formatu)
- Sintaksė:-sid
- Jei parinktis –slot-identifier naudojama kartu su –slot-index, įrankis patikrina, ar ši konfigūracija atitinka tą patį lizdą. Identifikatorius atspindi paminėtą indeksą; kitu atveju įvyksta klaida.
- Galima naudoti –slot-identifier nenurodant –slot-index. Įrankiai sistemingai ieško lizdų indekso.
- –active-keyIndex (-aki)
- Aprašymas: nurodykite faktinį aktyvaus rakto indeksą (numatytasis 0)
- Sintaksė: -aki < hexValue >
PKH/PKTH file kartos
Apdorojus pasirašymo operaciją, įrankis sistemingai generuoja PKH files naudoti po OTP saugiklio.
- PKH file pavadintas pkcsHashPublicKey0x{active_key_index}.bin 1 antraštei
- PKTH file pavadintas pkcsPublicKeysHashHashes.bin 2 antraštei
Examples
Įrankis gali pasirašyti įvestį files ir antraštei v1, ir antraštei v2, su minimaliu skirtumu komandinėje eilutėje.
- Antraštė v1
-bin įvestis.bin -iv -pwd -la -ep -t -iš –
-rakto indeksas -aki 0 -modulis – lizdo indeksas -o išvestis.stm32 - Antraštė v2
-bin įvestis.bin -iv -pwd -la -ep -t -iš – -rakto indeksas -aki – modulis – lizdo indeksas -o išvestis.stm0
Klaida komandinėje eilutėje arba įrankis nesugebėjimas identifikuoti pagrindinių atitinkančių objektų sukelia klaidos pranešimą. Tai rodo problemos šaltinį. SigningTool gali naudoti tik iš anksto sukonfigūruotus HSM ir nėra skirtas valdyti ar kurti naujus saugos objektus. Todėl norint sukurti tinkamą aplinką, būtina įdiegti nemokamą programinę įrangą. Tada galima sugeneruoti raktus ir gauti informaciją apie objektus.
Lizdų identifikatoriaus parinktis:
- -bin input.bin –tipas fsbl -hv 1 –raktas-indeksas 0x40 -aki 0 –modulis softhsm2.dll –slaptažodis prg-dev -ep 0x2ffe4000 -s -si 0 -sid 0x51a53ad8 -la 0x2ffc2500 -iv 0 -0 80000000st 32xXNUMX -XNUMX.
Klaida pvzampmažiau:
- Neteisingas lizdo indeksas
2 pav. HSM TOKEN_NOT_RECOGNIZED
Nežinomas rakto objektas, paminėtas komandoje –key-index
3 pav. HSM OBJECT_HANDLE_INVALID
Priemonė apdoroja objektus nuosekliai. Jei pirmą kartą bandant nepavyksta nustatyti atitinkančių raktų objektų, pasirašymo operacija sustabdo procesą. Tada rodomas klaidos pranešimas, nurodantis problemos šaltinį.
Revizijų istorija
2 lentelė. Dokumento taisymo istorija
Data | Versija | Pakeitimai |
14 m. vasario 2019 d | 1 | Pradinis išleidimas. |
26 m. lapkričio 2021 d |
2 |
Atnaujinta:
• 2.1 skyrius: komandos • 2.2 skirsnis: Pvzamples STM32-SignTool • Pridėtas 2.4 skyrius: PKCS#11 sprendimas |
27-birželio 2022 d | 3 | Atnaujintas 2.1 skyrius: komandos |
26-birželio 2024 d |
4 |
Visame dokumente pakeista:
• STM32MP1 serija pagal STM32MPx seriją • STM32MP1-SignTool, sukurta STM32MP-SignTool • STM32MP1-KeyGen pagal STM32MP-KeyGen Atnaujinta –viešojo rakto –pubk ir pridėta –header-version (-hv) ir –no-keys (-nk) 2.1 skyriuje: Komandos. Pridėta „Pvzample 6“ 2.2 skirsnyje: Pvzamples STM32-SignTool. |
14 m. lapkričio 2024 d |
5 |
Pridėta:
• STM32N6 serija taikomiems produktams Pakeista visame dokumente: • STM32MP by STM32 Atnaujinta: • 2.1 skyrius: komandos |
06 m. kovo 2025 d |
6 |
Atnaujinta:
• 2.4.1 skyrius: papildomos PKCS#11 komandos • 2.4.3 skirsnis: Pvzamples |
SVARBI PRANEŠIMAS – ATIDŽIAI SKAITYKITE
STMicroelectronics NV ir jos dukterinės įmonės („ST“) pasilieka teisę bet kuriuo metu be įspėjimo keisti, taisyti, patobulinti, modifikuoti ir tobulinti ST gaminius ir (arba) šį dokumentą. Prieš pateikdami užsakymą pirkėjai turėtų gauti naujausią atitinkamą informaciją apie ST gaminius. ST gaminiai parduodami pagal ST pardavimo sąlygas, galiojančias užsakymo patvirtinimo metu. Pirkėjai yra išimtinai atsakingi už ST gaminių pasirinkimą, pasirinkimą ir naudojimą, o ST neprisiima jokios atsakomybės už pagalbą taikant ar pirkėjų gaminių dizainą. ST nesuteikia jokios tiesioginės ar numanomos licencijos jokioms intelektinės nuosavybės teisėms. Perpardavus ST gaminius, kurių nuostatos skiriasi nuo čia pateiktos informacijos, panaikina bet kokią ST tokiam produktui suteiktą garantiją. ST ir ST logotipas yra ST prekių ženklai. Daugiau informacijos apie ST prekių ženklus rasite www.st.com/trademarks. Visi kiti produktų ar paslaugų pavadinimai yra atitinkamų savininkų nuosavybė. Šiame dokumente pateikta informacija pakeičia ir pakeičia informaciją, anksčiau pateiktą bet kokiose ankstesnėse šio dokumento versijose.
© 2025 STMicroelectronics – Visos teisės saugomos
DUK
- Kl.: Ką daryti, jei naudojant STM32-SignTool atsiranda klaidų?
- A: Patikrinkite komandų sintaksę, įsitikinkite, kad visi reikalingi parametrai pateikti teisingai, ir trikčių šalinimo patarimų ieškokite vartotojo vadove.
- Kl.: Ar galiu naudoti STM32-SignTool skirtingose operacinėse sistemose?
- A: STM32-SignTool sukurtas dirbti konkrečiose operacinėse sistemose. Daugiau informacijos apie suderinamumą rasite programinės įrangos specifikacijose.
Dokumentai / Ištekliai
![]() |
ST Microelectronics STM32 pasirašymo įrankio programinė įranga [pdf] Naudotojo vadovas STM32N6 serija, STM32MP1, STM32MP2 serija, STM32 pasirašymo įrankio programinė įranga, STM32, pasirašymo įrankio programinė įranga, įrankių programinė įranga, programinė įranga |