Kódaláírás az Azure Key Vault segítségével
A kódaláíró Code Signing tanúsítványt biztonságosan kell tárolni. Ehhez nagyon egyszerűen használhatja a felhő megoldású Cloud HSM-et az Azure Key Vault szolgáltatással. Útmutatónk segít az Azure Key Vault beállításában és konfigurálásában, de megtalálja benne az aláírási parancsokat, amelyeket az Azurehoz kell használnia.
Code Signing tanúsítványt biztonságosan kell tárolni
A kódaláíró tanúsítványokat csak biztonságos eszközökhöz állítják ki - ezeknek a HSM-en kell lenniük. Ennek két formája lehet - vagy hagyományos hardver, amelynek beszerzése drága, vagy felhőalapú, amely ugyanazt a feladatot látja el. Az Azure Key Vault, amelyről írunk, FIPS 140-2 Level 2 és 3 kompatibilis, így használható a Code Singing tanúsítványok tárolására. A szolgáltatással kapcsolatos további információkért látogasson el az Azure Key Vault oldalára.
Azura Key Vault üzembe helyezése és beállítása
A KeyLockernek természetesen van alternatívája is. Sok ügyfél használja az Azure felhőszolgáltatásokat, amelyek lehetővé teszik a biztonságos kulcstárolást (HSM). Az Azure Key Vault segítségével a kódaláíró tanúsítványt a felhőben tárolhatja, és nem kell semmi mással külön foglalkoznia.
A Code Signing tanúsítvány használatával történő aláíráshoz az Azureban következőket kell tennie:
- Szerezze be a tanúsítványt az Azure kulcstárba (hozza létre a CSR-t, majd importálja a választ).
- Hozzon létre egy alkalmazást, amelyet alá fog akarni írni
- Alkalmazás hozzáadása a Key Vault-ja Access policies-jához
- Telepíteni az eszközére a támogató software-t
Haladjunk végig a folyamaton lépésről lépésre. Az alábbiakban a haladó felhasználók számára leegyszerűsítettük őket, ha részletes utasításokra van szüksége, használja ezt az útmutatót a GitHubon.. A tanúsítvány megvásárlásáról és a hitelesítésről szóló részt figyelmen kívül hagyhatja, mivel azt rajtunk keresztül végzi.
Kódaláíró tanúsítvány beszerzése és beállítása az Azure-ban
A kód aláírásához szükséges tanúsítvány beszerzése egyszerű. Az SSLmarketen vásárolhat kódaláíró tanúsítványt a HSM-en való tárolással. Ezután létrehoz egy CSR-t az Azure-ban, amelyet elküld nekünk. A tanúsítvány kiadása után elküldjük Önnek az aláírt nyilvános kulcsot (=tanúsítványt), és Ön ezt a választ importálja az Azure-ba.
Az Azure Key Vaultban a bal oldali menünél kiválassza a Certificatesopciót majd rákattint a Create a certificate-re. Az általános űrlapon válassza ki a tanúsítvány elnevezését, majd a Common name-t (figyelem! Ez az aláíró neveként jelenik majd meg), és válassza a Certificate issued by non-integrated CA (nem integrált hitelesítésszolgáltató által kiadott tanúsítvány) lehetőséget a hitelesítő hatóság típusaként. Formátumként válassza a PEM formátumot.
Manuálisan szükséges konfigurálni az Advanced Policy Configuration-t, tehát kattintson a Not configured-ra és állítsa be a következőt:
- Extended Key Usages (EKU) na 1.3.6.1.5.5.7.3.3
- Key Size RSA-hoz, legalább 3072b, EC-hez legalább P-256
- Privát kulcsot Not expordable-t válassza, amennyiben Code Signing EV tanúsítványról van szó
A In progress, failed or cancelled kategóriában megtalálja az új tanúsítványt, annak részleteinél kattintson a Certificate Operation-ra, amely további részleteket hív elő, ahonnan letölthető a CSR. Ugyanezen helyen tudja importálni a kiadott tanúsítványt a Merge Signed Request-ten keresztül.
A letöltött CSR használja a tanúsítvány rendeléshez az SSLmarket-en, és azt a HSM-en tárolt Code Signing OV és EV kódaláíráshoz használhatja.
Alkalmazás létrehozása
Az önálló Key Vault létrehozása mellett a Resource Groupban, illetve a tanúsítvány mentése mellett, szükséges még létrehozni alkalmazást a Microsoft Entra ID-ban is (előtte Azure Active Directory). Mindkettő az autentizálásra szolgál és a Vaulthoz való hozzáféréshez.
Menjen a Microsoft Entra ID áttekintésére és a bal menünél válassza ki az App registrations-t- Ezután adjon meg egy új alkalmazás regisztrációját, nevezze el, és válassza ki a hozzáférési opciót: Accounts in this organizational directory only (Default Directory only - Single tenant). Az alkalmazás létrehozásánál meglátja az Application ID-t, amely szükséges az aláíráshoz, mint “client ID”.
Menjen az alkalmazás részleteire a kliens bal menüjében: Certificates & secrets. Itt hozza létre az új Client secret-et és nevezze azt el. Másolja ki és mentse el a Secret (Value) értéket, mert többé nem fogja látni azt.
Access policies beállítása
Most vissza kell mennünk a Key Vaultba.
Módosítsa a jogokat az Azure role-based access (RBAC)-ról erre: Vault access policy.
Bal oldalt előbb Access Policies, majd kattintson erre: Create. Hozza létre az Access policy-t, amelyek az ön által létrehozott alkalmazásokra lesznek aplikálva. Legalább a következő jogosultságok szükségesek:
- Key permissions - Verify, Sign, Get, List
- Secret permissions - Get, List
- Certificate permissions - Get, List
Válassza ki az alkalmazást a második lépésben, és keresse meg a neve alapján..
Ennyit kell beállítania az Azure felületén.
Támogató szoftver telepítése
Telepítse a következőket a számítógépére:
- .net SDK 6.0.200, Windows x64; download
- .net ASP.NET Core Runtime 6.0.2, Windows x64; download
- Azure SignTool-t telepítse a cmd-n segítségével: dotnet tool install --global AzureSignTool
Gratulálunk, most már használhatja az Azure SignToolt a kód aláírására a Key Vaultban tárolt tanúsítvány használatával.
Aláírás Azure Key Vault segítségével
Most, hogy minden készen áll az aláírásra, a legfontosabb, hogy az aláírási parancshoz szükséges adatokkal rendelkezzünk. Ez így néz ki:
azuresigntool sign -kvt KEY-VAULT-DIRECTORY-ID -kvu KEY-VAULT-URI -kvi APPLICATION-CLIENT-ID -kvc CERTIFICATE-NAME -kvs CLIENT-SECRET -tr http://timestamp.digicert.com - v PATH-TO-EXECUTABLE
Mi micsoda?
- Kvt : directory id az Azure Key Vault-jához
- kvi : application id Azure app, amelyet regisztrált.
- kvc : friendly name tanúsítvány, amelyet használni akar. Ez a megjelölést Ön választotta.
- kvs : client secret, amelyet kigenerált az alkalmazáshoz.
- tr : URL timestamp a szerverhez. Az időbélyeget mindenképp használja, hogy az aláírás megbízható legyen a tanúsítvány lejárta után is.
- v určuje umiestnenie súboru, ktorý podpisujete.
A fentiek mindegyike megtalálható az Azure felületén..