SponsorZgłoś
Blog

Podpisywanie i notaryzacja prostym językiem, dla osób robiących pierwszą aplikację na Mac

Przez Justinasa Rolando, twórcę MacPip

Krótka odpowiedź

Podpisywanie umieszcza twoje nazwisko na aplikacji i pokazuje, że się nie zmieniła. Notaryzacja wysyła ją do automatycznego skanu Apple. Stapling dołącza wynik, żeby dało się go sprawdzić offline. Robisz to w tej kolejności i na końcu, po ostatecznej wersji kompilacji.

Jeśli aplikację uruchamiało się tylko z Xcode, ta część wdrażania może wyglądać jak ściana certyfikatów. Idee są proste i jest ich tylko trzy. Pełne szczegóły z linkami do dokumentów Apple znajdziesz w co to jest notaryzacja na Mac. Ten wpis to wersja krótka dla twórców.

Trzy kroki

Jeśli sprzedajesz tylko przez Mac App Store, pomijasz dwa ostatnie kroki. Apple podpisuje aplikacje ze sklepu, a jego dokumentacja mówi, że proces sklepu ma równoważne kontrole bezpieczeństwa.

Co widzą użytkownicy, jeśli to pominiesz

Dostają ostrzeżenie. macOS mówi, że nie może zweryfikować aplikacji, a od macOS Sequoia Control-klik już nie pozwala tego obejść. Muszą wejść w Ustawienia systemowe i wybrać Otwórz mimo to. Niektórzy w tym momencie zrezygnują i nie mam im tego za złe. Co oznacza „Apple nie mógł zweryfikować” pokazuje to samo ostrzeżenie z ich strony, warto przeczytać raz.

Kolejność, która oszczędzi ci popołudnia

  1. Dokończ kompilację. Cokolwiek zmienisz po podpisaniu, psuje podpis.
  2. Najpierw podpisz zagnieżdżony kod, na przykład frameworki i pomocników, potem samą aplikację. Użyj hardened runtime i bezpiecznego znacznika czasu, bo notaryzacja wymaga obu.
  3. Jeśli tak dystrybuujesz, włóż to do DMG i podpisz także DMG.
  4. Wyślij przez notarytool. Apple mówi, że skanowanie zwykle trwa krócej niż godzinę.
  5. Czytaj log, nawet gdy jest sukces.
  6. Zastosuj stapling przez stapler.

Sprawdź własną kompilację

spctl -a -vv /Applications/YourApp.app
xcrun stapler validate /Applications/YourApp.app

Chcesz zobaczyć source=Notarized Developer ID w pierwszym, a komunikat o sukcesie w drugim. Wklej, co dostaniesz, do objaśnienia notaryzacji, a powie, co znaczy każda linia albo że czegoś nie rozpoznaje. Czyta tekst w twojej przeglądarce i nigdzie niczego nie wysyła.

Potem zrób test, który wychwyci najwięcej: pobierz własną kompilację przez przeglądarkę na innym Macu lub koncie użytkownika i ją otwórz. Lista kontrolna premiery zawiera ten i pozostałe kroki w kolejności.

Czego nie oznacza notaryzacja

Nie znaczy to, że dobra, prywatna albo bezpieczna. Znaczy to, że automatyczne skanowanie Apple nie znalazło niczego, co zna. Uważaj, by na swojej stronie nie obiecywać więcej. Jak poznać, czy aplikacja na Mac jest bezpieczna wyjaśnia, co każde sprawdzenie może, a czego nie może udowodnić, z punktu widzenia użytkownika.

Co MacPip z tym robi

MacPip prosi o podpisane i notaryzowane pliki do pobrania. Aplikacje open source są mile widziane bez tego, a ich raport to mówi. Niebieski ptaszek oznacza, że człowiek sprawdził aplikację w pokazanym dniu, a podpis i notaryzacja pojawiają się w raporcie tylko wtedy, gdy potwierdziliśmy je na pobranej kopii. To nie jest gwarancja bezpieczeństwa, a nasze zasady to mówią. Gdy twoja kompilacja będzie gotowa, możesz dodać ją za darmo.

Real listings to look at

Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.

Źródła

Czytaj dalej

Zgłoś twoją aplikacjęDarmowe narzędzia dla twórców