СпонсорПодати
Блог

Підпис і нотаризація простими словами для тих, хто створює перший застосунок для Mac

Від Justinas Rolando, розробника MacPip

Коротка відповідь

Підписування ставить ваше ім’я на застосунок і показує, що він не змінювався. Нотаризація надсилає його на автоматичне сканування Apple. Stapling прикріплює результат, тож його можна перевірити офлайн. Виконуйте це в такому порядку і наприкінці, коли збірка вже остаточна.

Якщо ви ніколи не запускали свій застосунок інакше, ніж з Xcode, ця частина випуску може здаватися стіною сертифікатів. Ідеї прості, їх усього три. Щоб отримати всі деталі з посиланнями на документи Apple, прочитайте що таке нотаризація на Mac. Цей допис є коротким варіантом для розробників.

Три кроки

Якщо ви продаєте лише через Mac App Store, два останні кроки пропускаєте. Apple підписує застосунки з магазину, і її документація каже, що процес магазину має еквівалентні перевірки безпеки.

Що бачать ваші користувачі, якщо ви це пропустите

Вони отримують попередження. macOS каже, що не може перевірити застосунок, і починаючи з macOS Sequoia Control-клік більше не допомагає його обійти. Їм доводиться йти в Системні налаштування і обрати «Відкрити все одно». Дехто на цьому етапі здасться, і я їх не звинувачую. Що означає «Apple не може перевірити» показує те саме попередження з їхнього боку, і це варто прочитати один раз.

Порядок, який заощадить вам півдня

  1. Завершіть збірку. Будь-яка зміна після підписування ламає підпис.
  2. Спершу підпишіть вкладений код, наприклад фреймворки і допоміжні компоненти, а потім сам застосунок. Використовуйте hardened runtime і безпечну позначку часу, бо нотаризація вимагає обох.
  3. Упакуйте в DMG, якщо так ви розповсюджуєте, і підпишіть і його.
  4. Надішліть через notarytool. Apple каже, що сканування зазвичай триває менше години.
  5. Читайте журнал, навіть коли все добре.
  6. Виконайте stapling за допомогою stapler.

Перевірте власну збірку

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

Вам потрібен source=Notarized Developer ID з першої команди і повідомлення про успіх з другої. Вставте все, що отримаєте, у пояснення про нотаризацію, і воно скаже, що означає кожен рядок, або попередить, якщо щось не розпізнає. Воно обробляє текст у вашому браузері і нікуди нічого не надсилає.

Потім зробіть тест, який виявляє найбільше: завантажте власну збірку через браузер на іншому Mac або в іншому обліковому записі і відкрийте її. Контрольний список запуску містить це та інші кроки в порядку.

Чого не означає «нотаризовано»

Це не означає, що застосунок добрий, приватний або безпечний. Це означає, що автоматичне сканування Apple не знайшло нічого, що їй відомо. Будьте обережні і не обіцяйте на своєму сайті більшого. Як визначити, чи безпечний застосунок для Mac пояснює, що може і чого не може довести кожна перевірка, з погляду користувача.

Що MacPip робить із цим

MacPip просить підписані та нотаризовані завантаження. Застосунки з відкритим кодом вітаються і без цього, і їхній звіт про це каже. Синя галочка означає, що людина перевірила застосунок у зазначену дату, а підпис і нотаризація з’являються у звіті лише тоді, коли ми перевірили їх на завантаженій копії. Це не гарантія безпеки, і про це говорять наші правила. Коли збірка буде готова, ви можете додати її безкоштовно.

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.

Джерела

Читайте далі

Подайте свій застосунокБезкоштовні інструменти для розробників