Bagaimana cara menghapus banyak root sistem dari Apple System Keychain?

14

Aplikasi gantungan kunci Apple tidak akan membiarkan Anda menghapus root sistem, itu hanya akan memungkinkan Anda untuk menonaktifkannya. Ini hanya akan memungkinkan Anda untuk menonaktifkannya satu per satu. Untuk masing-masing, Anda harus melalui 3 panel UI dan mengetik kata sandi Anda. Apakah ada cara untuk mengotomatisasi ini atau melakukan semuanya sekaligus? Saya tidak suka pilihan root sistem Apple saat ini.

ay32
sumber
Saya tidak bisa memberi Anda jawaban / solusi, tetapi saya dapat menyarankan Anda untuk memikirkan kembali ini. Apa yang ingin Anda capai / Apa tujuan Anda? Apa keuntungan melakukan ini? Apa kerugian dari melakukan ini? Jika hanya masalah ingin membersihkan Keychain, saya akan melupakannya. Mengubah APA SAJA yang berurusan dengan "sistem" dapat menyebabkan masalah, dan umumnya tidak disarankan. Ini adalah salah satu situasi "jika tidak rusak, jangan perbaiki".
modelamac
5
Tujuan saya adalah menghilangkan akar tepercaya dari organisasi yang tidak saya percayai. Saya tidak mempercayai pemerintah China. Saya tidak percaya sertifikat yang disusupi dari Belanda. Saya tidak percaya sertifikat dari sejumlah besar organisasi lain. Saya tidak menginginkan mereka. Mengapa saya harus memercayai semua organisasi itu? Bukan saya.
vy32
3
Saya mencari / mengembangkan daftar sertifikat yang baik untuk tidak percaya, dan hash mereka, yang akan berguna untuk tidak mempercayai mereka. Bagiku itu ide yang bagus untuk tidak mempercayai yang tidak terlihat secara teratur di luar relung khusus. Mungkin netcraft memiliki daftar CA yang banyak digunakan yang dikembangkan melalui survei mereka untuk menentukan mana yang banyak digunakan. Saya bertaruh bahwa dengan sekitar selusin CA, saya akan memiliki 500 situs teratas dan semua situs yang saya kunjungi secara teratur. vy32, saya ingin tahu apakah Anda memiliki daftar sertifikat yang Anda putuskan untuk tidak dipercayai, dan mengapa Anda memilihnya. Bisakah kamu berbagi? Juga,
MrE
Bagaimana Anda mengetahui sertifikat mana yang termasuk dalam aplikasi mana?
Ruskes
Sertifikat bukan milik aplikasi. Mereka termasuk dalam sistem.
vy32

Jawaban:

13

Buat cadangan gantungan kunci sebelum mencoba apa pun.

Mendaftar sertifikat root:

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

Lihat saja di dump untuk nama atau nilai hash sertifikat SHA-1 yang ingin Anda singkirkan dan catat.

Sekarang Anda dapat menghapus sertifikat root menggunakan security delete-certificateperintah.

Penggunaan: hapus-sertifikat [-c nama] [-Z hash] [-t] [gantungan kunci ...]

-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

string ditemukan pada nama umumnya, atau dengan hash SHA-1-nya. Jika tidak ada gantungan kunci yang ditentukan untuk pencarian, daftar pencarian standar digunakan.

Misalnya, Anda dapat menghapus sertifikat root Cina menggunakan perintah ini:

sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain
Alex Bolotov
sumber
3
Ketika daftar sertifikat root dibuang di bawah atribut apa yang harus saya temukan nilai hash SHA-1?
BrightIntelDusk
1
@BrightIntelDusk Anda dapat menggunakan perintah berikut:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter
1

Terima kasih! Bekerja untuk saya dengan opsi -c. Temukan nama sertifikat root di Keychain.app, kemudian sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain Jika Anda tetap membuka Keychain.app dengan sertifikat itu dalam pandangan, Anda melihat itu segera menghapus ketika menjalankan perintah di terminal.

Bolle
sumber
0

Ketidakpercayaan pada root dengan hapus-sertifikat oleh hash rusak: sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainIni selalu gagal dengan: "keamanan: SecKeychainItemDelete: UNIX [Operasi tidak diizinkan]" bahkan jika sertifikat yang direferensikan ini hadir.

Berikut adalah solusi dari pembicaraan di DEFCON24.

Alih-alih menyimpan sertifikat root sebagai file cer dan gunakan: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer

cl0kd
sumber
0
  1. Buka aplikasi Keychain Akses (/ Aplikasi / Utilitas / Keychain Access.app)
  2. Pilih System Roots di gantungan kunci
  3. Pilih Sertifikat dalam kategori
  4. Cari nama sertifikat yang sudah kadaluwarsa
  5. Klik kanan pada sertifikat lalu pilih "Hapus"
  6. Masukkan kata sandi admin sistem
P Anandhakumar
sumber
Ini tidak berfungsi lagi sejak el capitan karena perlindungan integritas sistem. Namun Anda dapat memilih untuk tidak percaya.
Antzi