Firmware Keys

"Firmware keys" are the keys which decrypt the bootloaders, ramdisks, root filesystem, and more of an iPhone OS, iOS, iPadOS, watchOS, or tvOS firmware.


With the release of the iPhone came the IMG2 format and its container, the 8900 file. They were used on all iPhone OS 1.x firmwares. Initially, only the kernelcache, iBoot, and WTF were encrypted, but beginning with iPhone OS 1.1, all files were encrypted. However, the biggest flaw of these formats was the use of a global key that would decrypt them all.

Following IMG2 came the IMG3 file format. They were introduced with iPhone OS 2.0 beta 4, and were used on all 32-bit devices. IMG3 improved over the 8900/IMG2 combo by being encrypted in a way that does not rely on a "global key," but instead requiring the use of the model's unique key stored inside the processor.

With the introduction of 64-bit processors, beginning with the iPhone 5s (running on the S5L8960), Apple changed the format once again. This time, they introduced the IMG4 file format. Contrary to the 8900, IMG2, and IMG3 file formats where a custom binary format was used, IMG4 files are nothing more than DER encoded ASN.1 files.

Root Filesystem

Unlike practically every other firmware file in an IPSW, the root filesystem is different; It has never used the 8900, IMG2, IMG3, or IMG4 file formats. Instead, encrypted root filesystems are actually FileVault volumes; Unencrypted filesystems are Apple Disk Image (DMG) files.


This is a full and comprehensive list of all firmwares that Apple has made available to the public in some way, be it the Developer Center, iTunes, OTA updates, etc. This list also includes firmwares for which there was (as can be told) never an IPSW, such as iOS 4.2.5 for the CDMA iPhone 4 (iPhone3,3). These builds came preinstalled on the device, but were (as can be told) never available for download, and as such, will not have any keys available.

Note that this does not include firmwares discovered on prototype devices. Those were not released to the public.


As watchOS uses a different versioning method, its firmware builds are listed separately.