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.
A cikk tartalma
- Változók ellenőrzése
- Beállítások ellenőrzése
- MMC és tanúsítvány jelenlétének ellenőrzése
- Aláírási problémák
- Hol találhatók a naplók
- További források és információk
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:
- Ezután adjon hozzá egy új útvonalat a meglévő értékekhez:
- Ha további útvonalat szeretne hozzáadni, ismételje meg a folyamatot:
- 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.
[System.Environment]::GetEnvironmentVariable("Path", "User")
$path = [System.Environment]::GetEnvironmentVariable("Path", "User")
$newPath = $path + ";C:\Program Files\DigiCert\DigiCert Keylocker Tools\"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")
$newPath = $newPath + ";C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")
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.
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
--------- Fiókbeállítások ---------
Csapatok: Letiltva
Fenyegetésérzékelés: Engedélyezve
Statikus bináris elemzés: Engedélyezve
Szoftver összetétel elemzés: Letiltva
--------- Felhasználói hitelesítő adatok ---------
Állapot: Csatlakoztatva
Felhasználónév: XXXX-keylocker
Fiókok: XXXX-1699076
Hitelesítés: 2FA
Környezet: Prod
Hitelesítő adatok:
Hoszt: https://clientauth.one.digicert.com
API kulcs: 010897bf735bbc57d48270cd3d_50dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe4 (Változó környezeti változójából származik)
Ügyfél tanúsítványfájl elérési útja: C:\Users\xy\Documents\keylocker\Certificate_pkcs12.p12
Ügyfél tanúsítvány jelszó: ytf_xxxxxx0F (Változó környezeti változójából származik)
API kulcsok:
Név: xy (lejárati dátum: Mon, 31 Dec 2029 23:59:59 UTC)
Ügyfél tanúsítványok:
Név: xy (lejárati dátum: Mon, 31 Dec 2029 23:59:59 UTC)
Előjogok:
Aláírhat: Igen
Offline kiadást jóváhagyhat: Nem
Tanúsítvány visszavonhat: Igen
Végezhet vizsgálatot: Nem
Engedélyek:
Fiók kezelő:
MANAGE_AM_PERMISSION
MANAGE_AM_ROLE
MANAGE_AM_ACCOUNT_USER
VIEW_AM_ROLE
VIEW_AM_ACCOUNT
VIEW_AM_USER
VIEW_AM_ORGANIZATION
VIEW_AM_AUDIT_LOG
Kulcspárok:
SIGN_SM_HASH
VIEW_SM_KEYPAIR
MANAGE_SM_KEYPAIR
Tanúsítványok:
VIEW_SM_CERTIFICATE
REVOKE_SM_CERTIFICATE
Egyéb engedélyek:
VIEW_SM_LICENSE
MANAGE_SM_CC_API_KEY
--------- Aláíró eszközök ---------
Signtool 32 bit:
Leképezve: Nem
Signtool:
Leképezve: Igen
Útvonal: C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe
Mage:
Leképezve: Nem
Nuget:
Leképezve: Nem
Jarsigner:
Leképezve: Nem
Apksigner:
Leképezve: Nem
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
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
Sajnáljuk, hogy nem kapott választ.
Segítene a cikk jobbá tételében? Írja meg nekünk mire nem kapott választ.