J'ai retracé le problème jusqu'à une poignée de main TLS (merci à jonnydigitol ci-dessous pour l'idée!) Et un total de 63 paquets entre l'hôte et 23.211.148.217, qui est init.iTunes.apple.com - qui est exécuté au démarrage d'iTunes. . Une fois cette prise de contact terminée, tout va bien et vous pouvez utiliser iTunes. Mais vous devez tunneler le trafic vers cet hôte au démarrage, sinon vous obtenez l'erreur avec chaque changement de morceau alors qu'iTunes essaie et essaie de se connecter à init.iTunes et affiche une fenêtre d'erreur.
Considérez la réponse ci-dessous par jonnydigitol - vous pouvez vous connecter via Internet par téléphone mobile ou un tunnel à init.iTunes.apple.com, démarrer iTunes et ne jamais l'éteindre - alors il continue de fonctionner sans connexion Internet "à l'infini".
Comment vraiment «résoudre» le problème en installant votre propre serveur Web sur localhost qui répond au ping:
(Vérifiez que votre iTunes est à jour, il y a peut-être déjà un correctif)
Ouvrez Applications-> Utilitaires-> Terminal et entrez les lignes suivantes
Si vous n'avez pas installé homebrew, faites d'abord ceci:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Assurez-vous que openssl et node.js sont installés
brew install openssl node wget
Pour rediriger init.apple.itunes.com vers local
echo '127.0.0.1 init.iTunes.apple.com' | sudo tee -a /etc/hosts
Vous devrez donner votre mot de passe. Ensuite, créez et enregistrez votre propre certificat racine.
openssl genrsa -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048
Entrez la phrase de passe que vous aimez
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Saisissez votre phrase de passe. Laissez toutes les lignes vides sauf
Nom commun (par exemple nom de domaine complet du serveur ou VOTRE nom) []: init.itunes.apple.com
Et la même chose encore une fois (même phrase secrète, même nom commun)
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" device.crt
Notez la réponse et démarrez votre propre serveur https qui prend le ping
wget -O response.xml "https://itunes.apple.com/WebObjects/MZStore.woa/wa/initiateSession?ix=1"
echo "var t=require('tls');var f=require('fs');var xmlresp = f.readFileSync('response.xml');var options = {key:f.readFileSync('device.key'),cert:f.readFileSync('device.crt')};var server=t.createServer(options, function (request,response) {request.on('data', function (chunk) {request.write(xmlresp);});});server.listen(443, function() {});" > ims.js
sudo node ims.js
Laissez le terminal ouvert ou réduisez-le, ouvrez Safari
Accédez à https://init.itunes.apple.com
Si vous recevez un avertissement de certificat de confiance, changez la politique en "toujours confiance". Si la page se charge inutilement, tout va bien.
Ouvrez iTunes. L'erreur devrait avoir disparu.
Pour l'avenir, si vous souhaitez utiliser iTunes, ouvrez un terminal et exécutez
sudo node ims.js
Démarrez ensuite iTunes.
Vous pouvez également revenir à une version antérieure.
J'avais abandonné le problème, soumis un rapport de bogue à Apple et, après avoir rien entendu d'eux, je suis revenu à l'iTunes précédent et reconstruit par la bibliothèque complète en une heure. Tout fonctionne à nouveau maintenant, mais je suis vraiment déçu par Apple ici. Je ne suis pas (encore) habitué à ce qu'ils publient un mauvais code.
La seule issue pour moi était d'utiliser Pacifist pour déballer un ancien paquet iTunes que j'ai téléchargé d'Apple et extraire l'application, puis reconstruire la bibliothèque iTunes complète (qui est ÉNORME). C'est une sorte de piratage auquel j'avais l'habitude d'être parfois nécessaire sur les systèmes Windows, mais je ne me souviens pas avoir dû faire une telle chose sur OSX. Jusqu'à maintenant. Quelle est la prochaine étape, démonter?
Apple, vous avez un problème de qualité logicielle. Juste mes 2 cents.
Actualités - Apple a traité mon rapport de bogue et lui a attribué le statut "doublon de 29741441 (OUVERT)".