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.
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).
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.
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
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".
Sajnáljuk, hogy nem kapott választ.
Segítene a cikk jobbá tételében? Írja meg nekünk mire nem kapott választ.