Підписання спеціального коду
Для третіх додатків і двійкових файлів, які ви збираєте самостійно, і для яких потрібен підпис коду, використовуйте спеціальний підпис коду .
- Я припускаю, що додаток не працюватиме без підпису;
- Я припускаю, що програма не поширюватиметься;
- Я припускаю, що вам не байдуже, що особа підпису є дійсною.
Спеціальний підпис не забезпечує надійних переваг для безпеки. З його допомогою можна визначити, чи змінено програму, і з її допомогою можна застосувати обмеження безпеки, такі як права, до програми.
Спеціальний підпис підтверджує, codesign
але ні spctl
. Це може не мати значення, залежно від підписаного двійкового файлу. Для програм та виконуваних файлів це навряд чи має значення, оскільки spctl
не працює на локально створених бінарних файлах.
Чому кодовий знак?
Щодо уточненого питання:
Як мені поводитися з непідписаним вихідним кодом, який я складаю сам, оскільки я не очікую, що вкладники завжди зможуть підписати свій код або пам’ятають про них, особливо якщо мова йде про крихітні внески у проекти з відкритим кодом з багатьма внесками.
У більшості самостійно складених програм немає необхідності в підписанні коду. Це передбачає, що ви довіряєте коду програми. На macOS ви можете відкрити непідвладні додатки з Finder, див. Відкриття програми Apple від невстановленого розробника .
Якщо ви не довіряєте коду чи розробникам, не збирайте та не запускайте програму.
Ваша відповідальність
Постачальник вихідного коду не несе відповідальності чи зобов'язання надавати попередньо вбудовані бінарні файли, підписані кодом. Будучи самостійно складеним, усі підписи коду - це ваш вибір і відповідальність.
Компанія Apple вимагає підписи в своїх магазинах додатків для підпису коду.
Apple запитує розробників за межами своїх магазинів додатків, підписуючи їх код, але це ще не потрібно.
В обох випадках підписуються лише кінцеві бінарні файли. Оригінальний вихідний код та ресурси не підписані.
Вихідний код не підписаний
Сам вихідний код не може бути підписаний кодом змістовно для macOS. Вихідні файли та код можуть бути підписані в цифровому форматі, як і будь-який інший файл, але це не впливає на те, як макрос обробляє отриману програму або бінарний файл.
Як підписати спеціальний код Підписати заявку на Mac
Щоб кодувати дизайн програми на macOS із спеціальним підписом, встановіть -s
прапор ідентичності -
:
codesign --force -s - </path/to/application>
Усі інші правила, вимоги та перестановки codesign
команди залишаються тими ж.
Тут --force
використовується прапор для заміни будь-якого наявного підпису.
Можливо, вам потрібно буде додати --deep
прапор до codesign
команди для підписання субресурсів, таких як фреймворки та вбудовані служби.