Editing Keys

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
[[Category:Software]]
[[Category:Software]]<noinclude>[[Category:Main]]</noinclude>
<noinclude>
[[Category:Main]]
</noinclude>


= Useful Information =
= Useful Information =
Line 20: Line 17:
* pub file (public): %s-pub-%s
* pub file (public): %s-pub-%s
* priv file (private): %s-priv-%s
* priv file (private): %s-priv-%s
= Per-console keys =
See [https://www.psdevwiki.com/psp/Kirk#Individual_Seed Kirk documentation] for usage of PSP-related individual seeds.
== Cmep Keyring 0x600 - Visible ID (Test Subject 9 PS Vita) ==
<pre>
00 00 01 01 AC 72 45 00 F5 68 96 03 80 57 C8 1A
25 99 21 A1 73 A4 89 F2 E9 96 23 E9 86 0F 74 2D
</pre>
* Contains the console's [https://wiki.henkaku.xyz/vita/VisibleId Visible ID].
== Cmep Keyring 0x601 - ScePspIndividualKeyMeshCert first half (Test Subject 9 PS Vita) ==
* Contains the first half (0x20 bytes) of of the console's [https://www.psdevwiki.com/psp/Kirk#PSP_Individual_Key_Mesh_Certificate ScePspIndividualKeyMeshCert].
* Warning: the dump presented here is byte-swapped.
<pre>
B9 18 4E 22 83 8B 91 6D 19 86 72 D5 FB 10 FD A3 <- byte-swapped key_mesh.derivation_seed_1
4A 4E 72 CB 02 6E 96 E9 96 B2 C3 23 B9 CF 36 A4 <- byte-swapped key_mesh.derivation_seed_0
</pre>
== Cmep Keyring 0x602 - ScePspIndividualKeyMeshCert second half (Test Subject 9 PS Vita) ==
* Contains the second half (0x20 bytes) of the console's [https://www.psdevwiki.com/psp/Kirk#PSP_Individual_Key_Mesh_Certificate ScePspIndividualKeyMeshCert].
* Warning: the dump presented here is byte-swapped.
<pre>
85 4B 14 AB 00 00 00 00 00 45 72 AC 01 01 08 10 <- byte-swapped hash, byte-swapped reserved, byte-swapped fuse_id
FF 9A 3E E5 A2 B9 F5 25 32 4D E0 2A 8F B1 8F B9 <- byte-swapped key_mesh.derivation_key
</pre>
== ScePspIndividualKeyMeshCert (Test Subject 9 PS Vita) ==
* By byte-swapping keyrings 0x601 and 0x602 or by taking Fuse ID only and running the ScePspIndividualKeyMeshCert generation algorithm (see PSP Jig Kick flashData.prx), we can obtain ScePspIndividualKeyMeshCert.
<pre>
A4 36 CF B9 23 C3 B2 96 E9 96 6E 02 CB 72 4E 4A <- key_mesh.derivation_seed_0
A3 FD 10 FB D5 72 86 19 6D 91 8B 83 22 4E 18 B9 <- key_mesh.derivation_seed_1
B9 8F B1 8F 2A E0 4D 32 25 F5 B9 A2 E5 3E 9A FF <- key_mesh.derivation_key
10 08 01 01 AC 72 45 00 00 00 00 00 AB 14 4B 85 <- fuse_id, reserved, hash
</pre>


= SUPER KEYS (Dumped by SDBoot glitching) =
= SUPER KEYS (Dumped by SDBoot glitching) =
Line 76: Line 30:
<pre>
<pre>
A193E1DD073BECDF6720D0616A8E815D
A193E1DD073BECDF6720D0616A8E815D
</pre>
== Perconsole Keyslot 0x8 (Test Subject 8) ==
<pre>
80D71F18E0A3F393236AE1E875AE3EF8
</pre>
</pre>


Line 94: Line 42:
<pre>
<pre>
C310134A5F5D825AC5E0BB838BA3E287
C310134A5F5D825AC5E0BB838BA3E287
</pre>
== Perconsole Keyslot 0x9 (Test Subject 8) ==
<pre>
04937A014699DA528E6B0CF7ECCADB78
</pre>
</pre>


Line 109: Line 51:
</pre>
</pre>


* Universal
* Type 3 (finalized unit)


== Perconsole Keyslot 0x606 (Test Subject 5) ==
== Perconsole Keyslot 0x606 (Test Subject 5) ==
Line 130: Line 72:
72 39 DE 10 B7 F1 92 D5 78 E1 03 81 63 7F CF CF   
72 39 DE 10 B7 F1 92 D5 78 E1 03 81 63 7F CF CF   
D4 44 9B 58 A1 7C 97 E5 EC F6 1D 09 40 82 7B B2   
D4 44 9B 58 A1 7C 97 E5 EC F6 1D 09 40 82 7B B2   
</pre>
== Perconsole Keyslot 0x606 (Test Subject 8) ==
<pre>
98 AF 08 AD B7 8A E2 83 0A 31 47 0A FD 00 B2 64 
D4 E2 C5 83 E2 14 EB 57 F9 58 CD 54 C4 BA 09 4C
</pre>
</pre>


Line 158: Line 93:
7E EE 37 A4 C0 DA C7 D2 0A AA 5E DA 34 17 B4 5C   
7E EE 37 A4 C0 DA C7 D2 0A AA 5E DA 34 17 B4 5C   
45 A8 DA 4E FD 40 7D 9D E5 08 53 B4 9A 06 29 43
45 A8 DA 4E FD 40 7D 9D E5 08 53 B4 9A 06 29 43
</pre>
== Perconsole Keyslot 0x607 (Test Subject 8) ==
<pre>
6E 1E 68 77 A7 1D 05 8B 97 55 F6 9D 2E 2A 24 1C 
4A 3D B7 E4 3B E8 F0 65 FA A0 8C 20 58 89 3F F2
</pre>
</pre>


Line 912: Line 840:
* Never seen used
* Never seen used


== Second Loader ==
 
 
== Second Loader ==


=== FallBack IDPS and PSID (CEM/DEM) ===
=== FallBack IDPS and PSID (CEM/DEM) ===
Line 942: Line 872:
1C7FD39E8D63AA32D386413EE6A01C15C4876BF614CA954E36C1602DD7871C4F KEY
1C7FD39E8D63AA32D386413EE6A01C15C4876BF614CA954E36C1602DD7871C4F KEY
051DFE9D9BEA8087F66EB8F631010D88 IV
051DFE9D9BEA8087F66EB8F631010D88 IV
</pre>
=== Unknown GCAUTHMGR Key and IV ===
<pre>
821C5714415E9804D6AAE324EB3DDDFE7BB73E8EC0F9E04D3D6D60BCD0CF4EE9
</pre>
<pre>
CEC36FCD7DB3102A80E9C2AA65734FC1
</pre>
</pre>


Line 967: Line 906:
=== SMI (Slot 0x213) ===
=== SMI (Slot 0x213) ===
<pre>
<pre>
AB7097356FDD49D83878540167F0C4AD85537C5A56BD15DF0EB5F7F0D9E276E6 Seed First Derivation SMI
310D20077AF3BF121F21D9ADAF389CDA IV First Derivation SMI  
310D20077AF3BF121F21D9ADAF389CDA IV First Derivation SMI  


Line 1,002: Line 939:
AC78EE86799148699B9CB3F5C6CAB73A6AC45EB11F44E9151232CF8F123C7D88
AC78EE86799148699B9CB3F5C6CAB73A6AC45EB11F44E9151232CF8F123C7D88
</pre>
</pre>
== GcAuthMgr ==
=== Master Key Seeds ===
As part of gc authentication, some keys are derived using these key seeds
& 0x345 and 0x348 bbmac.
different key seeds are used depending on the key id used by the gamecart.
==== KeyID 0x1 ====
KEYSEED:
<pre>
7f1fd065dd2f40b3e26579a6390b616d
</pre>
IV:
<pre>
8b14c8a1e96f30a7f101a96a3033c55b
</pre>
==== KeyID 0x8001 ====
KEYSEED:
<pre>
6f2285ed463a6e57c5f3550ddcc81feb
</pre>
==== KeyID 0x8002 ====
KEYSEED:
<pre>
da9608b528825d6d13a7af1446b8ec08
</pre>
==== KeyID 0x8003 ====
KEYSEED:
<pre>
368b2eb5437a821862a6c95596d8c135
</pre>
=== Unknown GcAuthMgr Key and IV ===
<pre>
821C5714415E9804D6AAE324EB3DDDFE7BB73E8EC0F9E04D3D6D60BCD0CF4EE9
</pre>
<pre>
CEC36FCD7DB3102A80E9C2AA65734FC1
</pre>
== KPRX_AUTH ==
keys part of kprx_auth_sm
=== Bind Data HMAC Key ===
used for ksceSblAuthMgrDecBindData
<pre>
901a84fb13a744a378c5018a60f58c22
</pre>
HMAC-SHA256 using this key
result is the key to aes-cbc-decrypt bind data
first 0x10 is key, last 0x10 is iv.


== AIMGR ==
== AIMGR ==
Line 1,910: Line 1,795:
kirk7_keyC3 = 1E5B17DAC321E6B8DFE7718CA2930370
kirk7_keyC3 = 1E5B17DAC321E6B8DFE7718CA2930370
</pre>
</pre>
== IdStorage Keys ==
=== PS Vita IdStorage leaves 0-0x7D RSA2048 Public Key ===
<pre>
E9 18 F0 8E F8 D1 ED 4A 5E 80 65 44 15 5D AF 3E
99 CD 65 65 5C 5D FE BC BA 59 A4 AB 52 81 63 53
B1 DC 9C 0E BB 70 F7 48 57 47 9C 4C 49 00 8E E4
F7 55 93 14 71 67 DF 9C 92 8E D8 42 4A 10 75 50
D0 9F 6A 48 57 9A E3 86 BF 6B A3 0C 73 57 00 DC
F7 CB 2B B3 7C 03 11 CC EC D9 0F BA A1 2E E5 EE
5C D3 10 D5 0F 1D 58 C1 23 8B CD 7B 9E E6 2C 7F
4C AE 11 01 8C A5 AE F0 D5 C2 8D 5E E9 F6 6F 1E
37 8B B4 BD BC C0 2F 3D 3D 6E F8 E6 35 EF B6 C2
EF 82 ED AD 07 16 5A 4D A4 AB 83 76 14 9D 6F 29
6D AD DA 83 CF 0D F3 9F 9C 6B AC 79 61 B6 6F 32
60 34 99 B4 C3 9C 94 D7 1A 29 8A B4 12 D8 42 F9
69 C3 0E 47 EF 86 FD 35 E5 CD 23 E8 95 B3 E1 A3
D6 E9 CA 90 8F 46 59 FE BC B3 00 C0 9C E7 34 07
5A 7F 85 2A 5B AD 82 B8 52 85 74 6F 73 45 C2 5F
4B 7A 8D 85 70 8B 6C FD AA 59 70 BF 33 00 79 D5
</pre>
* Exponent is 65537.
* Found in PS Vita factTest.self.
* Signature is stored in PS Vita IdStorage leaf 0x7E offset 0x60.
* PSP IdStorage does not have this signature.
* This signature does not seem to be checked on console boot. It might be used only during manufacturing/servicing to ensure that IdStorage leaves 0-0x7D have been written correctly. This implies that IdStorage leaves 0-0x7D are not meant to be edited after manufacturing, contrarly to some other leaves.


== IdStorage Certificate Keys ==
== IdStorage Certificate Keys ==
Line 2,070: Line 1,926:
== PSM Keys ==
== PSM Keys ==


=== Update HMAC Key ===
=== PSM PKG HMAC Key ===


     5AE4E16B214290E14366E5B653C4E3C3E69E4956510EADD66ACB37A077E0686E
     5AE4E16B214290E14366E5B653C4E3C3
     086F8BAB5030E3D82407F01B676CB8037DF20D1420C08A91A2141A3FE5DC063C
     E69E4956510EADD66ACB37A077E0686E
    086F8BAB5030E3D82407F01B676CB803
    7DF20D1420C08A91A2141A3FE5DC063C


how to calculate update URL:
used to calculate PSM PKG URL


HmacSha1("NPPA00236_00", hmackey) => 87b2fc0108d5197ae7572bda397dd8a81b56839e
hmacsha1("NPPA00236_00", key) = 87b2fc0108d5197ae7572bda397dd8a81b56839e


append first 8 characters of hex encoded hmac; like such: "NPPA00236_00_87B2FC01"
use last 8 characters for this part: "NPPA00236_00_87B2FC01"


update xml is => http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/version.xml
final result: http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/NPPA00236_00.pkg


you can get the PKG for any PSM application like so:
(change domain to zeus.dl.playstation.net to download in current year)


take "appVersion" from version.xml => "1.00"
=== PSMDA "protected_kconsole_cache.dat" HMAC Key ===


build PKG link using version => http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/NPPA00236_00.pkg
    B73966320E286ADC03F05465CA9E2F92388AEE236D43883135BAB0A5BD5043EA


you can also get screenshots and description of the application; using /metadata.xml; for example;
=== PSMDA "NSXVID-PSS.VT.WW-GLOBAL.xml" RSA Private ===


http://psm-pkg.np.dl.playstation.net/psm/np/NPPA/NPPA00236_00_87B2FC01/1.00/metadata.xml
(note; you have to change the domain to zeus.dl.playstation.net as sony removed the "psm-pkg.np.dl.playstation.net" subdomain awhile ago)
=== 'psm.pub' strong name public key ===
Used for verifying strong name signature of runtime's Mono/.NET assemblies;
    00240000048000009400000006020000002400005253413100040000110000009133D396CA929938BC68440B541D8888614E7BD475B
    EF719AB4F4B85B1C21FC3EF2B5F32DF0DE7C769CA90687650DA49EEBE7ADCB71479F1463E10902CB65A1F44FA2E71B3F30E108FE0F6
    699D179DAED5B1A774DB1ABA104C59118544B47CDA724AEA8E6899FA760DFE0BA8656515B48AE94FDE29FC8F5BD569126C7A9AE6F3
=== PSM Developer Assistant ===
Keys used in the PlayStation Mobile Development Assistant and PlayStation Mobile Development Assistant for Unity applications
==== "protected_kconsole_cache.dat" HMAC Key ====
    B73966320E286ADC03F05465CA9E2F92388AEE236D43883135BAB0A5BD5043EA
==== "NSXVID-PSS.VT.WW-GLOBAL.xml" RSA Private ====
<pre>
     -----BEGIN PRIVATE KEY-----
     -----BEGIN PRIVATE KEY-----
     MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxl+8fRzDzyWb0
     MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxl+8fRzDzyWb0
Line 2,139: Line 1,977:
     rnh1i22Y3zLWChh3swswqgf7
     rnh1i22Y3zLWChh3swswqgf7
     -----END PRIVATE KEY-----
     -----END PRIVATE KEY-----
</pre>


* Used by the PSM Dev Assistant to sign the NSXVID-PSS.VT.WW-GLOBAL.xml file to prevent from modification.
* Used by the PSM Dev Assistant to sign the NSXVID-PSS.VT.WW-GLOBAL.xml file to prevent from modification.


==== Publishing License PKCS12 Import Password ====
=== PSM Publishing License PKCS12 Import Password ===


     password
     password


==== Publishing License PKCS12 PEM Pass Phrase ====
=== PSM Publishing License PKCS12 PEM Pass Phrase ===


     password
     password


* PKCS12 certificate used in signing PSM Dev PSSE with PSM SDK.
* PKCS12 certificate used in signing PSM Dev PSSE with PSM SDK.
(World's most secure passwords ever, impossible to crack)   


(World's most secure passwords ever, impossible to crack xD)   
You can use openssl like so:     
You can use openssl like so:     
     openssl pkcs12 -in <filename> -password pass:password -passout pass:password
     openssl pkcs12 -in <filename> -password pass:password -passout pass:password
to view the private and public keys of a PSM Publishing license.
to view the keystore of a PSM Publishing License


=== PSM Android ===
=== 'psm.pub' strong name signatures public key ===
These keys are labeled within the debug symbols of the Android version of PSM.
    00240000048000009400000006020000002400005253413100040000110000009133D396CA929938BC68440B541D8888614E7BD475B
    EF719AB4F4B85B1C21FC3EF2B5F32DF0DE7C769CA90687650DA49EEBE7ADCB71479F1463E10902CB65A1F44FA2E71B3F30E108FE0F6
    699D179DAED5B1A774DB1ABA104C59118544B47CDA724AEA8E6899FA760DFE0BA8656515B48AE94FDE29FC8F5BD569126C7A9AE6F3


==== SCE_PSM_KDBG_ACCOUNT_KEY ====  
=== SCE_PSM_KDBG_ACCOUNT_KEY ===


     965895DF95F5432CCBCC4B7823CBF4B3
     965895DF95F5432CCBCC4B7823CBF4B3


==== SCE_PSM_KDBG_ACCOUNT_IV ====  
=== SCE_PSM_KDBG_ACCOUNT_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_C1_KEY ====  
=== SCE_PSM_KDBG_C1_KEY ===


     965895DF95F5432CCBCC4B7823CBF4B3
     965895DF95F5432CCBCC4B7823CBF4B3


==== SCE_PSM_KDBG_C1_IV ====  
=== SCE_PSM_KDBG_C1_IV ===
 
    00000000000000000000000000000000
 
=== SCE_PSM_KDBG_CONSOLE_KEY ===
 
    8235EDC66CD14D04F793369A74C7A4FE
 
=== SCE_PSM_KDBG_CONSOLE_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_CONSOLE_KEY ====  
=== SCE_PSM_KDBG_LOGINFO_KEY ===
 
 
     8235EDC66CD14D04F793369A74C7A4FE
    B293993BB5977F88844A7D21DDF63BC7
 
 
==== SCE_PSM_KDBG_CONSOLE_IV ====  
=== SCE_PSM_KDBG_LOGINFO_IV ===
 
     00000000000000000000000000000000
 
=== SCE_PSM_KDBG_V1_KEY ===
 
    14E5A03B1E62D483F88769986EDB1140
 
=== SCE_PSM_KDBG_V1_IV ===


     00000000000000000000000000000000
     00000000000000000000000000000000


==== SCE_PSM_KDBG_LOGINFO_KEY ====
=== SCE_PSM_HEADER_SIGNATURE_PUB_KEY ===
 
    B293993BB5977F88844A7D21DDF63BC7
 
==== SCE_PSM_KDBG_LOGINFO_IV ====  


     00000000000000000000000000000000
     3082010A0282010100A98F6B27F5AFF0F96C7411A337DFCF723C37BEF6FF6552B
    8E5A3EEE3672CF0366EA0442B7913018C7355C0F2336DE496DCADE8BF5A32D1DB
    25705D5A9A11C06FFF6801776BFF871FDDDC4EA4CAF49886E02D4835B3DCC9674
    457E4E66744CB997155271C211E2FAE0ECEA5FABD91719766C488860072E81CCC
    7B5DFEA0907D25E60CCB28500D3FDC9CC244DBBAED7A41FDA571C27D87E92B17E
    34B0289329EB0FEFED4682F1679D89FF00D2A78F78B8A05A9B4D7306E992AAE7B
    7A0E9ADDF4F4BC286E1E52A80AB2DF31012B18B996670446F07AF2307A7FFCBC4
    5ADB3B815B659536A7AADA813FD303156C792E28157001DC7BB9AF93A59A607E4
    F2EE34F88702030100010000


==== SCE_PSM_KDBG_V1_KEY ====  
=== SCE_PSM_WHOLE_SIGNATURE_PUB_KEY ===


     14E5A03B1E62D483F88769986EDB1140
     3082010A0282010100D452C18752BDE6289ACEB862AD32145322C13EEC82F5675
    E9DA96B51CCAA68488F2B5E09E1C1DEFE7A27ECB5EACF473A9D15171F43EE32DA
    03E7BA07182B408540C37CD8AA357F4DCD12295AD3901D6A0D6D41665BA7084B1
    A98DFE15A1F0B3A2A4B4D0A00A1CD8BA5B09E80BC4E2C588357C0F2E285C05055
    6DC971A43FEA4C056CF2DFD8BB2EE975F67F76878E1FB01E7A23F87FD5732864D
    D62B2C3FFD4BCF184923A3706819467723AA508FC53E80F6E5A57CF3E7B1BB0A3
    988037656CBB2FC70BDF344B5683E4943D08C609D44DFDAE90C5300C5CDE7C2D8
    9035B20FC189F9DBC34BEB6478D6B32183FB886133B04C1962EEEDA7FFD47DB80
    655F4CDE0F02030100010000


==== SCE_PSM_KDBG_V1_IV ====
=== internalKey (KeyStore) ===
 
    00000000000000000000000000000000
 
==== internalKey (KeyStore) ====  


     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
Line 2,209: Line 2,072:
     E83746A9819C60AB7ED23B8D7685612A831C41000000
     E83746A9819C60AB7ED23B8D7685612A831C41000000


==== internalIcvKey (KeyStore) ====  
=== internalIcvKey (KeyStore) ===


     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
     534B4257020000000000000010000000002F27E9ECD4606C3CE0BCFE99E2AE5EB
Line 2,216: Line 2,079:
     C026F69D7A98767567BF04C95074B4C00000000000000000000000000000000BB
     C026F69D7A98767567BF04C95074B4C00000000000000000000000000000000BB
     6E2E9E14AB8D04309918ABD4186B5798F48C78000000
     6E2E9E14AB8D04309918ABD4186B5798F48C78000000
=== PSSE (PlayStation Suite Encryption) ===
PSSE is the encryption of PSM application files,
the whole game is encrypted and signed, PSSE serves a similar function as PFS for the PSVita.
==== RSA Keys ====
These are used to verify the signature of PSSE files, signature is SHA256 hash,
there are two keys one used to sign the header, and another used to sign the whole contents of the file.
the names of these keys were taken from export symbols from libdefault.so from the android version.
Sony, in their infinite wisdom and mysterious ways. decided to include the PRIVATE KEYS for signing RETAIL PlayStation Mobile games, in psm_encryptor64.dll.
===== PSSE Header Public Key (SCE_PSM_HEADER_SIGNATURE_PUB_KEY) =====
<pre>
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqY9rJ/Wv8PlsdBGjN9/P
cjw3vvb/ZVK45aPu42cs8DZuoEQreRMBjHNVwPIzbeSW3K3ov1oy0dslcF1amhHA
b/9oAXdr/4cf3dxOpMr0mIbgLUg1s9zJZ0RX5OZnRMuZcVUnHCEeL64OzqX6vZFx
l2bEiIYAcugczHtd/qCQfSXmDMsoUA0/3JzCRNu67XpB/aVxwn2H6SsX40sCiTKe
sP7+1GgvFnnYn/ANKnj3i4oFqbTXMG6ZKq57eg6a3fT0vChuHlKoCrLfMQErGLmW
ZwRG8HryMHp//LxFrbO4FbZZU2p6ragT/TAxVseS4oFXAB3Hu5r5OlmmB+Ty7jT4
hwIDAQAB
-----END PUBLIC KEY-----
</pre>
===== PSSE Entire File Public Key (SCE_PSM_WHOLE_SIGNATURE_PUB_KEY) =====
<pre>
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1FLBh1K95iiazrhirTIU
UyLBPuyC9WdenalrUcyqaEiPK14J4cHe/non7LXqz0c6nRUXH0PuMtoD57oHGCtA
hUDDfNiqNX9NzRIpWtOQHWoNbUFmW6cISxqY3+FaHws6KktNCgChzYulsJ6AvE4s
WINXwPLihcBQVW3JcaQ/6kwFbPLf2Lsu6XX2f3aHjh+wHnoj+H/Vcyhk3WKyw//U
vPGEkjo3BoGUZ3I6pQj8U+gPblpXzz57G7CjmIA3ZWy7L8cL3zRLVoPklD0IxgnU
Tf2ukMUwDFzefC2JA1sg/Bifnbw0vrZHjWsyGD+4hhM7BMGWLu7af/1H24BlX0ze
DwIDAQAB
-----END PUBLIC KEY-----
</pre>
===== PSSE Header Private Key (SCE_PSM_HEADER_SIGNATURE_PRIV_KEY) =====
<pre>
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQCpj2sn9a/w+Wx0
EaM3389yPDe+9v9lUrjlo+7jZyzwNm6gRCt5EwGMc1XA8jNt5Jbcrei/WjLR2yVw
XVqaEcBv/2gBd2v/hx/d3E6kyvSYhuAtSDWz3MlnRFfk5mdEy5lxVSccIR4vrg7O
pfq9kXGXZsSIhgBy6BzMe13+oJB9JeYMyyhQDT/cnMJE27rtekH9pXHCfYfpKxfj
SwKJMp6w/v7UaC8Wedif8A0qePeLigWptNcwbpkqrnt6Dprd9PS8KG4eUqgKst8x
ASsYuZZnBEbwevIwen/8vEWts7gVtllTanqtqBP9MDFWx5LigVcAHce7mvk6WaYH
5PLuNPiHAgMBAAECggEBAJcvhMkdfOItU7FuZI0WZz6hSMdiLrjmeGxxrjhfL6eD
sUH/Zo/PDYtw7x5aFtc+gfGEs0mjIDsT3p8A7h8AAwkZv1/HXql5j0VgAVNYj51M
baiSgSe9jmsgegpkEeI6c7ekyHmBYgv7c8J4JklO3Oy1OjnM2aubIMqGmXnHKu4a
H/viUYE+WhJF9h+F5FXMXqF3AFvlWE97Y1ISehWRJOFWgBX3rVBIp79q28lBV6aj
6gI5p2WvaUzrSwFBjpzhEAdb5DPiWio2zCBBDu8e40fUK6OnMv3dXK9NOynjYQik
DpS0yrjUWYNxhh1EL8igXVl8Al2uRTVwDeELJE6CSFkCgYEA1vWBMZkElvI+2XdE
YsyL89vZXxGm1VjR4INkihE1no2oDmQ/FwqH64+Tq/vaeGc+AvHXbW2dKRRiJ2R7
25tSMEEPAcOkYZ3fWDQs0H5QK3U6T1hfQQz2OMEnHHWmR8fFa0537wYoOn5v1ewu
cd7w8s+aSHGrO5kdgztbMRUAnVUCgYEAye74R4uP+y6u2Y4o2DKpbR59vP7ogm5o
BTX7/3DWbKf2RsDv8GLfJ1EgPvmqi20OslKzqPsWc2bq/R/qBlJRDODcK8IgGJJd
3xMqxpwn+3opPv/0X+X8I2TOwVDWY2BQezxG66RrV0bvCJUj3lz5Ubu4gLkFZov+
tr0Gbsh2XmsCgYEAtPjV/vKrmYVzAlTV/zPkM7cIx3At+/oeIB2enFqmwMjUDuG4
9+YGznv/QFD1+l45J/OBggBByx79D9saJ6YZSMTNJJgYoZJvQWwTuqhNSHkWUUy+
TR7jgJ6lFeG6zz3R6GiUsmiFn9FoyDpiU731Lwc3Bfykw7VB0oU7XhQng00CgYEA
lbQuKIxU37jKM8tqiG12ocj7GsQ4B4pmX4aYHdW/gao7sFSVDTefjHxeVZGuV9Mw
FA+v1dTf3gosqB+i1bDtGYkScPZn6Q+JvDlvevKFya/VKDmFKBtOg8bWaQbPCbl7
sQEM6uFoGroht9EpWE7BH1D2BaglUtLysPMN8891waUCgYEAkMo3Xr4EfEPrpl6M
ujCY3o6Oxy5dBxV96KBRgbXZmV0rFpFgY4dNa8Dk3/RgYIlYCyxQem4Y4YVfm3VJ
xMrhotEFrigdV2eV/VtzgmNUl4SyUfqZmRYrT+dFLjmwbU5UcNnRC0/3KxbxPssn
l86n/Xiav/RPd9Pa/ezirx/jFb8=
-----END PRIVATE KEY-----
</pre>
===== PSSE Entire File Private Key (SCE_PSM_WHOLE_SIGNATURE_PRIV_KEY) =====
<pre>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUUsGHUr3mKJrO
uGKtMhRTIsE+7IL1Z16dqWtRzKpoSI8rXgnhwd7+eifsterPRzqdFRcfQ+4y2gPn
ugcYK0CFQMN82Ko1f03NEila05Adag1tQWZbpwhLGpjf4VofCzoqS00KAKHNi6Ww
noC8TixYg1fA8uKFwFBVbclxpD/qTAVs8t/Yuy7pdfZ/doeOH7AeeiP4f9VzKGTd
YrLD/9S88YSSOjcGgZRncjqlCPxT6A9uWlfPPnsbsKOYgDdlbLsvxwvfNEtWg+SU
PQjGCdRN/a6QxTAMXN58LYkDWyD8GJ+dvDS+tkeNazIYP7iGEzsEwZYu7tp//Ufb
gGVfTN4PAgMBAAECggEASnCNO2WOAKChzfIlXnWdXJxlxirjqyhHqt0YLECmShOO
ZnT83/K5vNyVHM+W+H8PlL0tMx/85kU7c0XscNPRNibDowTPgBwW6dwBNb/Q2g8x
j+mK+n0wUiyMBooar6GfDe8CnowkLk1UlPytQ9fgglPiM1q0gpIvWBQ6uSYN5pWG
72nL7MhJnpFg3hXH7NAZaD9vYeGZkK04cmqBSrgEQuhKvjajZHJXHHabwXQVz5Zh
NkwxThRz8bbfsnxRfYoTPWtqWUQtPZn7e9PxegeSnrQRAYL4EjtyT3UERGEpWqM/
qHW/ctT1SxURvt9uncvALHIFWsV3mkzdOozBjUZxIQKBgQD0++NJX5t3546AP6GC
RYl1LYw8+s3vBuTgYhn0ustYXAmMrgNFQ7FkeIxhp8h24ZlrSdxTlos2qKParURC
aln+HtziPsoCwxun2j3nDObURxVUtS5MK0rR4adOYrS1b8+izujvqZQvq9TWWGiQ
EEbQ3slzaXAbNvZWpYHybLFtfwKBgQDd3uXFCdnAn812uSgab021D2GIoSRdGZLG
/VzSnKkMm2pfjAwNv2gpy98xk0OVDzvyplIOZt+nuBAZtq3hPU22nugjLd+4oQ2Z
e3cfhHhNzaHcisHvSTGkBMn+wmpZArl4NxscnCGReAF224Ofy4dhu/dV+v+6pE4K
uHNpgqr3cQKBgQCRjd76xz09vmxiMmwpVFtZLZi22mTkcXom/uJhD2KluvlJhlIX
IyMQiLcPhnqKd3uJzTaEy1snPIct8+gsdbfGTlv6aEfp4DZcQkSpNHcpBJrd21AI
nWg0zxdycR7g9e+t0bWAP4b10+f++kQV5DXO/689TRX4dW1jCa7tdDruzQKBgEAS
lKw4UggMnhtBEVHA/uHg1TvNvWCdeAO7O0kfMLqRT0DUgs6djgkz9PquGoA7bAaA
/YVnNAONZijm1oQLXhv0+/jc0JTS/chrHVWevddKIQo9kA/4RTumnmbR4kBeRw1u
bIfwlskZrOKUNgi5kBkrXRwZZiySMm9qIPpBX/ohAoGBAOY9GZhur29tbaE81738
rrKWiu2cGs/2Iwc99bCuDzsXgY8Tt3wWjKBBIrUJxXBchdnEansfgOZFas2RGxMQ
dlVUf7ferhDzjMWh/Sqa6Fvh/Pq/CbScqeTfcHmI4gAwiRjJKfdDPL+YhwunBRki
3QAlUBmd5ByB6xFtHm+QDaap
-----END PRIVATE KEY-----
</pre>
==== AES Keys ====
used mostly just for encrypting the data in PSSE.


===== Header IV =====
=== PSSE Header IV ===


     000102030405060708090A0B0C0D0E0F
     000102030405060708090A0B0C0D0E0F


===== Header Key =====  
=== PSSE Header Key ===  
      
      
     4E298B40F531F469D21F75B133C307BE
     4E298B40F531F469D21F75B133C307BE


===== App Key =====  
=== Runtime PSSE App Key ===
For decrypting PSSE files with IP9100-NPXS10074_00-0000000000000000 as content id
For decrypting PSSE files with IP9100-NPXS10074_00-0000000000000000 as content id
     A8693C4DF0AEEDBC9ABFD8213692912D
     A8693C4DF0AEEDBC9ABFD8213692912D


===== Debug Header Key =====  
=== Debug PSSE Header Key ===
When you encrypt files locally for use in PSM Dev Assistant, using PSM SDK's "psm_encryptor64.dll"  
When you encrypt files locally for use in PSM Dev Assistant, using PSM SDK's "psm_encryptor64.dll"  
the following header key is used INSTEAD of the retail one.
the following header key is used INSTEAD of the retail one.
     00112233445566778899AABBCCDDEEFF
     00112233445566778899AABBCCDDEEFF
=== Hash Account ID ===
used for calculating "Unique ID" in
Sce.PlayStation.Core.Services.AccountInformation.UniqueID
==== Hash Account ID HMAC-SHA256 key ====
    BDEE3E0B93073749856F25CCDB443AFB0FAB94287493DC1AD0C5697E2A7AE14E
==== Hash Account ID AES-128-CBC Key ====
    5AA3DB8FE6AEE26CD185B086F5BD78A4
==== Hash Account ID AES-128-CBC Iv ====
    00000000000000000000000000000000
How to calculate UniqueID:
get psn accountid; => 0123456789abcdef (example)
sha256hmac(accountid, hmackey) => 4653ec6275f410c47d280a3688a554a579a7e7c9f52599381ae9ee4a1b6220e3
trim hmac to first 8 bytes => 4653ec6275f410c4
append trimmed hmac to accountid => 0123456789abcdef4653ec6275f410c4
aes128cbc(accountid + trimhmac, key, iv) => c7656d883573d94809c8fa05f511d84f
so "c7656d883573d94809c8fa05f511d84f" is the "UniqueID"


== EncDec Keys ==
== EncDec Keys ==
Line 3,392: Line 3,127:
! Type !! Version !! Modulus !! Usage || Notes
! Type !! Version !! Modulus !! Usage || Notes
|-
|-
| 0 and 1 || 1.00+ ||
| 0 and 1 || 1.00+ ||  
     9CCCE3A536FA641B2D1354EE98F093C2
     9CCCE3A536FA641B2D1354EE98F093C2
     68470F722C024B86CD60274E08E0067A
     68470F722C024B86CD60274E08E0067A
Line 3,476: Line 3,211:
! Type !! Version !! Modulus !! Usage || Notes
! Type !! Version !! Modulus !! Usage || Notes
|-
|-
| PSP || 1.00+ ||
| PSP || 1.00+ ||  
     BBDB6AA32E3B51A6D4708D5FC9899919
     BBDB6AA32E3B51A6D4708D5FC9899919
     395A2AAD83E98F4864C3BA43A5D6906F
     395A2AAD83E98F4864C3BA43A5D6906F
Line 3,548: Line 3,283:
== NID generation suffixes ==
== NID generation suffixes ==


* The algorithm is sha1(name + suffix).
* algo is sha1(name + suffix)


=== No suffix ===
=== No suffix ===
Line 3,554: Line 3,289:
For some PSP and PS Vita old NIDs, there was no suffix at all: algo was simply sha1(name).
For some PSP and PS Vita old NIDs, there was no suffix at all: algo was simply sha1(name).


=== PS3 NONAME suffix ===
=== PS3 NONAME default suffix ===


<pre>"0xbc5eba9e042504905b64274994d9c41f"</pre>
<pre>bc5eba9e042504905b64274994d9c41f</pre>


* Note that this ASCII string is used but not the hexadecimal value for it.
To check how to use this suffix (see: [https://www.psdevwiki.com/ps3/Keys#PS3_NONAME_NIDs_Salt]).


=== PS3 default suffix ===
=== PS3 default suffix ===
Line 3,564: Line 3,299:
<pre>6759659904250490566427499489741A</pre>
<pre>6759659904250490566427499489741A</pre>


* Note that this hexadecimal value is used but not the ASCII string for it.
=== PS Vita NONAME default suffix ===
 
=== PS Vita NONAME suffix ===


<pre>c1b886af5c31846467e7ba5e2cffd64a</pre>
<pre>c1b886af5c31846467e7ba5e2cffd64a</pre>
* Note that this hexadecimal value is used but not the ASCII string for it.


== SceKrm ==
== SceKrm ==
Please note that all contributions to Vita Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see Vita Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)