ICloud Keychain breaks login for iMessage and FaceTime

facetimeicloudkeychainmessagespassword

For about 6 months I have had problems with iCloud Keychain.

Every time I login with my iCloud account on a new computer (e.g. a Mac Pro at work and a brand new MBP 15" with touch bar) iMessage, FaceTime, and Handoff do not work.

It will not let me login to either FaceTime or iMessage. (and somehow, Handoff seems to be linked to this problem).

It displays this error:

Could not sign in to iMessage.

An error occurred during activation. Try again.

I have tried a bunch of things: rebooting, resetting PRAM/SMC, reformatting the hard drive, re-installing the OS, upgrading the OS over 6 months time, calling Apple support for 5 hours.

The only solution I've found after all of this are two keychain items:

ids: identity-rsa-private-key

ids: identity-rsa-public-key

If I delete these two keychain items, and reboot the system, I can login for one session. As soon as I log-out, or reboot the computer, it kicks me out again.

If I create a new User on the machine, and do not enable iCloud Keychain sync in the iCloud settings, everything works fine. I can login to iMessage and FaceTime. As soon as I sync iCloud Keychain, everything breaks once the machine is rebooted or I logout. At which point, you either have to continue deleting the keychain items above, or delete the entire user and start over without syncing iCloud Keychain.

I can probably live without iCloud Keychain. I haven't used 1Password yet, but I'm sure it's awesome. My hesitation is that there are other things stored in iCloud Keychain, like Apple Pay, which would be nice to sync. I feel like iCloud Keychain will only become more important as all of my devices become more connected in the coming years.

Any ideas on how to fix iCloud Keychain from doing this? Thanks for your help!

Best Answer

I finally found a solution.

The iCloud Keychain had several system keychain items. These items were not supposed to be in the iCloud Keychain and were overriding the "login" Keychain items whenever I would request login to Messages or FaceTime.

I found the error by comparing my Keychain to a friend's laptop. I deleted everything from iCloud Keychain that was not in my friend's Keychain. (Well, anything that started with com.apple or ids.) (I left web page passwords.)

Once these deletions synced across devices, and I rebooted each machine, everything works perfectly.