<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vasfed</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vasfed"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Vasfed"/>
	<updated>2026-06-13T20:08:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25651</id>
		<title>Activation Token</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25651"/>
		<updated>2012-05-13T20:47:38Z</updated>

		<summary type="html">&lt;p&gt;Vasfed: /* Layout of Activation Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Layout of Activation Token==&lt;br /&gt;
This is the [[wikipedia:Core Foundation|CFDictionary]] string representation which gets sent to Apple's server.The object can be obtained by using the [[MobileDevice Library]], AMDeviceCopyValue function with the &amp;quot;ActivationInfo&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
It is generated by [[lockdownd]]. Upon generation it stores ActivationRandomness in data ark and later checks it, thus only the last generated token it valid. SHA1 is generated in lockdown and then it makes a request to [[fairplayd]] to complete signature process and obtain certificate chain.&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded RSA certificate chain including root CA in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML, validated using FairPlayCertChain certificate)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Key: ActivationInfoXML===&lt;br /&gt;
The ActivationInfo plist file above has a key called ActivationInfoXML. The base64 data value of that key represents the plist file below&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRandomness&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(GUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRequiresActivationTicket&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationState&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;Unactivated&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BasebandMasterKeyHash&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;[[Baseband TEA Keys#Hardware Thumbprint Generation|BasebandThumbprint]]&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs not directly used as a key - the TEA key can be derived from this)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BuildVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;8A306&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceCertRequest&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64 encoded cert)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceClass&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String ENUM &amp;quot;iPhone&amp;quot;, &amp;quot;iPod&amp;quot;, &amp;quot;iPod touch&amp;quot;, &amp;quot;iPad&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;IntegratedCircuitCardIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ICCID as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileEquipmentIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMEI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileSubscriberIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMSI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ModelNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;MC135&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;PhoneNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String like &amp;quot;+1 (555) 555-5555&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductType&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;iPhone2,1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;4.0.1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID1)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID2&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID2)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SIMStatus&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ENUM kCTSIMSupportSIMStatusReady kCTSIMSupportSIMStatusNotReady kCTSIMSupportSIMStatusOperatorLocked)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SerialNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SupportsPostponement&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueChipID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;integer&amp;gt;...&amp;lt;/integer&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueDeviceID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(hex UUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
  &amp;lt;/plist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SIMGIDs and PhoneNumber are present only if installed SIM has them and it was read correctly.&lt;br /&gt;
&lt;br /&gt;
If ActivationState is not Unactivated or token signature is not correct, apple server will respond with message &amp;quot;there's probled with your device&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Activation Protocol==&lt;br /&gt;
Use SSL and send the request below with the values&lt;br /&gt;
 POST /WebObjects/ALUnbrick.woa/wa/deviceActivation HTTP/1.1&lt;br /&gt;
 Accept-Encoding: gzip&lt;br /&gt;
 Accept-Language: en-us, en;q=0.50&lt;br /&gt;
 Content-Type: multipart/form-data; boundary=DeviceActivation&lt;br /&gt;
 Content-Length: 1234&lt;br /&gt;
 Host: albert.apple.com&lt;br /&gt;
 Cache-Control: no-cache&lt;br /&gt;
 &lt;br /&gt;
 --DeviceActivation&lt;br /&gt;
 Content-Disposition: form-data; name=&amp;quot;activation-info&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded cert in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* [[User:posixninja|posixninja]]'s [http://github.com/posixninja/ideviceactivate iDeviceActivate]&lt;br /&gt;
* [[User:sn0wra1n|iSn0wra1n]]'s [http://github.com/iSn0wra1n/iActivator iActivator v2 for Windows]&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Vasfed</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25650</id>
		<title>Activation Token</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25650"/>
		<updated>2012-05-13T20:46:43Z</updated>

		<summary type="html">&lt;p&gt;Vasfed: /* Key: ActivationInfoXML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Layout of Activation Token==&lt;br /&gt;
This is the [[wikipedia:Core Foundation|CFDictionary]] string representation which gets sent to Apple's server.The object can be obtained by using the [[MobileDevice Library]], AMDeviceCopyValue function with the &amp;quot;ActivationInfo&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
It is generated by [[lockdownd]]. Upon generation it stores ActivationRandomness in data ark and later checks it, thus only the last generated token it valid. SHA1 is generated in lockdown and then it makes a request to [[fairplayd]] to complete signature process and obtain certificate chain.&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded SSL certificate chain including root CA in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML, validated using FairPlayCertChain certificate)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Key: ActivationInfoXML===&lt;br /&gt;
The ActivationInfo plist file above has a key called ActivationInfoXML. The base64 data value of that key represents the plist file below&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRandomness&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(GUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRequiresActivationTicket&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationState&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;Unactivated&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BasebandMasterKeyHash&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;[[Baseband TEA Keys#Hardware Thumbprint Generation|BasebandThumbprint]]&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs not directly used as a key - the TEA key can be derived from this)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BuildVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;8A306&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceCertRequest&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64 encoded cert)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceClass&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String ENUM &amp;quot;iPhone&amp;quot;, &amp;quot;iPod&amp;quot;, &amp;quot;iPod touch&amp;quot;, &amp;quot;iPad&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;IntegratedCircuitCardIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ICCID as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileEquipmentIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMEI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileSubscriberIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMSI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ModelNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;MC135&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;PhoneNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String like &amp;quot;+1 (555) 555-5555&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductType&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;iPhone2,1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;4.0.1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID1)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID2&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID2)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SIMStatus&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ENUM kCTSIMSupportSIMStatusReady kCTSIMSupportSIMStatusNotReady kCTSIMSupportSIMStatusOperatorLocked)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SerialNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SupportsPostponement&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueChipID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;integer&amp;gt;...&amp;lt;/integer&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueDeviceID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(hex UUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
  &amp;lt;/plist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SIMGIDs and PhoneNumber are present only if installed SIM has them and it was read correctly.&lt;br /&gt;
&lt;br /&gt;
If ActivationState is not Unactivated or token signature is not correct, apple server will respond with message &amp;quot;there's probled with your device&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Activation Protocol==&lt;br /&gt;
Use SSL and send the request below with the values&lt;br /&gt;
 POST /WebObjects/ALUnbrick.woa/wa/deviceActivation HTTP/1.1&lt;br /&gt;
 Accept-Encoding: gzip&lt;br /&gt;
 Accept-Language: en-us, en;q=0.50&lt;br /&gt;
 Content-Type: multipart/form-data; boundary=DeviceActivation&lt;br /&gt;
 Content-Length: 1234&lt;br /&gt;
 Host: albert.apple.com&lt;br /&gt;
 Cache-Control: no-cache&lt;br /&gt;
 &lt;br /&gt;
 --DeviceActivation&lt;br /&gt;
 Content-Disposition: form-data; name=&amp;quot;activation-info&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded cert in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* [[User:posixninja|posixninja]]'s [http://github.com/posixninja/ideviceactivate iDeviceActivate]&lt;br /&gt;
* [[User:sn0wra1n|iSn0wra1n]]'s [http://github.com/iSn0wra1n/iActivator iActivator v2 for Windows]&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Vasfed</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25649</id>
		<title>Activation Token</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Activation_Token&amp;diff=25649"/>
		<updated>2012-05-13T20:41:58Z</updated>

		<summary type="html">&lt;p&gt;Vasfed: /* Layout Activation Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Layout of Activation Token==&lt;br /&gt;
This is the [[wikipedia:Core Foundation|CFDictionary]] string representation which gets sent to Apple's server.The object can be obtained by using the [[MobileDevice Library]], AMDeviceCopyValue function with the &amp;quot;ActivationInfo&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
It is generated by [[lockdownd]]. Upon generation it stores ActivationRandomness in data ark and later checks it, thus only the last generated token it valid. SHA1 is generated in lockdown and then it makes a request to [[fairplayd]] to complete signature process and obtain certificate chain.&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded SSL certificate chain including root CA in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML, validated using FairPlayCertChain certificate)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Key: ActivationInfoXML===&lt;br /&gt;
The ActivationInfo plist file above has a key called ActivationInfoXML. The base64 data value of that key represents the plist file below&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRandomness&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(GUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationRequiresActivationTicket&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationState&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;Unactivated&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BasebandMasterKeyHash&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;[[Baseband TEA Keys#Hardware Thumbprint Generation|BasebandThumbprint]]&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(Hash of hardware IDs not directly used as a key - the TEA key can be derived from this)&amp;lt;string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;BuildVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;8A306&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceCertRequest&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64 encoded cert)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;DeviceClass&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String ENUM &amp;quot;iPhone&amp;quot;, &amp;quot;iPod&amp;quot;, &amp;quot;iPod touch&amp;quot;, &amp;quot;iPad&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;IntegratedCircuitCardIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ICCID as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileEquipmentIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMEI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;InternationalMobileSubscriberIdentity&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(IMSI as base-10 string)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ModelNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;MC135&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;PhoneNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(String like &amp;quot;+1 (555) 555-5555&amp;quot;)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductType&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;iPhone2,1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ProductVersion&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;4.0.1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID1&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID1)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;SIMGID2&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded binary GID2)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SIMStatus&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(ENUM kCTSIMSupportSIMStatusReady kCTSIMSupportSIMStatusNotReady kCTSIMSupportSIMStatusOperatorLocked)&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SerialNumber&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;...&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;SupportsPostponement&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueChipID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;integer&amp;gt;...&amp;lt;/integer&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;UniqueDeviceID&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;(hex UUID)&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
  &amp;lt;/plist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation Protocol==&lt;br /&gt;
Use SSL and send the request below with the values&lt;br /&gt;
 POST /WebObjects/ALUnbrick.woa/wa/deviceActivation HTTP/1.1&lt;br /&gt;
 Accept-Encoding: gzip&lt;br /&gt;
 Accept-Language: en-us, en;q=0.50&lt;br /&gt;
 Content-Type: multipart/form-data; boundary=DeviceActivation&lt;br /&gt;
 Content-Length: 1234&lt;br /&gt;
 Host: albert.apple.com&lt;br /&gt;
 Cache-Control: no-cache&lt;br /&gt;
 &lt;br /&gt;
 --DeviceActivation&lt;br /&gt;
 Content-Disposition: form-data; name=&amp;quot;activation-info&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;dict&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoComplete&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;true/&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;ActivationInfoXML&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded activation info here)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlayCertChain&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded cert in DER format)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
        &amp;lt;key&amp;gt;FairPlaySignature&amp;lt;/key&amp;gt;&lt;br /&gt;
        &amp;lt;data&amp;gt;&lt;br /&gt;
        (base64-encoded signature (SHA1+RSA) of ActivationInfoXML)&lt;br /&gt;
        &amp;lt;/data&amp;gt;&lt;br /&gt;
  &amp;lt;/dict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* [[User:posixninja|posixninja]]'s [http://github.com/posixninja/ideviceactivate iDeviceActivate]&lt;br /&gt;
* [[User:sn0wra1n|iSn0wra1n]]'s [http://github.com/iSn0wra1n/iActivator iActivator v2 for Windows]&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>Vasfed</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:SHSH_Protocol&amp;diff=8748</id>
		<title>Talk:SHSH Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:SHSH_Protocol&amp;diff=8748"/>
		<updated>2010-08-26T09:41:28Z</updated>

		<summary type="html">&lt;p&gt;Vasfed: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Naming ==&lt;br /&gt;
Or should I better have named this '''TSS Protocol''' instead? -- [[User:Http|http]] 21:23, 15 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I think the current title is easier to tell it relates to shsh. I can't recall what tss stands for, and I think it would also be easier to find. [[User:Iemit737|Iemit737]] 21:36, 15 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
How can I implement this on a Linux-based system? I have the request, but the 'telnet' and 'POST' commands don't work. --[[User:Dra1nerdrake|dra1nerdrake]] 22:40, 15 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Telnet should work. Just enter&lt;br /&gt;
 telnet gs.apple.com 80&lt;br /&gt;
Then you get a HTTP connection. Then send the request and terminate with two CR/LF and you get the response. You can try with any other web page first, that should work the same way:&lt;br /&gt;
 telnet www.google.com 80&lt;br /&gt;
Then:&lt;br /&gt;
 GET / HTTP/1.0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
And didn't [[User:Semaphore|semaphore]] release a unix version with some source code of [[TinyUmbrella]]? -- [[User:Http|http]] 23:49, 15 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Great, thanks, forgot the port number. He released unix TinyUmbrella, but it segfaults and I can't code in Java. --[[User:Dra1nerdrake|dra1nerdrake]] 04:18, 16 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
EDIT: I can't seem to get it to work. I do:&lt;br /&gt;
 telnet cydia.saurik.com 80&lt;br /&gt;
Then I do&lt;br /&gt;
 POST /TSS/controller?action=2 HTTP/1.1&lt;br /&gt;
 Accept: */*&lt;br /&gt;
 Cache-Control: no-cache&lt;br /&gt;
 Content-type: text/xml; charset=&amp;quot;utf-8&amp;quot;&lt;br /&gt;
 User-Agent: InetURL/1.0&lt;br /&gt;
 Content-Length: 411&lt;br /&gt;
 Host: gs.apple.com&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;@HostIpAddress&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;string&amp;gt;192.168.0.1&amp;lt;/string&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;@HostPlatformInfo&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;string&amp;gt;darwin&amp;lt;/string&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;@VersionInfo&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;string&amp;gt;3.8&amp;lt;/string&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;@Locality&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;string&amp;gt;en_US&amp;lt;/string&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;ApProductionMode&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;ApECID&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;string&amp;gt;1430661561679&amp;lt;/string&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;ApChipID&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;integer&amp;gt;35106&amp;lt;/integer&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;ApBoardID&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;integer&amp;gt;2&amp;lt;/integer&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;ApSecurityDomain&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;UniqueBuildID&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;data&amp;gt;&lt;br /&gt;
 	uvWKIop3L16LfQymS8IyiDZXXw0=&lt;br /&gt;
 	&amp;lt;/data&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;AppleLogo&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		kK7SLPJWvaq+GAn9Dm/sG6aJjXg=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/applelogo.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAHgdAADDPQY07wMJ1z2qVSjKuM4iqjhFKw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryCharging&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		lvxtYniO/PKy46ZZV0YIe9ZeNt0=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/glyphcharging.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAHhHAADPFoOCbp1jZBqTtFlCT3XE/qYkKw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryCharging0&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		+o+lH7zqvh90+/cRCjNeSmTsNvU=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/batterycharging0.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAPhEAADGKdYO2peJTZrXjeitEdUEMiC8hw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryCharging1&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		u7NDP6MdWuEGT5Q4Qsm/OrsGTuE=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt; &lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/batterycharging1.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADhZAAAWwQq0Y75xTjOyQ9gxMVNrczF01g==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryFull&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		fTK7DLd3XJTHX9ywLJy97+VeUN0=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/batteryfull.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADghAQDNQ9aqlsb/szaE/5Xh9OJF1WIhxw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryLow0&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		rdMyyO2tICLCLzvxY05lirfWrzQ=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/batterylow0.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALjVAAB7wuaDZva7tC1CGWUl4ATOZ7aUbA==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryLow1&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		ecfArQo2Cxly0h6D7iYT9TLKSSE=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/batterylow1.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAPj2AAABqpmcEB9sOeTSulytXfC8KWZU9g==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;BatteryPlugin&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		MtXc08RsYs+6BMhD4kY0quNr/AU=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/glyphplugin.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAHhDAABQJN3XJEBkNhnJqv6Ra2zBYJeuoQ==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;DeviceTree&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		ngiLrFM16Bg/BkPkmqf59h3H90c=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/DeviceTree.n18ap.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALiDAABl290rfckYS+L3TjGRA7j8avdgDg==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;KernelCache&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		F978uz3zV6USmE34FMmm6xeQDwU=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;kernelcache.release.s5l8922x&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALhxPQDOpPhRPAe/mVP5J89iIhtaQEmJgg==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;LLB&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;BuildString&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;string&amp;gt;iBoot-636.66~5&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/LLB.n18ap.RELEASE.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADgxAQDkevEFsIGKqarjmv9T7avG8oGXhg==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;NeedService&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		klkKn9XNikUb9bdtVU7b2yv9OYc=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/needservice.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALhHAACO1eYCz8W9YsCQ5OT1T0CFHk+aHQ==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;OS&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;018-6152-014.dmg&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;RecoveryMode&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		DjD6JMIq4Qnnsay14L3jL+AdxPs=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/recoverymode.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAPiyAABju7ZnxiRutww2vcmjIIlXG4KSAA==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;RestoreDeviceTree&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		ngiLrFM16Bg/BkPkmqf59h3H90c=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/DeviceTree.n18ap.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALiDAABl290rfckYS+L3TjGRA7j8avdgDg==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;RestoreKernelCache&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		F978uz3zV6USmE34FMmm6xeQDwU=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;kernelcache.release.s5l8922x&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAALhxPQDOpPhRPAe/mVP5J89iIhtaQEmJgg==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
  		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;RestoreLogo&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		kK7SLPJWvaq+GAn9Dm/sG6aJjXg=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/applelogo.s5l8922x.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAHgdAADDPQY07wMJ1z2qVSjKuM4iqjhFKw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;RestoreRamDisk&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		20tqZkEp1wApx1tz+ZCP38axvHE=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;018-6145-014.dmg&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAAPjQuwAyMjwJWKpL0b8bUzYKajbbPEVuPA==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;iBEC&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;BuildString&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;string&amp;gt;iBoot-636.66~5&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/dfu/iBEC.n18ap.RELEASE.dfu&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADjRAQDQA4xYDDo21pS9j57YWeGp6l/TvA==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;iBSS&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;BuildString&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;string&amp;gt;iBoot-636.66~5&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/dfu/iBSS.n18ap.RELEASE.dfu&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADjRAQA2J3DDdRv+TmjaGodpeT634g/Haw==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 	&amp;lt;key&amp;gt;iBoot&amp;lt;/key&amp;gt;&lt;br /&gt;
 	&amp;lt;dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Digest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		soCT6YL1cig/OKRvbam3igRcvaQ=&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Info&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;dict&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;IsFirmwarePayload&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;true/&amp;gt;&lt;br /&gt;
 			&amp;lt;key&amp;gt;Path&amp;lt;/key&amp;gt;&lt;br /&gt;
 			&amp;lt;string&amp;gt;Firmware/all_flash/all_flash.n18ap.production/iBoot.n18ap.RELEASE.img3&amp;lt;/string&amp;gt;&lt;br /&gt;
 		&amp;lt;/dict&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;PartialDigest&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;data&amp;gt;&lt;br /&gt;
 		QAAAADihAgB46rf/axQHtuftGLR8SDpdOuOywA==&lt;br /&gt;
 		&amp;lt;/data&amp;gt;&lt;br /&gt;
 		&amp;lt;key&amp;gt;Trusted&amp;lt;/key&amp;gt;&lt;br /&gt;
 		&amp;lt;true/&amp;gt;&lt;br /&gt;
 	&amp;lt;/dict&amp;gt;&lt;br /&gt;
 &amp;lt;/dict&amp;gt;&lt;br /&gt;
 &amp;lt;/plist&amp;gt;&lt;br /&gt;
 &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
 &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
But no dice. --[[User:Dra1nerdrake|dra1nerdrake]] 18:33, 16 August 2010 (UTC)&lt;br /&gt;
----&lt;br /&gt;
*I think your main problem is that your content is more than the 411 bytes that you specified.&lt;br /&gt;
*Where do you have the digest etc. values from?&lt;br /&gt;
*In my article I didn't write about the Info key you added. What is that?&lt;br /&gt;
-- [[User:Http|http]] 20:45, 16 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
I copied the entire plist from a plist generated by [[idevicerestore]]. Digest values are from the buildmanifest.plist, at the root directory of the firmware. I ran it in debug mode (-d). What should I put in place of 411? --[[User:Dra1nerdrake|dra1nerdrake]] 02:12, 17 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should be the size of the data you transfer. The data seems to be much longer than 411 bytes, I didn't count though. See section 14.13 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html here (RFC2616)]. --[[User:Http|http]] 03:56, 17 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Did it finally work for you? Also: Do you know how [[idevicerestore]] creates these Digest values? If you find that out, maybe you can update the article. -- [[User:Http|http]] 22:42, 24 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Curl is more suitable for LL HTTP, try something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -v &amp;quot;http://cydia.saurik.com/TSS/controller?action=2&amp;quot; -X POST -d @1.plist -H &amp;quot;Host: gs.apple.com&amp;quot; -H &amp;quot;Content-type: text/xml; charset=utf8&amp;quot;&lt;br /&gt;
* About to connect() to cydia.saurik.com port 80 (#0)&lt;br /&gt;
*   Trying 74.208.10.249... connected&lt;br /&gt;
* Connected to cydia.saurik.com (74.208.10.249) port 80 (#0)&lt;br /&gt;
&amp;gt; POST /TSS/controller?action=2 HTTP/1.1&lt;br /&gt;
&amp;gt; User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3&lt;br /&gt;
&amp;gt; Accept: */*&lt;br /&gt;
&amp;gt; Host: gs.apple.com&lt;br /&gt;
&amp;gt; Content-type: text/xml; charset=utf8&lt;br /&gt;
&amp;gt; Content-Length: 8222&lt;br /&gt;
&amp;gt; Expect: 100-continue&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;lt; HTTP/1.1 100 Continue&lt;br /&gt;
&amp;lt; HTTP/1.1 200 OK&lt;br /&gt;
&amp;lt; Server: nginx/0.7.64&lt;br /&gt;
&amp;lt; Date: Thu, 26 Aug 2010 09:27:56 GMT&lt;br /&gt;
&amp;lt; Content-Type: text/plain&lt;br /&gt;
&amp;lt; Transfer-Encoding: chunked&lt;br /&gt;
&amp;lt; Connection: keep-alive&lt;br /&gt;
&amp;lt; Cache-Control: private, proxy-revalidate&lt;br /&gt;
&amp;lt; &lt;br /&gt;
STATUS=94&amp;amp;MESSAGE=This device isn't eligible for the requested build.&lt;br /&gt;
* Connection #0 to host cydia.saurik.com left intact&lt;br /&gt;
* Closing connection #0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where 1.plist is a file with your plist&lt;br /&gt;
--[[User:Vasfed|Vasfed]] 09:41, 26 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Request? ==&lt;br /&gt;
I'm still not understanding the telnet part of this. I can connect fine, but what exactly is the request that I have to send in order to get back a plist file with the SHSH blobs? --[[User:Cool name|Cool name]] 04:08, 16 August 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Vasfed</name></author>
		
	</entry>
</feed>