Як видалити багато системних коренів з Apple Key Keyin?


14

Додаток Apple keychain не дозволить вам видаляти системні коріння, він лише дозволить вимкнути їх. Це дозволить лише вимкнути їх по черзі. Для кожної з них потрібно пройти 3 панелі інтерфейсу та ввести свій пароль. Чи є спосіб або автоматизувати це, або зробити все це відразу? Мені не подобається поточний вибір системних коренів Apple.


Я не можу дати вам відповідь / рішення, але я можу запропонувати вам переосмислити це. Що ви сподіваєтеся досягти / Яка ваша мета? Які переваги цього робити? Які недоліки цього робити? Якщо справа лише в тому, щоб хотіти почистити брелок, я забуду. Зміна будь-якого стосунку до "системи" може призвести до проблем, і, як правило, не рекомендується. Це одна з таких ситуацій, "якщо вона не зламалася, не виправляйте".
modelmac

5
Моя мета - видалити надійні корені з організацій, яким я не довіряю. Я не довіряю уряду Китаю. Я не вірю компрометованим сертам з Нідерландів. Я не довіряю сертифікатам від цілого ряду інших організацій. Я не хочу їх. Чому я повинен довіряти всім цим організаціям? Я не.
vy32

3
Я хочу знайти / розробити хороший перелік сертів, яким не довіряти, та їх хеши, які були б корисні для недовіри їм. Мені здається гарною ідеєю недовіряти тим, кого регулярно не бачать поза спеціалізованими нішами. Можливо, у Netcraft є список широко використовуваних ЦО, розроблений за допомогою їх опитування, щоб визначити, які широко використовуються. Б'юсь об заклад, що з близько десятка ЦА я маю 500 найпопулярніших сайтів і всі сайти, які я відвідую регулярно. vy32, мені цікаво, якщо у вас є список сертифікатів, яким ви вирішили не довіряти, і чому ви вибрали їх. Ви можете поділитися? Також,
MrE

Як дізнатися, який сертифікат належить до якої програми?
Рускес

Сертифікати не належать до додатків. Вони належать до системи.
vy32

Відповіді:


13

Резервне копіювання брелока, перш ніж щось намагатися.

Лістинг кореневих сертифікатів:

sudo security dump-keychain /System/Library/Keychains/SystemRootCertificates.keychain

Просто подивіться на дамп назви або сертифікати хеш-значень SHA-1, яких ви хочете позбутися, і запишіть їх.

Тепер ви можете видалити ці кореневі сертифікати за допомогою security delete-certificateкоманди.

Використання: delete-сертифікат [-c ім'я] [-Z хеш] [-t] [брелок ...]

-c  Specify certificate to delete by its common name
-Z  Specify certificate to delete by its SHA-1 hash value
-t  Also delete user trust settings for this certificate The certificate to be deleted must be uniquely specified either by a

рядок, знайдений у загальній назві, або в хеші SHA-1. Якщо для пошуку не вказані брелки, використовується список пошуку за замовчуванням.

Наприклад, ви можете видалити китайські кореневі сертифікати за допомогою цієї команди:

sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain

3
Коли список кореневих сертифікатів скидається під який атрибут, я можу знайти хеш-значення SHA-1?
BrightIntelDusk

1
@BrightIntelDusk ви можете скористатись такою командою:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter

1

Дякую! Працював для мене з опцією -c. Знайдіть ім'я кореневого сертифіката в Keychain.app, а потім, sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain якщо ви тримаєте Keychain.app відкритим із цим сертифікатом у полі перегляду, ви помітите, що він негайно видаляється при виконанні команди в терміналі.


0

Порушення недовіри до кореня до видалення сертифікату за допомогою хеша: sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainЦе завжди не вдається: "безпека: SecKeychainItemDelete: UNIX [Операція не дозволена]", навіть якщо цей посилається сертифікат присутній.

Ось підхід із розмови на DEFCON24.

Замість цього збережіть кореневий сертифікат як файл cer та скористайтеся: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer


0
  1. Відкрити додаток Keychain Access (/ Програми / Утиліти / Keychain Access.app)
  2. Виберіть Системні корені в брелоках
  3. Виберіть Сертифікати в категорії
  4. Знайдіть ім'я сертифікату з минулим терміном дії
  5. Клацніть правою кнопкою миші сертифікат, потім виберіть "Видалити"
  6. Введіть пароль адміністратора системи

Це більше не працює, оскільки el capitan завдяки захисту цілісності системи. Однак ви можете не довіряти.
Antzi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.