L'application Trousseau d'Apple ne vous permettra pas de supprimer les racines du système, elle vous permettra seulement de les désactiver. Elle ne vous permettra de les désactiver qu'une par une. Pour chacune d'entre elles, vous devez passer par 3 panneaux d'interface utilisateur et taper votre mot de passe. Existe-t-il un moyen d'automatiser cette opération ou de la faire en une seule fois ? Je n'aime pas la sélection actuelle de racines système d'Apple.
Réponses
Trop de publicités?Sauvegarde du trousseau de clés avant d'essayer quoi que ce soit.
Liste des certificats racine :
sudo security dump-keychain /System/Library/Keychains/SystemRootCertificates.keychain
Il suffit de rechercher dans une décharge les noms ou les valeurs de hachage SHA-1 des certificats dont vous voulez vous débarrasser et de les noter.
Maintenant, vous pouvez supprimer ces certificats racine en utilisant security delete-certificate
commandement.
Utilisation : 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
trouvée dans son nom commun, ou par son hachage SHA-1. Si aucun trousseau de clés n'est spécifié pour la recherche, la liste de recherche par défaut est utilisée.
Par exemple, vous pouvez supprimer les certificats racine chinois en utilisant cette commande :
sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain
Merci ! Cela a fonctionné pour moi avec l'option -c. Trouver le nom du certificat racine dans Keychain.app, puis sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain
Si vous gardez Keychain.app ouvert avec ce certificat en vue, vous remarquez qu'il est immédiatement supprimé lorsque vous exécutez la commande dans le terminal.
La méfiance d'une racine avec delete-certificate by hash est rompue : sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychain
Cela échoue toujours avec : "security : SecKeychainItemDelete : UNIX [Opération non autorisée]" même si le certificat référencé est présent.
Voici une solution de contournement tirée d'une conférence à DEFCON24.
Au lieu de cela, enregistrez le certificat racine comme un fichier cer et utilisez-le : security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer
- Ouvrir l'application Keychain Access (/Applications/Utilities/Keychain Access.app)
- Sélectionnez Racines du système dans les trousseaux de clés
- Sélectionnez les certificats dans la catégorie
- Recherche du nom du certificat expiré
- Faites un clic droit sur le certificat puis sélectionnez "Supprimer".
- Entrer le mot de passe administrateur système