Megosztás a következőn keresztül:


Mobilalkalmazás aláírása

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Ha androidos vagy Apple operációs rendszerekhez szeretne mobilalkalmazást aláírni és kiépíteni, kezelnie kell az aláíró tanúsítványokat és az Apple kiépítési profiljait. Ez a cikk azt ismerteti, hogyan kezelheti biztonságosan az alkalmazás azure Pipelinesban való aláírásához és kiépítéséhez szükséges tanúsítványokat és profilokat.

Feljegyzés

Build vagy kiadás futtatásához legalább egy ügynökre van szüksége. Használhatja a Microsoft által üzemeltetett Linux, macOS vagy Windows buildügynököt, vagy beállíthatja saját ügynökét. További információ: Build and release agents.

Android-alkalmazás aláírása

Kövesse az alábbi lépéseket az Android-alkalmazás aláírásához, miközben az aláíró tanúsítvány biztonságos marad.

A keystore-fájl feltöltése

  1. Szerezze be az aláíró tanúsítványt tartalmazó kulcstárfájlt. Az Android dokumentációja leírja a kulcstárfájl és a hozzá tartozó kulcs létrehozásának folyamatát.

  2. Az Azure Pipelinesban nyissa meg a Könyvtárak>biztonságos fájljait. Válassza a + Biztonságos fájl lehetőséget , és töltse fel a keystore-fájlt a biztonságos fájltárba. A feltöltés során a kulcstár titkosítva és biztonságosan tárolódik.

Az aláírási feladat hozzáadása a folyamathoz

Adja hozzá a AndroidSigning@3 feladatot a YAML-folyamathoz az alkalmazást összeállító lépés után. A feladatban AndroidSigning@3 :

  • <apkFiles> szükséges, és az aláírandó APK-fájlok elérési útja és neve. Az alapértelmezett érték **/*.apk.
  • <apksign> az alapértelmezett értéknek kell lennie true.
  • <keystore-file> a feltöltött kulcstárfájl neve a biztonságos fájltárban.
  • <apksignerKeystorePassword> a titkosítatlan kulcstárfájl jelszava.
  • <apksignerKeystoreAlias> az aláíró tanúsítvány kulcs aliasa.
  • <apksignerKeyPassword> a megadott aliashoz társított kulcs jelszava.

Beállíthat és használhat változókat a YAML-ben, vagy beállíthatja a változókat az Azure Pipelines felhasználói felületén található Változók lapon, és hivatkozhat rájuk a YAML-ben.

variables:
  keystore-password: <keystore file password>
  key-alias: <key alias for the signing certificater>
  key-password: <password for the key associated with the alias>

steps:
- task: AndroidSigning@3
  displayName: 'Signing and aligning APK file(s) **/*.apk'
  inputs:
    apkFiles: '**/*.apk'
    apksign: true
    apksignerKeystoreFile: <keystore-filename.keystore>
    apksignerKeystorePassword: $(keystore-password)
    apksignerKeystoreAlias: $(key-alias)
    apksignerKeyPassword: $(key-password)

Bármely buildügynök mostantól biztonságosan aláírhatja az alkalmazást anélkül, hogy a buildelési gépen bármilyen tanúsítványkezelést használ.

Apple iOS, macOS, tvOS vagy watchOS alkalmazás aláírása

Az alkalmazás aláírásához és kiépítéséhez az Xcode vagy a Xamarin.iOS buildnek hozzá kell férnie a P12 aláíró tanúsítványához és egy vagy több kiépítési profilhoz. Az alábbi lépések bemutatják, hogyan szerezheti be ezeket a fájlokat.

P12 aláíró tanúsítvány lekérése

  1. Exportálja a fejlesztési vagy terjesztési aláíró tanúsítványt egy .p12 fájlba az Xcode vagy a Keychain Access alkalmazással macOS rendszeren.

    • Exportálás Xcode használatával:

      1. Nyissa meg az Xcode>Preferences-fiókokat.>

      2. A bal oldali oszlopban válassza ki az Apple ID azonosítóját.

      3. A jobb oldalon válassza ki a személyes vagy csapatfiókját, majd válassza a Tanúsítványok kezelése lehetőséget.

      4. Ctrl+Jelölje ki az exportálni kívánt tanúsítványt, és válassza a menüBől a Tanúsítvány exportálása lehetőséget.

        Képernyőkép egy tanúsítvány Xcode használatával történő exportálásáról.

      5. A párbeszédpanelen adja meg a tanúsítvány nevét, a fájl mentésének helyét és a tanúsítvány biztonságossá tételéhez szükséges jelszót.

    • Vagy használja az iOS-aláírásban leírt eljárást egy hasonló folyamat követéséhez a Keychain Access alkalmazással macOS rendszeren, vagy hozzon létre egy aláíró tanúsítványt Windows rendszeren.

  2. Töltse fel a P12-fájlt az Azure Pipelines biztonságos fájltárba. A feltöltés során a rendszer titkosítja és biztonságosan tárolja a tanúsítványt.

  3. A folyamatban lépjen a Változók lapra, és adjon hozzá egy P12password nevű változót, amelynek értéke a tanúsítvány jelszava. A jelszó biztonságossá tételéhez és a naplókban való elrejtéséhez válassza a zárolás ikont.

Kiépítési profil lekérése

Ha az alkalmazás nem használ automatikus aláírást, letöltheti az alkalmazáskiépítési profilját az Apple Fejlesztői portálról. További információ: Kiépítési profilok szerkesztése, letöltése vagy törlése.

Az Xcode használatával is hozzáférhet a Mac gépére telepített kiépítési profilokhoz. Az Xcode-ban lépjen az Xcode Preferences Accounts (Xcode-beállítások>fiókjai>) elemre. Válassza ki az Apple ID azonosítóját és a csapatát, majd válassza a Manuális profilok letöltése lehetőséget.

Az Azure Pipelinesban töltse fel a kiépítési profilt a biztonságos fájltárba. A feltöltés során a rendszer titkosítja és biztonságosan tárolja a fájlt.

Az aláírási és kiépítési feladatok hozzáadása a folyamathoz

Az alkalmazás aláírásához és kiépítéséhez telepítheti a tanúsítványt és a profilt az egyes buildek során, vagy előre telepítheti a fájlokat egy macOS buildügynökön.

A tanúsítvány és a profil telepítése az egyes buildek során

Telepítse a tanúsítványt és a profilt minden build során, ha nem rendelkezik tartós hozzáféréssel a buildügynökhöz, például ha üzemeltetett macOS-ügynököket használ. A P12-tanúsítvány és a kiépítési profil a build elején települ, és a build befejezésekor el lesz távolítva.

  • Adja hozzá a InstallAppleCertificate@2 feladatot a YAML-folyamathoz az Xcode vagy a Xamarin.iOS tevékenység előtt. A kódban cserélje le <secure-file.p12> a feltöltött .p12 fájl nevét. Használja a változót a biztonságoshoz P12password.

    - task: InstallAppleCertificate@2
        inputs:
          certSecureFile: '<secure-file.p12>'
          certPwd: '$(P12password)'
    

    Feljegyzés

    A feladatban a InstallAppleCertificate@2 paraméter alapértelmezés szerint a deleteCert következő, trueamely a buildelés után eltávolítja a tanúsítványt.

  • Adja hozzá a InstallAppleProvisioningProfile@1 feladatot a YAML-hez az Xcode vagy a Xamarin.iOS feladat előtt. Cserélje le <secure-file.mobileprovision> a kiépítési profilfájl nevére.

    - task: InstallAppleProvisioningProfile@1
        inputs:
          provProfileSecureFile: '<secure-file.mobileprovision>'
    

    Feljegyzés

    A feladatban a InstallAppleProvisioningProfile@1 paraméter alapértelmezés szerint a removeProfile következő, trueamely a buildelés után eltávolítja a profilt.

Bármely buildügynök mostantól biztonságosan aláírhatja az alkalmazást tanúsítvány vagy profilkezelés nélkül a buildelési gépen.

A tanúsítvány és a profil előzetes telepítése macOS buildügynökön

Ahelyett, hogy a buildelés során telepíti az aláíró tanúsítványt és a kiépítési profilokat, előtelepítheti őket egy macOS buildügynökön. A fájlok ezután a buildek általi folyamatos használatra lesznek elérhetők. Ezt a módszert csak akkor használja, ha megbízik az ügynökgép macOS-kulcskarikához hozzáférő személyekben és folyamatokban.

A P12-tanúsítvány előzetestelepítése

  1. A P12-tanúsítvány alapértelmezett kulcskarikában való telepítéséhez futtassa a következő parancsot egy macOS Terminálablakból a buildügynökön. Cserélje le <certificate.p12> a P12-fájl elérési útját és nevét. Cserélje le <password> a P12-fájl titkosítási jelszavára.

    sudo security import <certificate.p12> -P <password>
    
  2. Adjon hozzá egy új változót a KEYCHAIN_PWD nevű folyamathoz. Állítsa be az értéket jelszóként az alapértelmezett kulcskarikára, amely általában az ügynököt indító felhasználó jelszava. A jelszó védelméhez mindenképpen válassza a zárolás ikont.

A kiépítési profil előtelepítése

  1. Keresse meg az aláíró identitás teljes nevét egy macOS terminálablak megnyitásával és a beírással security find-identity -v -p codesigning. Megjelenik az aláírási identitások listája az űrlapon iPhone Developer/Distribution: Developer Name (ID). Ha egy identitás érvénytelen, hasonlót fog látni (CSSMERR_TP_CERT_REVOKED) az identitás után.

  2. Ha telepíteni szeretné a kiépítési profilt az ügynökgépre, futtassa a következő parancsot egy macOS Terminálablakból. Cserélje le <profile> a kiépítési profilfájl elérési útjára, és cserélje le <UUID> a kiépítési profil UUID azonosítójára, amely a bővítmény nélküli .mobileprovision kiépítési profilfájl neve.

    sudo cp <profile> ~/Library/MobileDevice/Provisioning Profiles/<UUID>.mobileprovision
    

Az alapértelmezett kulcskarikát használó aláírási és kiépítési feladatok hozzáadása

  • Adja hozzá a InstallAppleCertificate@2 feladatot a YAML-folyamathoz az Xcode vagy a Xamarin.iOS tevékenység előtt. A kódban állítsa be a következő értékeket:

    • certSecureFile: A feltöltött .p12 fájl neve.
    • certPwd: A biztonságos P12passwordváltozó.
    • signingIdentity: Az aláíró identitás teljes neve.
    • keychain: default, az alapértelmezett kulcskarikához való hozzáférés engedélyezéséhez.
    • keychainPassword: A KEYCHAIN_PWD változó.
    • deleteCert: false, hogy megőrizze a tanúsítványt a buildek között.
    - task: InstallAppleCertificate@2
      inputs:
        certSecureFile: '<secure-file.p12>'
        certPwd: '$(P12password)'
        signingIdentity: <full-signing-identity>
        keychain: default
        keychainPassword: `$(KEYCHAIN_PWD)
        deleteCert: false
    
  • Adja hozzá a InstallAppleProvisioningProfile@1 feladatot. A kódban:

    • Állítsa be provProfileSecureFile a kiépítési profilfájl nevét.
    • Állítsa be removeProfile úgy, hogy false a profil megmaradjon a buildek között.
    - task: InstallAppleProvisioningProfile@1
        inputs:
          provProfileSecureFile: '<secure-file.mobileprovision>'
          removeProfile: false
    

A macOS buildügynök mostantól biztonságosan aláírhatja és kiépítheti az alkalmazást az összes buildhez további tanúsítvány vagy profilkezelés nélkül.

Hivatkozás az Xcode vagy a Xamarin.iOS buildelési feladatban lévő biztonságos fájlokra

Ha biztonságos tanúsítványt és profilt szeretne használni a folyamatokban, konfigurálja az alábbi beállításokat az Xcode vagy a Xamarin.iOS buildelési feladataiban.

A buildelési feladatok biztonságos fájlhivatkozásai változókat használnak az és a signingIdentity provisioningProfileUuid. Ezeket a változókat automatikusan beállítja az Apple-tanúsítvány telepítése és az Apple Provisioning Profile feladatainak telepítése a kiválasztott tanúsítványhoz és kiépítési profilhoz.

Xcode esetén:

- task: Xcode@5
  inputs:
    signingOption: 'manual'
    signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
    provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'

Xamarin.iOS esetén:

- task: XamariniOS@2
    inputs:
      solutionFile: '**/*.iOS.csproj'
      signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
      signingProvisioningProfileID: '$(APPLE_PROV_PROFILE_UUID)'

A folyamat buildügynöke mostantól biztonságosan aláírja és kiépíti az alkalmazást anélkül, hogy további tanúsítványokat vagy profilkezelést használ a buildelési gépen.

További információ: