Přeskočit na obsah

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:

  1. Szerezze be a tanúsítványt az Azure kulcstárba (hozza létre a CSR-t, majd importálja a választ).
  2. Hozzon létre egy alkalmazást, amelyet alá fog akarni írni
  3. Alkalmazás hozzáadása a Key Vault-ja Access policies-jához
  4. 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 Certificates opció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.

CSR létrehozása az Azureban
CSR létrehozása az Azureban

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ó
Advanced policy configuration
Advanced policy configuration

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.

CSR letöltése a Certificate Operation-ből
CSR letöltése a Certificate Operation-bő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.

Azure Permission model
Azure Permission model

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 - Get, List
  • Secret permissions - Get, List
  • Certificate permissions - Get, List
  • Cryptographic Operations - Verify, Sign

Válassza ki az alkalmazást a második lépésben, és keresse meg a neve alapján.

Azure - Create Acess Policy
Azure - Create Acess Policy

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
  • kvu : Azure Key Vault URL-ja. Megtalálja a főoldalon, mint DNS Name.
  • 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.
  • az aláírandó fájl helyét adja meg

A fentiek mindegyike megtalálható az Azure felületén.

Kérdései vannak?

Ne habozzon kapcsolatba lépni ügyfélszolgálatunkkal, akik tanácsot adnak és segítenek.

Hívjon minket

ZONER Kft.

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

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