Search code examples
xcodekeychained25519sparklekey-rotation

Transfer Sparkle Updater private key signature EdDSA (ed25519) to new computer


I have an XCode 12.4 Swift project that I have been distributing since 2 years. I'm using the Sparkle-Project updating mechanism. macOS 10.15.7 I want to slowly migrate to a new Mac, XCode 13.4, macOS 12.6.5.

I'm having problems transferring my Sparkle private key signature EdDSA (ed25519). I can't export the key from Keychain, the option is greyed out. This user had similar issues: Sparkle Integration with security in mac app cocoa

I think that using a new key signature with Sparkle's generate_keys tool will render my XCode project unusable until I have it up and running on the new machine.

Is there a way to export or transfer the key?

Sparkle documentation mentions key rotation but I don't understand what that means.


Solution

  • Please try the following:

    • On the old Mac open Keychain.app.
    • Create a new custom keychain with ⌥⌘N.
    • Copy the keys and items you need with ⌘C/⌘V to the new created keychain.
    • Quit Keychain.app, goto ~/Library/Keychains (~ is your home folder) and copy the file with the name of the new keychain to the same location on the new computer.
    • On the new computer open Keychain.app.
    • If the custom keychain does not appear add it with ⇧⌘A.
    • Copy the items to the Login keychain.
    • Delete both custom keychains on both machines.