Přeskočit na obsah
  1. Főoldal
  2. Támogatás
  3. Code Signing tanúsítványok
  4. KeyLocker Hibaelhárítási Útmutató

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:

  1. Nyissa meg a Vezérlőpult → Rendszer → Rendszerbeállítások.
  2. Kattintson a Környezet változók lehetőségre.
  3. Keresd a PATH-ot (Rendszer változók vagy Felhasználói változók).
  4. Kattintson a Szerkesztés-re, adja hozzá az egyes útvonalakat, és mentse el.
Proměnných pridanie cez Windows GUI
Proměnných pridanie cez Windows GUI

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:

  1. Nyissa meg a PowerShellt rendszergazdaként (kattintson a jobb gombbal a Start menüre → Windows PowerShell (Admin)).
  2. Először olvassa ki az aktuális "PATH" változó értékét:
    [System.Environment]::GetEnvironmentVariable("Path", "User")
  3. 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")
  4. 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")
  5. 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

Kérdései vannak?

Ne habozzon kapcsolatba lépni ügyfélszolgálatunkkal, amely tanácsot ad és segít.

ZONER Kft.

Práter utca 9. 3. em. 305.
9024 Győr

Cégjegyzékszám: 13576712-2-08
Adószám: HU13576712