Menu
Hibakeresési útmutató a KeyLockerhez
A KeyLocker egy erőteljes kódaláíró eszköz, amely lehetővé teszi a Kód aláírási tanúsítványának tárolását a felhőben és annak hash-ének biztonságos távoli aláírását. Az első beállításnak azonban vannak bizonyos buktatói, amelyekben ez a cikk segít.
Változók ellenőrzése
A KeyLocker működéséhez az ön rendszerén elengedhetetlen a változók helyes beállítása. Ezek nemcsak az aláíró eszközök útvonalát határozzák meg, hanem a hitelesítési adatokat is hordozzák. Ezeket beállíthatja egyetlen munkamenetre vagy tartósan.
Változókat különböző módokon állíthatja be a rendszerben. Az önálló fájl és változók mellett elmenthetők a Windows Credential Managerbe is. Ha grafikus felületen szeretne aláírni, beállíthatja azokat a Click-to-sign segédprogramban, amelyet a KeyLocker fiókjában talál (a változók azonban nem fognak működni rendszer szinten).
Egy változó beállítása Windowsban egyszerű a parancssorból. Futtassa a cmd parancsot, és írja be: setx VÁLTOZÓ=érték. Vigyázat - a setx felhasználói változókkal működik, nem rendszerváltozókkal.
A KeyLocker megfelelő működéséhez szükséges az ügyfélhitelesítési változók és a DigiCert aláíró eszközök és könyvtárak helyének beállítása.
Hitelesítés beállítása
- SM_CLIENT_CERT_FILE - az azonosító tanúsítvány elérési útja p12 kiterjesztéssel, amelyet a DigiCert ONE útmutatójából töltött le
- SM_HOST - a DigiCert ONE host címe, ez https://clientauth.one.digicert.com
Ezt a két változót nem titok, mert a tanúsítványt jelszó védi. Nyugodtan beállíthatja őket a rendszerbe. A következő két változó viszont már titkos, és ajánlott, hogy ne állítsa be a rendszer szintjén, ha több felhasználó fér hozzá. Inkább mentse őket a Windows jelszókezelőbe. További információkat a Windows változók beállításáról a Credential setup for Windows cikkben találhat.
- SM_API_KEY - API kulcs, amelyet a DigiCert ONE felületén generált
- SM_CLIENT_CERT_PASSWORD - jelszó az azonosító tanúsítványhoz P12-ben, amelyet egyszeri megjelenik a DC1 útmutatóban
Aláíró eszközök útvonalának beállítása
A PATH változó értékének hozzáadása a setx PATH "elérési út;%PATH%" paranccsal történik. Ez a parancs hozzáad egy új értéket a már meglévő felhasználói PATH változókhoz, és véglegesen menti azt. A KeyLocker helyes működéséhez legalább két dolog beállítása szükséges:
- Windows SDK és a signtool útvonal
- A DigiCert Keylocker Tools útvonal
Keresse meg a telepített Windows SDK megfelelő útvonalát (az útvonal verziószámot használ, amelyet telepített). Ezután szüksége lesz a DigiCert Keylocker Tools-ra, amelyet letöltött és telepített a DigiCert ONE-ból, C:\Program Files\DigiCert\DigiCert Keylocker Tools alatt találja.
A változók mindkettőjét egyszerre adjuk hozzá CMD-n keresztül, különben az egyik felülírja a másikat:
setx PATH "C:\Program Files\DigiCert\DigiCert Keylocker Tools\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\;%PATH%"
A rendszer változókat beállíthatjuk Windows GUI-n keresztül is; CMD-n keresztül gyorsabb, de értékek többszöri megadása esetén felülíródnak. Lehetőség van PowerShell használatára is.
Hogyan módosítsuk a PATH változót manuálisan Windows alatt
Ha biztosra akar menni, hogy értékek megmaradnak, módosíthatja a PATH-ot manuálisan:
- Nyissa meg a Vezérlőpult → Rendszer → Rendszerbeállítások.
- Kattintson a Környezet változók lehetőségre.
- Keresd a PATH-ot (Rendszer változók vagy Felhasználói változók).
- Kattintson a Szerkesztés-re, adja hozzá az egyes útvonalakat, és mentse el.
Hogyan adjunk hozzá PATH változót PowerShell segítségével
Ha tartósan szeretné hozzáadni az útvonalat a PATH változóhoz PowerShell segítségével, kövesse az alábbi lépéseket:
- Nyissa meg a PowerShellt rendszergazdaként (kattintson a jobb gombbal a Start menüre → Windows PowerShell (Admin)).
- Először olvassa ki az aktuális "PATH" változó értékét:
[System.Environment]::GetEnvironmentVariable("Path", "User") - Ezután adjon hozzá egy új útvonalat a meglévő értékekhez:
$path = [System.Environment]::GetEnvironmentVariable("Path", "User") $newPath = $path + ";C:\Program Files\DigiCert\DigiCert Keylocker Tools\" [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User") - Ha további útvonalat szeretne hozzáadni, ismételje meg a folyamatot:
$newPath = $newPath + ";C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\" [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User") - A parancsok végrehajtása után indítsa újra a parancssort vagy a számítógépet, hogy a változások érvényesüljenek.
Megjegyzés: Ha a rendszer "PATH" változót szeretné módosítani (ami minden felhasználóra érvényes), cserélje le a "User"-t "Machine"-ra a parancsban.
Figyelem: A CMD-n keresztüli változók beállítása után indítsa újra a parancssort, különben a változások nem érvényesülnek!
Változó értékének ellenőrzése cmd-ben: echo %VÁLTOZÓ% Például "echo %PATH%". Ezután a cmd kiírja annak értékét.
Beállítások ellenőrzése
A KeyLocker eszközök tartalmazzák a smctl segédprogramot, amellyel aláírhatunk, de az alapvető diagnosztikához is használható. A következő parancs ellenőrzi, hogy minden megfelelően van-e beállítva az állomáson, és az smctl csatlakozni tud-e a DigiCert felhőjéhez:
smctl healthcheck
Az ellenőrzés során megjelenik az megerősítés, hogy csatlakozott-e a KeyLockerhez (működik-e a hitelesítés), és hogy az smctl érzékeli-e az aláíró eszközök, például a signtool jelenlétét. Példa:
smctl healthcheck
--------- Account Settings ---------
Teams: Disabled
Threat detection: Enabled
Static Binary Analysis: Enabled
Software Composition Analysis: Disabled
--------- User credentials ---------
Status: Connected
Username: XXXX-keylocker
Accounts: XXXX-1699076
Authentication: 2FA
Environment: Prod
Credentials:
Host: https://clientauth.one.digicert.com
API key: 010897bf735bbc57d48270cd3d_50dxxxxx...e4 (Pulled from environment variable)
Client certificate file path: C:\Users\xy\Documents\keylocker\Certificate_pkcs12.p12
Client certificate password: ytf_xxxxxx0F (Pulled from environment variable)
API keys:
Name: xy (expires on Mon, 31 Dec 2029 23:59:59 UTC)
Client certificates:
Name: xy (expires on Mon, 31 Dec 2029 23:59:59 UTC)
Privileges:
Can sign: Yes
Can approve offline release: No
Can revoke certificate: Yes
Can scan: No
--------- Signing tools ---------
Signtool 32 bit:
Mapped: No
Signtool:
Mapped: Yes
Path: C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe
Mage:
Mapped: No
Nuget:
Mapped: No
Jarsigner:
Mapped: No
Apksigner:
Mapped: No
Ha probléma van a hitelesítéssel, ellenőrizze, hogy a KeyLocker útmutatója alapján kapott helyes értékeket állította-e be a DigiCert ONE felületén. Ha kétségei vannak, akkor az útmutatót visszaállíthatja és új hitelesítő adatokat hozhat létre.
Lehet, hogy előfordul, hogy az smctl nem érzékeli a signtool vagy további aláíró eszközök jelenlétét. Ez azt jelenti, hogy meg kell adni a helyüket a PATH felhasználói vagy rendszerváltozókban. Lásd fent a változók részlegnél.
MMC és tanúsítvány jelenlétének ellenőrzése
Ha Windows rendszert használ, nézzen be a tanúsítványkezelőbe, amelyet a certmgr.msc parancs futtatásával indíthat el. Ha a KeyLockerrel való szinkronizáció sikeres, látja a tanúsítványt privát kulcs jelzéssel a tanúsítványtárban. Ez azonban nem jelenti azt, hogy az valóban privát kulccsal rendelkezik - a privát kulcsú tanúsítvány továbbra is a felhőben van tárolva.
Ha a tanúsítvány nincs ott, indítson el egy szinkronizációt.
smctl windows certsync
Sikeres szinkronizálás esetén megerősítést kap:
Tanúsítvány szinkronizálása álnévhez: key_1236506290, ID: ac793b6d-cac4-4be4-b145-003d4d1d63db és SHA1 Fingerprint: 54d0c7a2d93ae4d5fccb41d97c51a8ab3581c72c
Aláírási problémák
Ha aláírási problémái vannak, próbáljon a legegyszerűbbtől a bonyolultabb felé haladni. A legegyszerűbb az aláírás a DigiCert smctl segédprogramjával, amely használható aláíró eszközök, például a signtool vagy a jarsigner fölött is. Ez a legkevesebb konfliktussal járó módszer, és nem igényel paramétereket. A problémamegoldás során ne használjon időbélyeget vagy más lehetőségeket.
Az smctl segítségével történő aláírás egyszerűen elvégezhető:
smctl sign --keypair-alias=key_1234567890 --input C:\Users\John.Doe\Desktop\file_to_sign.exe
A tanúsítványra való hivatkozás a "keypair-alias" vagy a "fingerprint" paraméterrel történhet, a tanúsítványról szóló információkat például a smctl windows certsync parancs segítségével találhatja meg.
Aláírás után ellenőrizheti az aláírást:
smctl sign verify --input <path to signed file or folder>
Az aláírásra vonatkozó útmutatást a Sign binaries with SMCTL cikkben találhatja.
Sikeres aláírás után smctl segítségével más eszközzel is aláírhat, például a signtool-lal. Ennek is működnie kellene. Hagyja a tanúsítványokat automatikusan megválasztani, majd fokozatosan adjon hozzá további paramétereket.
Amint a kívánt módon sikeresen működik, próbálkozhat például Visual Studio vagy más fejlesztői környezet használatával is aláírni.
Hol találhatók a naplók
Ha a fentiek egyike sem működik, és az aláírás nem működik, javaslom, hogy tekintse át az smctl és a DigiCert további eszközeinek naplóit. Ha a támogatásunkkal történő probléma megoldása során naplókkal rendelkezik, az biztosan gyorsítja a probléma megoldását.
Az smctl segédprogram naplóját megtalálja a smctl.log fájlban, amely a / és a .signingmanager/logs mappában található a felhasználó profiljában. Próbálja kiírni cmd-ben echo %USERPROFILE%/.signingmanager/logs, és látni fogja a mappa teljes elérési útját.
További források és információk
- Leggyakoribb hibák - Troubleshoot Guide a KeyLocker dokumentációjában.
- KeyLocker dokumentáció a DigiCert honlapján
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.