Aláírás KeyLocker felhő HSM segítségével
Ez a cikk segít megtanulni, hogyan lehet a felhőt és a KeyLocker HSM-et használni aláírásra. Az útmutató minden platformra releváns és különféle aláíró eszközök esetén alkalmazható – a signtool-tól a jarsigner-ig. Az információk alapját képezik a Software Trust Manager használatához is a DigiCert ONE-ből; így az aláírási elv mindkét említett szolgáltatásra érvényes.
KeyLocker kompatibilitás
Biztosan felmerül önben a kérdés, hogy a KeyLocker használható-e a munkafolyamatában, és hogy megfelelően fog-e működni. A KeyLocker és a hozzá kapcsolódó könyvtárak támogatják (csakúgy, mint a Software Trust Manager a DC1-ben) a harmadik féltől származó aláírási eszközöket. A DigiCert weboldalán a Signing tool integration cikkben találhatja a teljes listát azokról a fájlformátumokról, amelyeket a KeyLocker használatával kompatibilis eszközök segítségével aláírhat.
Itt csak a legelterjedtebb Signtool változatait említem meg 32-bit és 64-bit verzióban:
- SignTool (32-bit): .doc, .docm, .dot, .dotm, .msi, .cab, .exe, .dll, .mpp, .mpt, .pot, .potm, .ppa, .ppam, .pps, .ppsm, .ppt, .pptm, .pub, .vdw*, .vdx*, .vsd*, .vsdm, .vss*, .vssm, .vst*, .vstm, .vsx*, .vtx*, .wiz*, .xla, .xlam, .xls, .xlsb, .xlsm, .xlt, .xltm
- SignTool (64-bit): .appx, .appxbundle, .arx, .cab, .cat, .cbx, .cpl, .crx, .dbx, .deploy, .dll, .drx, .efi, .exe, .js, .msi, .msix, .msixbundle, .msm, .msp, .ocx, .psi, .psm1, .stl, .sys, .vbs, .vsix, .wsf, .xsn
Útmutató a KeyLocker használatához
A KeyLockerbe való bejelentkezés után megjelenik a Beállítás varázsló, amely segít letölteni a DigiCert ONE Klienseket. Ezzel bejelentkezhet a számítógépen a KeyLocker fiókjába, telepíti a szükséges könyvtárakat, köztük az SMCTL-t, és beállítja az autentikációs változókat a rendszerben. Ez jelentős könnyebbséget jelent a korábbi eljárásokhoz képest.
A KeyLocker útmutató első lépésében töltse le és telepítse a DigiCert ONE Kliensek alkalmazását, majd indítsa el. A bejelentkezés ugyanúgy történik, mint amit a KeyLocker webes felületen beállított.
A következő lépésben a desktop alkalmazásban telepítse az SMCTL-t, amely a tényleges aláírás fő eszköze.
Az telepítés után a rendszer három lehetőséget kínál a KeyLocker változó tárolására a rendszerben. Javasoljuk a "Store my credentials" alapértelmezett lehetőséget választani. Az adatok a rendszerbe kerülnek, és nem szükséges minden aláírás előtt újra bejelentkezni a fiókba.
Ha a rendszerben történő tárolási lehetőséget választja, Windows-rendszerben a bejelentkezési adatok a Hitelesítési Adatkezelőben (Credential Manager) lesznek.
Miután az autentikációs adatokat a rendszerbe állította, amit automatikusan elvégez a DigiCert ONE Kliensek app, lépjen a varázsló harmadik lépésére. Most futtassa a rendszeren az SMCTL healthcheck parancsot, amely teszteli a helyi környezet és a KeyLocker közötti kommunikációt, valamint a megfelelő autentikációt. Mindennek simán kellene mennie, így erősítse meg a "Futtattam az egészségellenőrző parancsot az SMCTL-ben" és kattintson a Státusz ellenőrzése gombra.
Zöld jelzést kap, ami azt jelenti, hogy Készen áll az aláírásra az SMCTL segítségével, ami azt jelenti, hogy minden be van állítva, és a kommunikáció működik, így elkezdheti az aláírást.
Válassza ki a négy lehetőség közül a megfelelő platformot, amelyet az aláírásra használ, és ezt követően példát (útmutatót) fog látni a KeyLocker segítségével történő aláírásra.
Fájlok aláírása
Elsősorban az SMCTL segédprogram használatát javasoljuk, amely parancssori felületen (CLI) működik. A második lehetőség a DigiCert® Click-to-sign segédprogram (lásd az utolsó bekezdést).
A fájlok aláírásáról szóló útmutatók a fő platformokhoz (Authenticode, Docker, Java...) közvetlenül a KeyLocker webes felületén érhetők el. Az útmutató befejezése után (a "Beállítás befejezve!" fejléccel) kattintson az egyik kínált platformra, és a felület meg fogja mutatni a kiválasztott tanúsítvánnyal együtt használandó parancsot. Ezt csak be kell másolnia a CLI-be, és meg kell adnia az aláírandó fájlt. Egyszerűbb már nem is lehetne!
Fájlok aláírása SMCTL segítségével (ajánlott)
Az SMCTL segédprogram a DigiCert-től származik, és egyszerűsítheti a fájlok aláírását harmadik féltől származó eszközökkel is (még mindig legalább signtool szükséges). Az SMCTL a legelterjedtebb eszközökkel működik együtt – Signtool, Apksigner, Jarsigner, Mage, Nuget. Az eszközt a C:/Program Files/DigiCert/DigiCert Keylocker Tools/smctl.exe mappában találja
Az útmutató utolsó lépésében kattintson az Authenticode-ra, és a következő párbeszédablakban válassza ki a tanúsítványt, amely elérhető a KeyLockerben. Kap egy teljes parancsot az aláírásra, amihez hozzá kell adnia a célt, és futtassa azt helyileg a CLI-ben. Azonnal kap visszaigazolást a fájl sikeres aláírásáról.
Az SMCTL teljes dokumentációja elérhető a DigiCert weboldalán.
Fájlok aláírása Signtool segítségével
A következő útmutató a Signtool eszközre vonatkozik a Windows SDK csomagból. Ez a legelterjedtebb aláírási eszköz Windows platformon.
A Signtool parancsot specifikálnia kell, hogy mely fájlt akarja aláírni, milyen tanúsítvánnyal, és esetleg kapcsolódó paraméterekkel. Az aláírási tanúsítványra többféleképpen is hivatkozhat: Hagyhatja, hogy a Signtool automatikusan válassza ki a tanúsítványt az adattár alapján, vagy manuálisan hivatkozhat a tanúsítvány tárolt fájljára (természetesen csak a publikus rész, a privát kulcs nélkül), vagy használhatja a tanúsítvány SHA-1 hash-ét.
Itt egy példa aláírásra a tanúsítvány hash ujjlenyomata alapján:
C:/>signtool.exe sign /sha1 ecb0f10ab1XXXXXXXXXX1681fb70a31e32288263 /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
És itt egy példa aláírásra a KeyLocker és a tanúsítvány fájl segítségével:
C:/Users/User>signtool.exe sign /csp "DigiCert Signing Manager KSP" /kc key_558469087 /f C:/Users/User/Documents/cert_558469087.crt /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Done Adding Additional Store
Successfully signed: C:/Users/User/Documents/HelloSign.exe
Az aláírás érvényességét ellenőrizheti a következő paranccsal: signtool verify /v file.exe Az aláírás tulajdonságai is megtekinthetők a fájl aláírása után a Fájlkezelő és Tulajdonságok menüpontban (jobb egérgombbal).
Fájlok aláírása Jarsigner segítségével
A Jarsigner alkalmazható a KeyLockerrel a PKCS11 könyvtár segítségével; aláírhat egyszerűen az SMCTL segítségével, vagy közvetlenül a Jarsignerrel és a PKCS11 könyvtárral.
Példa aláírásra Jarsigner segítségével:
jarsigner -keystore NONE -storepass NONE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties2.cfg -signedjar C:/Users/Name/Desktop/signed/signedjar.jar C:/Users/Name/Desktop/ToSign/jartosign.jar key3 -tsa "http://timestamp.digicert.com"
Az aláírás helyességét az alábbi paranccsal ellenőrizheti:
jarsigner -verify
A Jarsigner dokumentációja elérhető a DigiCert weboldalán.
Aláírás DigiCert® Click-to-sign segítségével
Ez az eszköz grafikus felületet kínál a fájl aláírásának megkönnyítésére. Az eredmény és az aláírás elve azonban nem különbözik a parancssori eszközöktől; a parancssori eszközök lehetővé teszik a részletesebb aláírási paraméterek beállítását. A DigiCert® Click-to-sign csak leegyszerűsített lehetőségeket kínál, amelyek azonban elegendők lehetnek a legtöbb felhasználónak.
A DigiCert® Click-to-sign-nek egy nagy előnye van – a beállítás során végig kell mennie a KeyLocker elérési adatok (Secrets) varázslóján. A varázsló nemcsak egyszerűen teszteli a felhőkapcsolatot, hanem ezeket a változókat is beállítja a rendszerbe! Nem szükséges őket manuálisan beállítani.
A tényleges aláírás ezzel az eszközzel maximálisan egyszerű – kattintson a jobb egérgombbal az aláírandó fájlra, és válassza a menüben a Click to Sign lehetőséget. Aztán azonnal aláírhat, vagy megerősítheti az aláírás beállítását.
A Click-to-sign dokumentációja elérhető a DigiCert weboldalán.
Megjegyzés: Ha a Click-to-sign nem működik, állítsa be a PATH változót az Click-to-sign alkalmazás és az aláíró alkalmazás (Signtool) elérési útvonalával, pontosvesszővel elválasztva. Például:
Path: C:/Program Files/DigiCert/DigiCert Keylocker Tools;C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0x64;
CI/CD integráció
A KeyLocker fő előnye az aláírások automatizálásának lehetősége a CI/CD munkafolyamatba való integráción keresztül. A DigiCert számos szkriptet és plugint készített a legelterjedtebb fejlesztői eszközökhöz és platformokhoz. A pluginek elérhetők az Azure DevOps-hoz, GitHub-hoz és Jenkins-hez. Az integrációs szkriptek a PKCS11 könyvtárhoz további lehetőségeket kínálnak.
Teljes információk a CI/CD integrációk cikkben találhatók.
Dokumentáció és további források:
- A SignTool dokumentációja, elérhető a https://learn.microsoft.com/cs-cz/dotnet/framework/tools/signtool-exe oldalon
- A KeyLocker dokumentációja, elérhető a https://docs.digicert.com/en/digicert-keylocker.html oldalon