Menu
Alkalmazások aláírása Windows alatt (SDK)
Nézzük meg együtt egy alkalmazás aláírását Windowson a Windows SDK (signtool) és a Code Signing tanúsítvány segítségével. A súgónk feltételezi, hogy a PFX-ben van egy előkészített kódaláíró tanúsítvány és a Windows SDK fejlesztői környezet telepítve van a Windows operációs rendszerre. Töltse le az SDK-t a Microsoft webhelyéről a Windows megfelelő verziójához, például Windows Software Development Kit (SDK) for Windows 10.
A kódaláíró tanúsítványok (OV és EV) többé nem állíthatók ki a tokenen tárolt tanúsítványokon kívül. Code Signing tanúsítványt már nem lehet PFX fájlként beszerezni!
Signtool használata
A Signtool.exe egy olyan program, amely a PFX-et használó alkalmazásokat kódaláíró tanúsítvánnyal írja alá. A Windows SDK telepítése után használja a parancssoron keresztül. Az alkalmazások aláírásához ismernie kell az alapvető paramétereket, hogy a megfelelő tanúsítvánnyal és beállításokkal utasítsa az alkalmazás aláírását.
Az aláírás valójában a parancssoron keresztül történik, és a tanúsítványt csak egy fájlban kell tárolni a számítógépen (nem telepítik sehova).
Az aláírás alapvető paraméterei (parancsok) a következők:
signtool parancs /paraméter
Az Sign parancscsal aláírhatja, az Verify segítségével pedig ellenőrizheti a fájl aláírását. A Timestamp egy parancs az időbélyegző beillesztésére, de ezt közvetlenül a fájl aláírásakor is megadhatja.
Hasznos paraméterek:
- /f SignCertFile - ha egy PFX fájlt használ az aláíráshoz, ez a parancs annak helyére mutat. Már nem lehetséges kódaláíró tanúsítványt beszerezni a PFX formátumban..
- /s StoreName - ha tanúsítványtárolót használ, adja meg, hogy melyiket használja. Az alapértelmezett a My.
- /t URL - hozzáad egy időbélyeget és egy hivatkozást rá. Az időbélyegző szerverek URL-címeit az alábbiakban találja.
- /td - algoritmus ujjlenyomat (digest) az időbélyegzőben. Legalább sha256 vagy magasabb értéket válasszon.
- /fd - algoritmus ujjlenyomat (digest). Legalább sha256 vagy magasabb értéket válasszon.
A teljes dokumentáció megtalálható a Microsoft webhelyén vagy a „signtool sign /?“ beírásával.
A teljes fájlaláírási parancs így nézhet ki például:
SignTool sign /n "My Company Certificate" /td sha256 /fd sha256 /t http://timestamp.digicert.com C:test.exe
Mindig használjon időbélyeget vagy bélyegzőt. Biztosítja, hogy az aláírt alkalmazás megbízható legyen az aláíráshoz használt tanúsítvány lejárta után is. Ez azért nagyon fontos, mert így nem kell újra aláírnia a régebbi alkalmazásokat (általában a kódaláírási tanúsítvány lejárta után két évvel), amelyek megbízhatatlanná válhatnának. Ha az aláíráskor időbélyeget használ, és a tanúsítvány érvényes, akkor az alkalmazás a jövőben is érvényes lesz.
Egyre több időbélyegzőt biztosító szerver létezik; a DigiCert időbélyegző szerverét javasoljuk: http://timestamp.digicert.com/
Ez a szerver nem rendelkezik webes kapcsolattal a 80-as porton, így felesleges böngészővel meglátogatni (nem fog látni semmit).
Átmenet a kódaláírásról (PFX) a tokenos aláírásra: Az aláíráskor semmit sem kell megváltoztatnia. Ha korábban az említett PFX fájllal írta alá, úgy kezdje el használni a tanúsítványtároló hivatkozást (/s My). A Safenet segédalkalmazás mindenről gondoskodik.
Tanúsítványtároló
A tanúsítvány több helyen (több tárolóhelyen) tárolható, és többféleképpen „hívható”. Régebben lehetőség volt a tanúsítványt PFX fájlként elmenteni, de ez már nem lehetséges. Egy PFX fájlt bárki ellophat, és bár a PFX jelszóval védett, ez nagy biztonsági kockázatot jelent (és a jelszavak gyakran nagyon gyengék). A PFX különösen hasznos az S/MIME tanúsítványok biztonsági mentéséhez vagy a weben.
A Code Signing kódaláíró tanúsítvány tárolásának szokásos módja a tokenen való tárolás, majd a tanúsítványban szereplő subjectre hivatkozás. Ez a módszer biztonságos és gyakorlatilag megegyezik a korábbi PFX aláírással. A tokenről nem exportálható, mivel privát kulcs nélkül a tanúsítvány használhatatlan, így nem lehet vele visszaélni; ha a jelszót ötször rosszul írják be, a token zárolásra kerül.
A tanúsítvány ajánlott és modern tárolási módja a felhő. Javasoljuk, hogy hagyja el a tokent, és használjon felhőalapú HSM-et, amely biztonságosabb, az aláírási folyamat pedig nem változik. Lásd a Code Signing Centrum cikket.
Az tároló használatával történő aláíráshoz ezután a következő paraméterre van szükség /n SubjectName:
signtool sign /n "My Company Certificate" /td sha256 /fd sha256 /t http://timestamp.digicert.com C:test.exe
Vagy kiválaszthatja az alapértelmezett A My storage (Saját tároló) lehetőséget, és az aláíró SW automatikusan megtalálja a tanúsítványt:
signtool sign /s My /td sha256 /fd sha256 /t http://timestamp.digicert.com C:test.exe
Code Signing automatizálása felhőalapú HSM segítségével
A kódaláírás automatizálása nagyon keresett, a tokenen lévő tanúsítvánnyal azonban nem lehet automatikusan aláírni; szerveren sem használható. Szerencsére ismerünk olyan szolgáltatásokat, amelyek alkalmasak az aláírás automatizálására. A DigiCert kínálja a KeyLocker szolgáltatást, illetve a Software Trust Manager szolgáltatást. Az aláírási kulcsok tárolhatók felhőalapú HSM-ben is az Azure vagy a Google Cloud rendszerében.
A kódaláírás automatizálási lehetőségeivel kapcsolatos további információkért olvassa el a Code Signing Centrum cikket.
Aláírás ellenőrzés
Most már tudja, hogyan kell aláírni, és megadta az alkalmazásának az első megbízható aláírást. Biztosan kíváncsi, hogyan ellenőrizheted az aláírást.
A signtool segítségével ellenőrizheti is:
signtool verify C:test.exe
Az ellenőrzés egyszerűbb módja a fájl tulajdonságainak megtekintése a Windows Intézőben. Az aláírás részleteit a használt tanúsítvány tényleges részleteiig „górcső alá veheti”.
Kérdése van?
Ne habozzon kapcsolatba lépni ügyfélszolgálatunkkal, amely tanácsot ad és segít Önnek.
ZONER Kft.
Práter utca 9. 3. em. 305.
9024 Győr
Adószám: 13576712-2-08
Közösségi adószám: HU13576712
Hasznos volt Önnek ez a cikk?
Köszönjük a visszajelzését a cikkel kapcsolatban.
Sajnáljuk, hogy nem kapott választ.
Segítene a cikk jobbá tételében? Írja meg nekünk mire nem kapott választ.