Megosztás a következőn keresztül:


SignTool.exe (aláírási eszköz)

A Sign Tool egy parancssori eszköz, amely digitálisan aláírja a fájlokat, ellenőrzi a fájlokban lévő aláírásokat és az időbélyegeket.

Ez az eszköz automatikusan telepítve van a Visual Studióval. Az eszköz futtatásához használja a Visual Studio fejlesztői parancssorát vagy a Visual Studio Developer PowerShellt.

Feljegyzés

A Windows 10 SDK, a Windows 10 HLK, a Windows 10 WDK és a Windows 10 ADK build 20236-os és újabb verziói megkövetelik a kivonatoló algoritmus megadását. A SignTool sign parancshoz meg kell adni a /fd fájlemelő algoritmust és az /td időbélyeg-kivonatoló algoritmus beállítását az aláírás és az időbélyegzés során. Hiba (1- es hibakód) jelenik meg, ha /fd nincs megadva az aláírás során, és ha /td nincs megadva az időbélyegzés során.

A parancssorba írja be a következőt:

Syntax

signtool [command] [options] [file_name | ...]  

Paraméterek

Argumentum Leírás
command A fájlon végrehajtandó műveletet meghatározó négy parancs (catdbvagy signTimestampparancs) Verifyegyike. Az egyes parancsok leírását a következő táblázat tartalmazza.
options Egy parancsot módosító lehetőség. A globális /q és /v a beállítások mellett minden parancs egyedi beállításkészletet is támogat.
file_name Az aláírandó fájl elérési útja.

A Sign Tool az alábbi parancsokat támogatja. Az egyes parancsok különböző beállításkészletekkel használhatók, amelyek a megfelelő szakaszokban vannak felsorolva.

Parancs Leírás
catdb Katalógusfájlt ad hozzá egy katalógusadatbázishoz, vagy eltávolítja onnan. A katalógusadatbázisok a katalógusfájlok automatikus keresésére szolgálnak, és a GUID azonosítja azokat. A parancs által támogatott beállítások listáját a catdb catdb parancsbeállítások című témakörben találja.
sign Fájlok digitális aláírása. A digitális aláírások védik a fájlokat a illetéktelen illetéktelen hozzáféréstől, és lehetővé teszik a felhasználók számára, hogy aláíró tanúsítvány alapján ellenőrizzék az aláírót. A parancs által támogatott beállítások listáját a sign Parancsbeállítások aláírása című témakörben találja.
Timestamp Időbélyegek fájlok. A parancs által támogatott beállítások listáját a TimeStamp TimeStamp parancsbeállítások című témakörben találja.
Verify Ellenőrzi a fájlok digitális aláírását annak meghatározásával, hogy az aláíró tanúsítványt megbízható hatóság adta-e ki, visszavonták-e az aláíró tanúsítványt, és opcionálisan azt is, hogy az aláíró tanúsítvány érvényes-e egy adott szabályzatra. A parancs által támogatott beállítások listáját a Verify Parancsbeállítások ellenőrzése című témakörben találja.

Az alábbi beállítások az összes jeleszköz-parancsra vonatkoznak.

Globális beállítás Leírás
/q Nem jelenít meg kimenetet, ha a parancs sikeresen fut, és minimális kimenetet jelenít meg, ha a parancs sikertelen.
/v Részletes kimenetet jelenít meg, függetlenül attól, hogy a parancs sikeresen fut vagy sikertelen, és figyelmeztető üzeneteket jelenít meg.
/Debug Hibakeresési információkat jelenít meg.

catdb parancsbeállítások

Az alábbi táblázat a parancshoz használható beállításokat sorolja fel catdb .

Catdb lehetőség Leírás
/d Az alapértelmezett katalógusadatbázis frissítését adja meg. Ha sem a lehetőséget, sem a /d /g beállítást nem használja, a Sign Tool frissíti a rendszerösszetevőt és az illesztőprogram-adatbázist.
/gGUID Megadja, hogy a globálisan egyedi azonosító GUID-azonosítója által azonosított katalógusadatbázis frissül.
/r Eltávolítja a megadott katalógusokat a katalógusadatbázisból. Ha ez a beállítás nincs megadva, a Sign Tool hozzáadja a megadott katalógusokat a katalógusadatbázishoz.
/u Megadja, hogy a rendszer automatikusan létrehoz egy egyedi nevet a hozzáadott katalógusfájlokhoz. Szükség esetén a rendszer átnevezi a katalógusfájlokat, hogy megakadályozza a névütközéseket a meglévő katalógusfájlokkal. Ha ez a beállítás nincs megadva, a Sign Tool felülír minden olyan meglévő katalógust, amelynek a neve megegyezik a hozzáadott katalógus nevével.

parancsbeállítások aláírása

Az alábbi táblázat a parancshoz használható beállításokat sorolja fel sign .

Sign command option Leírás
/a Automatikusan kiválasztja a legjobb aláíró tanúsítványt. A Sign Tool megkeresi az összes érvényes tanúsítványt, amely megfelel az összes megadott feltételnek, és a leghosszabb ideig érvényes tanúsítványt választja ki. Ha ez a beállítás nem jelenik meg, a Sign Tool várhatóan csak egy érvényes aláíró tanúsítványt talál.
/ac fájl Hozzáad egy további tanúsítványt a fájlból az aláírási blokkhoz.
/as Hozzáfűzi ezt az aláírást. Ha nincs elsődleges aláírás, akkor ez az aláírás lesz az elsődleges aláírás.
/c CertTemplateName Megadja az aláíró tanúsítvány tanúsítványsablonjának nevét (egy Microsoft-bővítményt).
/csp CSPName Megadja a titkos kulcs tárolóját tartalmazó titkosítási szolgáltatót (CSP).
/d Desc Megadja az aláírt tartalom leírását.
/du URL-cím Az aláírt tartalom kibontott leírásához egy egységes erőforrás-keresőt (URL-címet) ad meg.
/f SignCertFile Megadja az aláíró tanúsítványt egy fájlban. Ha a fájl személyes adatcsere (PFX) formátumban van, és jelszóval van védve, a jelszó megadásához használja a /p lehetőséget. Ha a fájl nem tartalmaz titkos kulcsokat, használja az és /kc a /csp beállításokat a CSP és a titkos kulcs tárolójának nevének megadásához.
/fd Megadja a fájlaadékok létrehozásához használandó fájlemésztő algoritmust.
Jegyzet: Hiba jön létre, ha a /fd kapcsoló nincs megadva az aláírás során.
/fd certHash A sztring certHash megadása alapértelmezés szerint az aláíró tanúsítványon használt algoritmusra érvényes.
Jegyzet: Hiba jön létre, ha a /fd kapcsoló nincs megadva az aláírás során.
/i Kiállító neve Az aláíró tanúsítvány kiállítójának nevét adja meg. Ez az érték a teljes kiállító nevének alsztringje lehet.
/kc PrivKeyContainerName Megadja a titkos kulcs tárolójának nevét.
/n SubjectName Megadja az aláíró tanúsítvány tulajdonosának nevét. Ez az érték a teljes tulajdonosnév alsztringje lehet.
/nph Ha támogatott, letiltja a végrehajtható fájlok lapkivonatait. Az alapértelmezett értéket a SIGNTOOL_PAGE_HASHES környezeti változó és a wintrust.dll verzió határozza meg. Ez a beállítás figyelmen kívül lesz hagyva a nem PE-fájlok esetében.
/p Jelszó Megadja a PFX-fájlok megnyitásakor használni kívánt jelszót. (PfX-fájl megadása a beállítással /f .)
/p7Ösvény Azt határozza meg, hogy minden megadott tartalomfájlhoz egy nyilvános kulcsú titkosítási szabvány (PKCS) #7 fájl legyen létrehozva. A PKCS #7 fájlok neve elérési út\filename.p7.
/p7ceÉrték Megadja az aláírt PKCS #7 tartalom beállításait. Állítsa az Érték értékét "Embedded" értékre az aláírt tartalom beágyazásához a PKCS #7 fájlba, vagy a "DetachedSignedData" értékre egy leválasztott PKCS #7 fájl aláírt adatrészének létrehozásához. Ha a /p7ce beállítás nincs használatban, az aláírt tartalom alapértelmezés szerint beágyazva lesz.
/p7co<OID> Megadja az aláírt PKCS #7 tartalmat azonosító objektumazonosítót (OID).
/ph Ha támogatott, lapkivonatokat hoz létre végrehajtható fájlokhoz.
/r RootSubjectName Megadja annak a főtanúsítványnak a nevét, amelyhez az aláíró tanúsítványnak láncot kell fűznie. Ez az érték lehet a főtanúsítvány teljes tulajdonosnevének részszúrása.
/s StoreName Megadja a tanúsítvány keresésekor megnyitni kívánt tárolót. Ha ez a beállítás nincs megadva, az My áruház megnyílik.
/sha1 Fasíroz Az aláíró tanúsítvány SHA1 kivonatát adja meg. Az SHA1 kivonat általában akkor van megadva, ha több tanúsítvány megfelel a többi kapcsoló által megadott feltételeknek.
/sm Megadja, hogy a rendszer a felhasználói tároló helyett egy géptárolót használjon.
/t URL-cím Az időbélyeg-kiszolgáló URL-címét adja meg. Ha ez a beállítás (vagy /tr) nincs megadva, az aláírt fájl nem lesz időbélyegzve. Figyelmeztetés jön létre, ha az időbélyegzés sikertelen. Ez a beállítás nem használható a /tr beállítással.
/td Alg /tr Az RFC 3161 időbélyeg-kiszolgáló által használt kivonatoló algoritmus kérésére használható.
Jegyzet: Hiba jön létre, ha /td nincs megadva az időbélyeg-meghatározás során.
/tr URL-cím Az RFC 3161 időbélyeg-kiszolgáló URL-címét adja meg. Ha ez a beállítás (vagy /t) nincs megadva, az aláírt fájl nem lesz időbélyegzve. Figyelmeztetés jön létre, ha az időbélyegzés sikertelen. Ez a beállítás nem használható a /t beállítással.
/u Használat Megadja az aláíró tanúsítványban található kibővített kulcshasználatot (EKU). A használati érték OID vagy sztring alapján adható meg. Az alapértelmezett használat a "Kódaláírás" (1.3.6.1.5.5.7.3.3.3).
/uw A "Windows rendszerösszetevő-ellenőrzés" használatát adja meg (1.3.6.1.4.1.311.10.3.6).

Használati példákért lásd : A SignTool használata fájl aláírásához.

TimeStamp parancsbeállítások

Az alábbi táblázat a parancshoz használható beállításokat sorolja fel TimeStamp .

TimeStamp beállítás Leírás
/p7 Időbélyegek PKCS #7 fájlok.
/t URL-cím Az időbélyeg-kiszolgáló URL-címét adja meg. A lepecsételt fájlnak korábban alá kell írnia. Vagy a /t /tr beállításra van szükség.
/td Alg /tr Az RFC 3161 időbélyeg-kiszolgáló által használt kivonatoló algoritmus kérésére használható.
Jegyzet: Hiba jön létre, ha /td nincs megadva az időbélyeg-meghatározás során.
/tpindex Az idő lepecsételi az aláírást az indexben.
/tr URL-cím Az RFC 3161 időbélyeg-kiszolgáló URL-címét adja meg. A lepecsételt fájlnak korábban alá kell írnia. Vagy a /tr /t beállításra van szükség.

Használati példa : Időbélyegek hozzáadása korábban aláírt fájlokhoz.

Parancsbeállítások ellenőrzése

Ellenőrzési lehetőség Leírás
/a Megadja, hogy minden metódus használható a fájl ellenőrzéséhez. Először a katalógus-adatbázisok keresésével állapítja meg, hogy a fájl bejelentkezett-e egy katalógusba. Ha a fájl nincs bejelentkezve egyik katalógusban sem, a Sign Tool megpróbálja ellenőrizni a fájl beágyazott aláírását. Ez a beállítás ajánlott olyan fájlok ellenőrzésekor, amelyek esetleg nincsenek bejelentkezve egy katalógusban. Ilyen fájlok például a Windows-fájlok vagy -illesztőprogramok.
/ad Megkeresi a katalógust az alapértelmezett katalógusadatbázis használatával.
/agCatDBGUID Megkeresi a CatDBGUID által azonosított katalógus-adatbázis katalógusát.
/all Ellenőrzi a több aláírást tartalmazó fájl összes aláírását.
/as Megkeresi a katalógust a rendszerösszetevő (illesztőprogram) katalógusadatbázisával.
/cCatFile A katalógusfájlt név szerint adja meg.
/d Megadja, hogy a Sign Toolnak ki kell nyomtatnia a leírást és a leírás URL-címét.
/ds Index Ellenőrzi az aláírást egy megadott helyen.
/hash (SHA1|SHA256) Egy választható kivonatoló algoritmust ad meg, amelyet a katalógusban lévő fájlok keresésekor használhat.
/kp Megadja, hogy az ellenőrzést a kernel módú illesztőprogram-aláírási szabályzattal kell elvégezni.
/ms Több ellenőrzési szemantikát használ. Ez a WinVerifyTrust-hívások alapértelmezett viselkedése Windows 8 és újabb rendszereken.
/oVerzió Ellenőrzi a fájlt az operációs rendszer verziója alapján. A verzió a következő űrlapot tartalmazza: PlatformID:VerMajor.VerMinor.BuildNumber. A PlatformID az enumerálási PlatformID tag mögöttes értékét jelöli. Fontos: A kapcsoló használata /o ajánlott. Ha /o nincs megadva, SignTool.exe váratlan eredményeket adhat vissza. Ha például nem tartalmazza a kapcsolót, előfordulhat, hogy egy /o régebbi operációs rendszeren helyesen érvényesítő rendszerkatalógusok nem érvényesítik helyesen egy újabb operációs rendszeren.
/p7 PKCS #7 fájlokat ellenőriz. A PKCS #7 ellenőrzéshez nem használ meglévő szabályzatokat. A rendszer ellenőrzi az aláírást, és létrehoz egy láncot az aláíró tanúsítványhoz.
/pa Megadja, hogy az alapértelmezett authenticode ellenőrzési szabályzatot kell használni. Ha a /pa beállítás nincs megadva, a Sign Tool a Windows illesztőprogram-ellenőrzési szabályzatát használja. Ez a beállítás nem használható a catdb beállításokkal.
/pgPolicyGUID A GUID-alapú ellenőrzési szabályzatot adja meg. A PolicyGUID az ellenőrzési szabályzat ActionID azonosítójának felel meg. Ez a beállítás nem használható a catdb beállításokkal.
/ph Megadja, hogy a Sign Toolnak ki kell nyomtatnia és ellenőriznie kell a lapkivonat értékeit.
/rRootSubjectName Megadja annak a főtanúsítványnak a nevét, amelyhez az aláíró tanúsítványnak láncot kell fűznie. Ez az érték a főtanúsítvány teljes tulajdonosi nevének részszúrása lehet.
/tw Megadja, hogy figyelmeztetést kell létrehozni, ha az aláírás nincs időbélyegzve.

Használati példákért lásd: A SignTool használata a fájlalás ellenőrzéséhez.

Visszatérési érték

A Sign Tool a következő kilépési kódok egyikét adja vissza, amikor leáll.

Kilépési kód Leírás
0 A végrehajtás sikeres volt.
0 A végrehajtás sikertelen volt.
2 A végrehajtás figyelmeztetésekkel fejeződött be.

Példák

Az alábbi parancs hozzáadja a katalógusfájl MyCatalogFileName.cat a rendszerösszetevőhöz és az illesztőprogram-adatbázishoz. A /u beállítás egyedi nevet hoz létre, ha szükséges, hogy ne cserélje le a meglévő katalógusfájlt.MyCatalogFileName.cat

signtool catdb /v /u MyCatalogFileName.cat  

Az alábbi parancs automatikusan aláír egy fájlt a legjobb tanúsítvány használatával.

signtool sign /a /fd SHA256 MyFile.exe

Az alábbi parancs digitálisan aláír egy fájlt egy jelszóval védett PFX-fájlban tárolt tanúsítvánnyal.

signtool sign /f MyCert.pfx /p MyPassword /fd SHA256 MyFile.exe

Az alábbi parancs digitálisan aláírja és időbélyegzi a fájlokat. A fájl aláírásához használt tanúsítvány egy PFX-fájlban van tárolva.

signtool sign /f MyCert.pfx /t http://timestamp.digicert.com /fd SHA256 MyFile.exe

Az alábbi parancs aláír egy fájlt egy tárolóban My található tanúsítvány használatával, amelynek tulajdonosi My Company Certificateneve van.

signtool sign /n "My Company Certificate" /fd SHA256 MyFile.exe

Az alábbi parancs aláír egy ActiveX-vezérlőt, és a böngészőben megjelenő információkat nyújt, amikor a felhasználó a vezérlő telepítésére kéri.

Signtool sign /f MyCert.pfx /d: "MyControl" /du http://www.example.com/MyControl/info.html /fd SHA256 MyControl.exe

Az alábbi parancs időbélyeggel bélyegzi a már digitálisan aláírt fájlt.

signtool timestamp /t http://timestamp.digicert.com MyFile.exe

Az alábbi parancs egy RFC 3161-alapú időbélyegző kiszolgálóval bélyegz meg egy fájlt.

signtool timestamp /tr http://timestamp.digicert.com /td SHA256 MyFile.exe

Az alábbi parancs ellenőrzi, hogy egy fájl aláírása megtörtént-e.

signtool verify MyFile.exe  

Az alábbi parancs ellenőrzi a katalógusban esetleg aláírt rendszerfájlt.

signtool verify /a SystemFile.dll  

Az alábbi parancs ellenőrzi a rendszerfájlt, amely egy nevű katalógusban van bejelentkezve MyCatalog.cat.

signtool verify /c MyCatalog.cat SystemFile.dll  

Lásd még