V systému Catalina (macOS 10.15) se důrazně doporučuje notářsky ověřovat aplikace distribuované ve veřejné síti. Značné množství vývojářů přenáší své aplikace pomocí připojeného úložného zařízení nebo prostřednictvím sdílení souborů, v těchto případech, kdy uživatel již vývojáři důvěřuje, není notářská ověření vyžadována. Účelem notarizace je ujistit uživatele, že aplikace není škodlivá, a je vyžadována pouze u aplikací stažených z webových stránek.
Pokud při vytváření aplikací pomocí 4D v18 používáte naši vestavěnou funkci podpisu, je vaše aplikace připravena k notářskému ověření. Tento proces probíhá mimo systém 4D. Zahrnuje přidání elektronického podpisu k vaší žádosti a odeslání podepsané žádosti automatické kontrolní službě. Zde je vše, co potřebujete vědět:
Předpoklady:
Aplikace Xcode
Notářské ověření vyžaduje Xcode 10 nebo novější a macOS 10.13.6 nebo novější.
Pokud máte v počítači Mac nainstalováno více verzí Xcode, můžete si pomocí nástroje xcode-select vybrat vhodnou verzi:
sudo xcode-select -s /path/to/Xcode10.app
Dvoufaktorové ověřování
Na svém Apple ID musíte mít také aktivované dvoufaktorové ověřování.
Pokud si nejste jisti, zda jste dvoufaktorové ověřování nastavili, přihlaste se na stránku svého účtu Apple ID. V části Zabezpečení vyhledejte možnost dvoufaktorového ověřování a podívejte se, zda je funkce zapnutá nebo vypnutá.
Heslo specifické pro aplikaci altool
Nahrání aplikace k notářskému zápisu se provádí prostřednictvím rozhraní příkazového řádku pro zásuvný modul pro načítání aplikací s názvem altool, který je dodáván s Xcode.
Před notářským zápisem první aplikace je třeba vygenerovat heslo specifické pro aplikaci altool.
Přihlaste se na stránku svého účtu Apple ID. V části Zabezpečení klikněte na možnost „Generovat heslo“ pod možností „Hesla specifická pro aplikace“, zadejte požadovaný štítek s heslem a klikněte na tlačítko „Vytvořit“.
Nyní můžete heslo uložit jako položku klíčenky pomocí svého Apple ID a hesla specifického pro aplikaci:
security add-generic-password -a "<apple_id>" -w "<password>" -s "altool"
Podepisování aplikace pomocí 4D
Ve verzi 4D v18 byl vestavěný skript pro podepisování 4D aktualizován tak, aby splňoval všechny požadavky společnosti Apple na notářské ověření. 4D nyní provádí rekurzivní podepisování celého obsahu balíčku a k podpisu je připojeno bezpečné časové razítko. Je povoleno zabezpečené běhové prostředí a je k dispozici soubor s oprávněními. Aby nedošlo k omezení funkcí, jsou všechny schopnosti nastaveny na „true“.
Vytvoření archivu zip nebo obrazu dmg
Protože balíčky .app nelze přímo odeslat do notářské služby, je třeba vytvořit komprimovaný archiv obsahující podepsanou aplikaci:
/usr/bin/ditto -c -k --keepParent "<path_to_app>" "<path_to_zip_archive>"
Všimněte si, že místo archivu .zip můžete nahrát také obraz .dmg.
Nahrávání aplikace
Nyní můžete nahrát svou aplikaci k notářskému ověření pomocí následujícího příkazu:
xcrun altool --notarize-app --primary-bundle-id "<primary_bundle_identifier>" --username "<apple_id>" --password "@keychain:altool" --file path_to_zip_archive
Poznámka: jako primární identifikátor svazku můžete použít libovolný název, nesmí však obsahovat mezery, podtržítka ani nic jiného než písmena, číslice, pomlčky a tečky.
Pokud se odeslání podaří, vrátí se identifikátor UID požadavku. Uložte si jej pro pozdější použití při kontrole stavu žádosti o notářský zápis.
Kontrola stavu notářského zápisu
Proces notářského ověření může trvat až hodinu. Po jeho dokončení obdržíte e-mail s výsledkem.
Vzhledem k tomu, že společnost Apple zmírnila podmínky pro notarizaci až do ledna 2020, doporučujeme vám vyžádat si také podrobnou zprávu, abyste si ověřili, zda neobsahuje nějaká varování, která by mohla notarizaci po lednu 2020 zabránit.
Podrobnou zprávu si můžete vyžádat následujícím příkazem, který vrátí stav a adresu URL souboru protokolu:
xcrun altool --notarization-info <request_uid> -u "<apple_id>" -p "@keychain:altool"
Sešití lístku do žádosti
Abyste měli jistotu, že Gatekeeper ví, že vaše aplikace je notářsky ověřena (i když při prvním spuštění aplikace není k dispozici žádné síťové připojení), doporučujeme k aplikaci připojit lístek vytvořený notářskou kontrolou. Tento proces se nazývá „sešívání“.
Pokud jste k notářskému ověření použili archiv .zip, mějte na paměti, že nástroj sešívačky musí být spuštěn proti svazku .app původně přidanému do archivu .zip, protože archiv .zip nelze sešít. Pokud jste použili obraz .dmg, můžete sešít přímo obraz .dmg.
Sešívání se zpracovává následujícím příkazem:
xcrun stapler staple <your_app_or_dmg_file>
Jakmile je vše hotovo, můžete vytvořit nový archiv .zip obsahující sešívanou aplikaci pro distribuci.
Aktualizace
Nejnovější verze systému macOS (BigSur/xcode 12) mohou vyžadovat změny.
Společnost Apple nyní doporučuje registrovat heslo pomocí:
xcrun altool --store-password-in-keychain-item "altool" -u "<apple_id>" -p "password"
A pak už při nahrávání nebo kontrole aplikace nezadávat uživatelské jméno (apple_id) pomocí -u nebo –username.
Pro nejnovější aktualizace pro xcrun altool otevřete Terminál a zadejte:
xcrun altool --help