Uwierzytelnienie daje pewność, że rozpowszechniane przez programistę oprogramowanie podpisane identyfikatorem programisty zostało sprawdzone przez Apple pod kątem złośliwych komponentów.Aby uzyskać więcej informacji na temat reguł uwierzytelniania i wymagań Apple, zobacz Uwierzytelnianie oprogramowania macOS przed rozpowszechnieniem.
Aby dostosować się do reguł uwierzytelniania Apple, InDesign 2020 wprowadza wzmocnione uprawnienia do środowiska uruchomieniowego, które umożliwiają ładowanie wtyczek innych firm do InDesign bez konieczności podpisywania ich kodem. Jednakże, twórcy wtyczek zwykle rozpowszechniają wtyczki przez Internet za pomocą instalatorów (.pkg lub .dmg). Ponieważ Apple wykorzystuje w systemie macOS technologię Gatekeeper, wszelkie pliki binarne, które nie zostały uwierzytelnione wcześniej, zostają automatycznie poddawane kwarantannie, a instalatory wtyczek ulegają awarii podczas ich uruchamiania. Więcej szczegółów: InDesign i macOS 10.15 (Catalina). Stąd pojawia się potrzeba uwierzytelnionych instalatorów wtyczek / plików binarnych, nawet jeśli wtyczki InDesign nie wymagają uwierzytelniania ani podpisywania kodem.
Wymagania dotyczące uwierzytelniania
- Konto programisty Apple
- Xcode 10 lub nowszy
- Hasło specyficzne dla aplikacji. Oto instrukcje jak go wygenerować.
Proces generowania certyfikatu
- Wyślij żądanie certyfikatu (Menu dostępu do pęku kluczy > Asystent certyfikatu > Wyślij żądanie certyfikatu od instytucji certyfikacji)
- Zapisz plik .certSigningRequest na dysku.
- Zaloguj się na Portalu deweloperów Apple.
- Kliknij opcję Certyfikaty, identyfikatory i profile.
- Wybierz opcję ID aplikacji dewelopera, aby wygenerować nowy certyfikat.
- Prześlij plik .certSigningRequest z kroku 1 i zakończ proces. Pobierz zaprezentowany plik .cer na dysk.
- Wybierz opcję ID instalatora dewelopera i powtórz kroki 4-6.
- Prześlij ten sam plik .certSigningRequest z kroku 1 i zakończ proces. Pobierz zaprezentowany plik .cer na dysk.
- Kliknij dwukrotnie oba pobrane certyfikaty .cer wygenerowane z kroku 6 i 8, aby zaimportować je do pęku kluczy.
Kroki do przeprowadzenia uwierzytelnienia dla plików .pkg lub .dmg
W tym przykładzie użyto przykładowej wtyczki SDK.
# znak kodu .InDesignPlugin
codesign --sign "Developer ID Application: <nazwa dewelopera>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # weryfikacja znaku kodu
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # utwórz plik .pkg lub .dmg, dodając powyższy kod podpisany .InDesignPlugin do folderu package/installer
# podpisz instalatory (na przykład .dmg lub .pkg)
productsign --sign "Developer ID Installer: <nazwa dewelopera>" ./BasicDialog.pkg ./BasicDialogSigned.pkg # weryfikacja podpisu kodu
pkgutil --check-signature BasicDialogSigned.pkg # wyślij do procesu uwierzytelniania
xcrun altool --uwierzytelnienie aplikacji --primary-bundle-id "com.demo.plugin" --nazwa użytkownika "your-apple-id@xyz.com" --hasło"xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # sprawdź status uwierzytelnienia online (krok 6 powinien zawierać Żądanie UID)
xcrun altool --notarization-info <UID żądania> --username "twój-id-apple@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # podepnij uwierzytelniony plik do użytku offline
xcrun stapler staple BasicDialogSigned.pkg # sprawdź czy podpięty plik jest na miejscu
weryfikacja podpiętego pliku --verbose BasicDialogSigned.pkg