Apple 키 체인 응용 프로그램은 시스템 루트를 제거 할 수 없으며 비활성화 할 수만 있습니다. 한 번에 하나씩 만 비활성화 할 수 있습니다. 각각에 대해 3 개의 UI 패널을 통해 암호를 입력해야합니다. 이것을 자동화하거나 한꺼번에 수행하는 방법이 있습니까? 나는 애플이 현재 선택한 시스템 루트를 좋아하지 않는다.
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
sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
해시에 의한 삭제 인증서를 가진 루트의 불신이 끊어졌습니다. 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