쉘 스크립트를 사용하여 일치하는 모든 인증서를 삭제하십시오.
다음을 사용하여 인증서 목록을 찾았습니다.
security find-certificate -c "certificatename" -a -Z|grep SHA-1|awk '{ print $NF }'
출력은 다음과 같습니다:
$ bash delete-cert.sh
62D58774F9329FA1F96A2BB0C090130305B879ED
94B149CFDF32BDB1C9C28179FB586291167EC235
이제 모든 해시에 대해 삭제 명령을 실행하고 싶습니다 SHA-1
. 어떻게 해야 합니까?
sudo security delete-certificate -Z hash
나는 이걸했다,
hashes=$(security find-certificate -c "certificatename" -a -Z|grep SHA-1|awk '{ print $NF }')
for hash in $hashes; do
echo deleting $hash
sudo security delete-certificate -Z $hash
done
하지만 나는 #chaos에 대한 한 줄 솔루션을 좋아합니다
답변1
이것을 사용하십시오 :
security find-certificate -c "certificatename" -a -Z | \
sudo awk '/SHA-1/{system("security delete-certificate -Z "$NF)}'
awk
그런 다음 문자열이 검색 sudo
되고 해시 를 인수로 사용하여 명령이 호출됩니다 . 비밀번호는 한 번만 입력하면 됩니다 .awk
SHA-1
security delete-certificate
sudo