Làm cách nào để xóa nhiều gốc hệ thống khỏi Apple System Keychain?


14

Ứng dụng móc khóa của Apple sẽ không cho phép bạn xóa gốc hệ thống, nó sẽ chỉ cho phép bạn vô hiệu hóa chúng. Nó sẽ chỉ cho phép bạn vô hiệu hóa chúng cùng một lúc. Đối với mỗi một, bạn cần phải đi qua 3 bảng UI và nhập mật khẩu của bạn. Có cách nào để tự động hóa cái này hoặc làm tất cả cùng một lúc không? Tôi không thích lựa chọn hệ thống gốc của Apple.


Tôi không thể cho bạn câu trả lời / giải pháp, nhưng tôi có thể đề nghị bạn nghĩ lại điều này. Bạn hy vọng đạt được điều gì / Mục tiêu của bạn là gì? Những lợi thế của việc này là gì? Những bất lợi của việc này là gì? Nếu đó chỉ là vấn đề muốn dọn dẹp Keychain, tôi sẽ quên nó đi. Việc thay đổi BẤT CỨ việc xử lý "hệ thống" có thể dẫn đến các vấn đề và thường không được khuyến khích. Đó là một trong những tình huống "nếu nó không bị hỏng, đừng sửa nó".
modelamac

5
Mục tiêu của tôi là loại bỏ nguồn gốc đáng tin cậy khỏi các tổ chức mà tôi không tin tưởng. Tôi không tin tưởng chính phủ Trung Quốc. Tôi không tin tưởng các certs bị xâm nhập từ Hà Lan. Tôi không tin tưởng certs từ một loạt các tổ chức khác. Tôi không muốn họ. Tại sao tôi nên tin tưởng tất cả các tổ chức đó? Tôi không.
vy32

3
Tôi đang tìm kiếm / phát triển một danh sách tốt các loại certs không tin tưởng, và băm của chúng, sẽ hữu ích cho việc không tin tưởng chúng. Dường như với tôi như một ý tưởng tốt để không tin tưởng những người không được nhìn thấy thường xuyên bên ngoài những ngóc ngách chuyên biệt. Có thể netcraft có một danh sách các CA được sử dụng rộng rãi được phát triển thông qua khảo sát của họ để xác định những CA được sử dụng rộng rãi. Tôi cá rằng với khoảng một chục CA, tôi có 500 trang web hàng đầu và tất cả các trang web tôi truy cập thường xuyên được bảo hiểm. vy32, tôi tò mò nếu bạn có danh sách các certs bạn quyết định không tin tưởng, và tại sao bạn chọn chúng. Bạn có thể chia sẻ? Ngoài ra,
MrE

Làm thế nào để bạn tìm ra chứng chỉ thuộc về ứng dụng nào?
Ruskes

Chứng chỉ không thuộc về các ứng dụng. Họ thuộc về hệ thống.
vy32

Câu trả lời:


13

Sao lưu móc khóa trước khi thử bất cứ điều gì.

Liệt kê chứng chỉ gốc:

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

Chỉ cần tìm trong một bãi chứa tên hoặc giá trị băm SHA-1 của chứng chỉ mà bạn muốn loại bỏ và viết chúng xuống.

Bây giờ bạn có thể xóa chứng chỉ gốc bằng cách sử dụng security delete-certificatelệnh.

Cách sử dụng: xóa chứng chỉ [tên -c] [băm -Z] [-t] [móc khóa ...]

-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

chuỗi được tìm thấy trong tên chung của nó, hoặc bằng hàm băm SHA-1 của nó. Nếu không có móc khóa nào được chỉ định để tìm kiếm, danh sách tìm kiếm mặc định sẽ được sử dụng.

Ví dụ: bạn có thể xóa chứng chỉ gốc tiếng Trung bằng lệnh này:

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

3
Khi danh sách chứng chỉ gốc bị đổ theo thuộc tính nào tôi sẽ tìm thấy giá trị băm SHA-1?
BrightIntelDusk

1
@BrightIntelDusk bạn có thể sử dụng lệnh sau:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter

1

Cảm ơn bạn! Làm việc cho tôi với tùy chọn -c. Tìm tên của chứng chỉ gốc trong Keychain.app, sau đó sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain Nếu bạn giữ cho Keychain.app mở với chứng chỉ đó trong chế độ xem, bạn sẽ thấy nó bị xóa ngay lập tức khi thực hiện lệnh trong terminal.


0

Không tin tưởng quyền root với chứng chỉ xóa bởi hàm băm bị hỏng: sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainĐiều này luôn thất bại với: Bảo mật của người dùng: SecKeychainItemDelete: UNIX [Không được phép hoạt động] ngay cả khi chứng chỉ được tham chiếu này xuất hiện.

Đây là một cách giải quyết từ một cuộc nói chuyện tại DEFCON24.

Thay vào đó hãy lưu chứng chỉ gốc dưới dạng tệp cer và sử dụng: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer


0
  1. Mở ứng dụng Keychain Access (/ Ứng dụng / Tiện ích / Keychain Access.app)
  2. Chọn System Roots trong móc khóa
  3. Chọn Chứng chỉ trong danh mục
  4. Tìm kiếm tên chứng chỉ đã hết hạn
  5. Nhấp chuột phải vào chứng chỉ, sau đó chọn "Xóa"
  6. Nhập mật khẩu quản trị hệ thống

Điều này không hoạt động nữa vì el capitan do bảo vệ toàn vẹn hệ thống. Tuy nhiên bạn có thể chọn không tin tưởng.
Antzi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.