Apple System Keychain에서 많은 시스템 루트를 제거하려면 어떻게합니까? 한 번에 하나씩 만 비활성화 할

Apple 키 체인 응용 프로그램은 시스템 루트를 제거 할 수 없으며 비활성화 할 수만 있습니다. 한 번에 하나씩 만 비활성화 할 수 있습니다. 각각에 대해 3 개의 UI 패널을 통해 암호를 입력해야합니다. 이것을 자동화하거나 한꺼번에 수행하는 방법이 있습니까? 나는 애플이 현재 선택한 시스템 루트를 좋아하지 않는다.



답변

시도하기 전에 키 체인을 백업하십시오.

루트 인증서 나열 :

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

덤프에서 제거하려는 인증서의 이름 또는 SHA-1 해시 값을 찾아서 적어 두십시오.

이제 security delete-certificate명령을 사용하여 해당 루트 인증서를 삭제할 수 있습니다 .

사용법 : delete-certificate [-c name] [-Z hash] [-t] [keychain …]

-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


답변

감사합니다! -c 옵션으로 저를 위해 일했습니다. Keychain.app에서 루트 인증서의 이름을 찾은 다음 sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain
해당 인증서를 사용하여 Keychain.app를 열어 놓으면 터미널에서 명령을 실행할 때 즉시 삭제됩니다.


답변

해시에 의한 삭제 인증서를 가진 루트의 불신이 끊어졌습니다. 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


답변

  1. Open Keychain Access 앱 (/ Applications / Utilities / Keychain Access.app)
  2. 키 체인에서 시스템 루트 선택
  3. 카테고리에서 인증서 선택
  4. 만료 된 인증서 이름을 검색하십시오.
  5. 인증서를 마우스 오른쪽 버튼으로 클릭 한 후 “삭제”를 선택하십시오.
  6. 시스템 관리자 비밀번호를 입력하십시오

답변