Attestering innebär att man kan lita på att den utvecklar-ID-signerade programvara du distribuerar har genomsökts av Apple efter skadliga komponenter. Mer information om Apples attesteringsregler och krav finns i Attestering av macOS-programvara före distribution.
För att anpassa sig till Apples attesteringsregler har InDesign 2020 aktiverat berättiganden till den mer skyddade körmiljön som gör att tredje mans plugin-program kan läsas in i InDesign utan att behöva kodsigneras. Men utvecklare av plugin-program distribuerar vanligtvis plugin-program på webben via installationsprogram (.pkg eller .dmg). Eftersom Apples gatekeeper på macOS automatiskt karantänsätter alla binärfiler som inte är attesterade, skulle installationsprogrammen för plugin-programmen misslyckas när du kör dem. Mer information finns i InDesign och macOS 10.15 (Catalina). Därför uppstår behovet av att attestera installationsprogram för plugin-program/binärfiler även om InDesign-plugin-program inte kräver attestering eller kodsignering.
Attesteringskrav
- Apple-utvecklarkonto
- Xcode 10 eller senare
- Ett app-specifikt lösenord. Här finns anvisningar för att generera det.
Certifikatgenereringsprocess
- Begär certifikat (Menyn Nyckelhanterare > Certifikatassistent > Skapa en certifikatutfärdare)
- Spara filen .certSigningRequest på disken.
- Logga in på Apples utvecklarportal.
- Klicka på Certificates, Identifiers & Profiles.
- Välj Developer ID Application för att skapa ett nytt certifikat.
- Ladda upp filen .certSigningRequest från steg 1 och slutför processen. Hämta .cer som visas till disken.
- Välj Developer ID Installer och upprepa steg 4–6.
- Ladda upp samma .certSigningRequest-fil från steg 1 och slutför processen. Hämta .cer som visas till disken.
- Dubbelklicka på båda de hämtade .cer-certifikaten som genererades från steg 6 och 8 för att importera dem till Nyckelringen.
Attesteringssteg för .pkg- eller .dmg-filer
I det här exemplet används exempel-plugin-programmet BasicDialog från SDK.
# kodsignering .InDesignPlugin
codesign --sign "Developer ID Application: <Utvecklarnamn>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # verifiering av kodsignering
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # skapa .pkg eller .dmg genom att lägga till ovanstående kodsignerade .InDesignPlugin i paketet/installationsprogrammet
# signera dina installationsprogram (som .dmg eller .pkg)
productsign --sign "Developer ID Installer: <Utvecklarnamn>" ./BasicDialog.pkg ./BasicDialogSigned.pkg # verifiering av kodsignering
pkgutil --check-signature BasicDialogSigned.pkg # skicka för attestering
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # kontrollera status för attestering online (steg 6 ska returnera Begär UID)
xcrun altool --notarization-info <Begär UID> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # häfta attesterad fil för användning offline
xcrun stapler staple BasicDialogSigned.pkg # kontrollera om häftklammer är på plats
stapler validate --verbose BasicDialogSigned.pkg