Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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 /fdfájlemelő algoritmust és az /tdidőbélyeg-kivonatoló algoritmus beállítását az aláírás és az időbélyegzés során. Figyelmeztetés (kezdetben 0-s 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 SignTool későbbi verzióiban a figyelmeztetés hiba lesz. Az SHA256-ot az iparág az SHA1-nél biztonságosabbnak tartja.
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. |
/g
GUID |
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 /csp a /kc 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.
Megjegyzés: Figyelmeztetés jön létre, ha a /fd kapcsoló nincs megadva az aláírás során. Az alapértelmezett algoritmus sha1, de az SHA256 használata ajánlott. |
/fd
certHash |
A sztring certHash megadása alapértelmezés szerint az aláíró tanúsítványon használt algoritmusra érvényes.
Megjegyzés: Csak a Windows 10-készletben érhető el a 20236-os és újabb build. |
/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ó.
Megjegyzés: Figyelmeztetés jön létre, ha a /td kapcsoló nincs megadva az időbélyegezés során. Az alapértelmezett algoritmus az SHA1, de az SHA256 használata ajánlott. A /td kapcsolót a /tr kapcsoló után kell deklarálni, nem korábban. Ha a /td kapcsolót a /tr kapcsoló előtt deklarálják, a visszaadott időbélyeg az SHA1 algoritmusból származik a tervezett SHA256-algoritmus helyett. |
/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ó.
Megjegyzés: Figyelmeztetés jön létre, ha a /td kapcsoló nincs megadva az időbélyegezés során. Az alapértelmezett algoritmus az SHA1, de az SHA256 használata ajánlott. A /td kapcsolót a /tr kapcsoló után kell deklarálni, nem korábban. Ha a /td kapcsolót a /tr kapcsoló előtt deklarálják, a visszaadott időbélyeg az SHA1 algoritmusból származik a tervezett SHA256-algoritmus helyett. |
/tp
Index |
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. |
/ag
CatDBGUID |
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. |
/c
CatFile |
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. |
/o
Verzió |
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. |
/pg
PolicyGUID |
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. |
/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 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