vitasdk
Documentation of the vitasdk

Exports for Kernel. More...

Data Structures

struct  SceSblActivationKey
 
struct  SceSblSpsfoContext
 An SPSFO file mapped by ksceSblSpsfoMgrOpen. More...
 
struct  SceSblAppKey
 
struct  SceUtoken
 
struct  SceUtokenSelfAuthInfo
 Complete SELF authorization override stored in Utoken segment type 11. More...
 
struct  SceSblSealedKey
 
struct  SceSblKeystone
 
struct  SceSblDebugKeystone
 
struct  SceSblCloudDataKeyRing
 
struct  SceSblCloudDataRsaValue
 
struct  SceSblCloudDataSignCryptHandle
 
struct  SceSblRsaDataParam
 
struct  SceSblRsaPublicKeyParam
 
struct  SceSblRsaPrivateKeyParam
 

Macros

#define ksceSblPostSsMgrActivate   ksceSblLicMgrActivateDevkit
 
#define ksceSblPostSsMgrGetExpireDate   ksceSblLicMgrGetExpireDate
 
#define _ksceSblPostSsMgrExecutePmSmF00dCommand   ksceSblPmMgrSetSdModeOff
 
#define ksceSblPostSsMgrExecutePmSmF00dCommand   ksceSblPmMgrSetProductMode
 
#define ksceSblPostSsMgrExecutePmSmF00dCommand8   ksceSblPmMgrGetProductModeFromNVS
 
#define ksceSblPostSsMgrExecutePmSmSdF00dCommand   ksceSblPmMgrAuthEtoI
 
#define ksceSblPostSsMgrSetCpRtc   ksceSblRtcMgrSetCpRtcPhysical
 
#define ksceSblPostSsMgrInitializeSpfsoCtx   ksceSblSpsfoMgrOpen
 
#define ksceSblPostSsMgrReleaseSpfsoCtx   ksceSblSpsfoMgrClose
 
#define ksceSblPostSsMgrVerifySpfsoCtx   ksceSblSpsfoMgrVerify
 
#define ksceSblUtMgrExecuteUtokenSmCommand1   ksceSblUtMgrVerifyAndStoreUtoken
 
#define ksceSblUtMgrGetTrilithiumBuffer   ksceSblUtMgrGetSelfAuthInfo
 
#define ksceSblUtMgrHasPSMTestFlag   ksceSblUtMgrHasFlag1
 
#define ksceSblUtMgrHasSystemDataFilePlayReadyFlag   ksceSblUtMgrHasFlag8
 

Typedefs

typedef SceSblSpsfoContext SceSblSpfsoContext
 Misspelled alias retained for backwards compatibility.
 

Enumerations

enum  SceSblProductMode { SCE_SBL_PRODUCT_MODE_NORMAL = 0 , SCE_SBL_PRODUCT_MODE_MANUFACTURING = 1 }
 Product modes reported by SceSblPmMgr. More...
 
enum  SceSblLicenseStatus { SCE_SBL_LICENSE_STATUS_UNINITIALIZED = -1 , SCE_SBL_LICENSE_STATUS_ACTIVATED = 0 , SCE_SBL_LICENSE_STATUS_EXPIRED = 1 , SCE_SBL_LICENSE_STATUS_BACKUP_BATTERY_FAILURE = 2 }
 Cached development/testing-kit activation states reported by SceSblLicMgr. More...
 
enum  SceSblRsaHashType {
  SCE_SBL_RSA_HASH_TYPE_MD2 = 0x2 , SCE_SBL_RSA_HASH_TYPE_MD5 = 0x4 , SCE_SBL_RSA_HASH_TYPE_SHA1 = 0x5 , SCE_SBL_RSA_HASH_TYPE_SHA256 = 0xB ,
  SCE_SBL_RSA_HASH_TYPE_SHA384 = 0xC , SCE_SBL_RSA_HASH_TYPE_SHA512 = 0xD , SCE_SBL_RSA_HASH_TYPE_SHA224 = 0xE
}
 Hash algorithms accepted by the RSA PKCS #1 v1.5 helpers. More...
 

Functions

 VITASDK_BUILD_ASSERT_EQ (0x14, SceSblActivationKey)
 
 VITASDK_BUILD_ASSERT_EQ (0xC, SceSblSpsfoContext)
 
 VITASDK_BUILD_ASSERT_EQ (0x24, SceSblAppKey)
 
 VITASDK_BUILD_ASSERT_EQ (0x800, SceUtoken)
 
 VITASDK_BUILD_ASSERT_EQ (0x58, SceUtokenSelfAuthInfo)
 
 VITASDK_BUILD_ASSERT_EQ (0x50, SceSblSealedKey)
 
 VITASDK_BUILD_ASSERT_EQ (0x60, SceSblKeystone)
 
 VITASDK_BUILD_ASSERT_EQ (0x40, SceSblDebugKeystone)
 
 VITASDK_BUILD_ASSERT_EQ (0x2A0, SceSblCloudDataKeyRing)
 
 VITASDK_BUILD_ASSERT_EQ (0x104, SceSblCloudDataRsaValue)
 
 VITASDK_BUILD_ASSERT_EQ (0x208, SceSblCloudDataSignCryptHandle)
 
 VITASDK_BUILD_ASSERT_EQ (8, SceSblRsaDataParam)
 
 VITASDK_BUILD_ASSERT_EQ (8, SceSblRsaPublicKeyParam)
 
 VITASDK_BUILD_ASSERT_EQ (0x24, SceSblRsaPrivateKeyParam)
 
int ksceSblRSA2048CreateSignature (SceSblRsaDataParam *rsa_signature, SceSblRsaDataParam *hash, SceSblRsaPrivateKeyParam *private_key, int type)
 Create an RSA-2048 signature.
 
int ksceSblRSA2048VerifySignature (SceSblRsaDataParam *rsa_signature, SceSblRsaDataParam *hash, SceSblRsaPublicKeyParam *public_key, int type)
 Verify an RSA-2048 signature.
 
int ksceSblCoredumpKeyStoreInitialize (void)
 Initialize the coredump key store.
 
int ksceSblCoredumpKeyStoreFinalize (void)
 Securely clear and finalize the coredump key store.
 
int ksceSblCoredumpGetHmacKey (SceUInt32 key_id, SceSize key_size, void *key)
 Get a coredump HMAC-SHA-256 key.
 
int ksceSblCoredumpGetAesKey (SceUInt32 key_id, SceSize key_size, void *key)
 Get a coredump AES-128 key.
 
int ksceSblPostSsMgrEncryptSealedkey (SceSblSealedKey *sealed_key)
 Create a sealed-key blob containing a newly generated secret.
 
int ksceSblPostSsMgrDecryptSealedkey (const SceSblSealedKey *sealed_key, SceUInt8 *secret)
 Authenticate a sealed-key blob and decrypt its secret.
 
int ksceSblPostSsMgrDebugEncryptKeystone (const SceUInt8 *secret, SceSblDebugKeystone *keystone)
 Encrypt a secret into a debug keystone.
 
int ksceSblPostSsMgrDebugDecryptKeystone (const SceSblDebugKeystone *keystone, SceUInt8 *secret)
 Validate the header and decrypt a debug keystone.
 
int ksceSblPostSsMgrVerifyKeystone (const SceSblKeystone *keystone, int version)
 Verify a keystone without a passcode.
 
int ksceSblPostSsMgrVerifyKeystoneWithPasscode (const SceSblKeystone *keystone, const SceUInt8 *passcode)
 Verify a keystone using a passcode.
 
int ksceSblPostSsMgrGenerateAppKey (const SceSblAppKey *input, SceSblAppKey *output)
 Transform an application key using the portability key.
 
int ksceSblSsMgrCloudDataGetEncDecCryptHandle (SceSblCloudDataKeyRing *key_ring)
 Get the cloud-data encryption and decryption key ring.
 
int ksceSblSsMgrCloudDataGetSignCryptHandle (SceUInt32 mode, SceUInt32 index, SceSblCloudDataSignCryptHandle *handle)
 Get one cloud-data RSA signing handle.
 
int ksceSblSsMgrCloudDataStop (void)
 Securely clear the cloud-data encryption and signing key rings.
 
int ksceSblFwLoaderLoad (int e_phnum, void *destination, SceSize max_size, SceSize *loaded_size)
 Load an authenticated firmware image.
 
int ksceSblFwLoaderLock (const char *path, int reserved)
 Lock and authenticate a firmware image.
 
int ksceSblFwLoaderUnlock (void)
 Release the firmware-loader lock and discard the saved path.
 
int ksceSblLicMgrGetActivationKey (SceSblActivationKey *key)
 Get the activation key.
 
int ksceSblLicMgrGetLicenseStatus (void)
 Get the cached license state.
 
int ksceSblLicMgrActivateDevkit (const char *afv_path)
 Activate a development kit from an activation file.
 
int ksceSblLicMgrGetExpireDate (int *expire_date, SceBool read_from_nvs)
 Get the cached activation expiration time or refresh it from NVS.
 
int ksceSblPmMgrSetSdModeOff (SceUInt32 reserved)
 Disable SD mode through the PM secure module.
 
int ksceSblPmMgrSetProductMode (SceBool enable)
 Enter or leave manufacturing mode through the PM secure module.
 
int ksceSblPmMgrGetProductModeFromNVS (SceUInt8 *product_mode)
 Read the raw product-mode byte from NVS through the PM secure module.
 
int ksceSblPmMgrAuthEtoI (void)
 Perform the EtoI jig-authentication exchange through pm_sm_sd.self.
 
int ksceSblRtcMgrSetCpRtcPhysical (int rtc)
 Set the 32-bit CP physical RTC value.
 
int ksceSblRtcMgrSetCpRtcLogical (int rtc)
 Set the CP logical RTC.
 
int ksceSblRtcMgrGetCpRtcLogical (int *rtc)
 Get the 32-bit CP logical RTC value.
 
int ksceSblRtcMgrGetCpRtcPhysical (int *rtc)
 Get the 32-bit CP physical RTC value.
 
int ksceSblSpsfoMgrOpen (const char *path, SceSblSpsfoContext *context)
 Open an SPSFO file in a mapped memory block.
 
int ksceSblSpsfoMgrClose (SceSblSpsfoContext *context)
 Close an SPSFO context and release its mapped memory block.
 
int ksceSblSpsfoMgrVerify (SceSblSpsfoContext *context, void **payload, SceSize *payload_size)
 Verify an opened SPSFO file.
 
int ksceSblUtMgrVerifyAndStoreUtoken (const SceUtoken *utoken, SceSize size)
 Verify an encrypted Utoken and write it to storage.
 
int ksceSblUtMgrGetSelfAuthInfo (SceUtokenSelfAuthInfo *self_auth_info)
 Get the Utoken type-11 self-authorization override.
 
int ksceSblUtMgrHasComTestFlag (void)
 Check whether the initialized Utoken contains a COM-test PAID.
 
int ksceSblUtMgrHasNpTestFlag (void)
 Check whether NP-test policy is enabled.
 
int ksceSblUtMgrHasStoreFlag (void)
 Check whether Utoken flag bit 4 enables Store-mode policy.
 
int ksceSblUtMgrHasFlag1 (void)
 Get Utoken flag bit 1.
 
int ksceSblUtMgrHasFlag6 (void)
 Get Utoken flag bit 6.
 
int ksceSblUtMgrHasFlag7 (void)
 Get Utoken flag bit 7.
 
int ksceSblUtMgrHasFlag8 (void)
 Get Utoken flag bit 8.
 
int ksceSblUtMgrHasFlag9 (void)
 Get Utoken flag bit 9.
 
SceBool ksceSblUtMgrIsAllowComTest (SceUID pid)
 Check whether a process is allowed to use COM test mode.
 
SceBool ksceSblUtMgrIsAllowProgramDebug (SceUInt64 program_authority_id)
 Check whether a program authority ID is in the Utoken debug whitelist.
 
int ksceSblUtMgrResetUtokenFile (void)
 Overwrite and remove the stored Utoken file.
 

Variables

SceUInt8 SceSblActivationKey::open_psid [0x10]
 A SceOpenPsId value.
 
SceUInt32 SceSblActivationKey::vadd_hash
 Four byte-wise sums of the OpenPSID lanes.
 
SceUID SceSblSpsfoContext::mem_uid
 Memory block UID.
 
void * SceSblSpsfoContext::mem_block_base
 Mapped memory block base address.
 
SceSize SceSblSpsfoContext::file_size
 Exact SPSFO file size.
 
SceSize SceSblAppKey::size
 Number of valid key bytes. Must be 0x10 or 0x20.
 
SceUInt8 SceSblAppKey::key [0x20]
 Key data.
 
SceUInt8 SceUtoken::encrypted_data [0x800]
 Encrypted Utoken file contents.
 
SceUInt64 SceUtokenSelfAuthInfo::program_authority_id
 Replacement program authority ID.
 
SceUInt8 SceUtokenSelfAuthInfo::capability [0x20]
 Replacement capability bits.
 
SceUInt8 SceUtokenSelfAuthInfo::attribute [0x20]
 Replacement attribute bits.
 
SceUInt8 SceUtokenSelfAuthInfo::shared_secret [0x10]
 Replacement shared secret.
 
char SceSblSealedKey::magic [8]
 Must be "pfsSKKey".
 
SceUInt8 SceSblSealedKey::major_version
 Set to 2 when generated; legacy values 0 and 1 are also accepted.
 
SceUInt8 SceSblSealedKey::minor_version
 Must be 0 for the supported versions.
 
SceUInt8 SceSblSealedKey::reserved [6]
 Set to 0 by ksceSblPostSsMgrEncryptSealedkey.
 
SceUInt8 SceSblSealedKey::iv [0x10]
 
SceUInt8 SceSblSealedKey::encrypted_key [0x10]
 
SceUInt8 SceSblSealedKey::hmac [0x20]
 
char SceSblKeystone::magic [8]
 Must be "keystone".
 
SceUInt16 SceSblKeystone::type
 Must be 2.
 
SceUInt16 SceSblKeystone::version
 Supported values are 0 and 1.
 
SceUInt8 SceSblKeystone::reserved [0x14]
 Included in the keystone HMAC.
 
SceUInt8 SceSblKeystone::passcode_digest [0x20]
 
SceUInt8 SceSblKeystone::keystone_digest [0x20]
 
char SceSblDebugKeystone::magic [8]
 Must be "keystone".
 
SceUInt16 SceSblDebugKeystone::type
 Must be 1.
 
SceUInt16 SceSblDebugKeystone::version
 Set to 0 when encrypted and ignored when decrypted.
 
SceUInt8 SceSblDebugKeystone::reserved [4]
 Set to 0 when encrypted and ignored when decrypted.
 
SceUInt8 SceSblDebugKeystone::iv [0x10]
 
SceUInt8 SceSblDebugKeystone::encrypted_secret [0x20]
 
char SceSblCloudDataKeyRing::magic [8]
 Magic value "CloudBU" followed by a NUL byte.
 
SceUInt32 SceSblCloudDataKeyRing::version
 Supported values are 0 and 1.
 
SceUInt8 SceSblCloudDataKeyRing::opaque_header_data [4]
 Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.
 
SceUInt8 SceSblCloudDataKeyRing::p [0x80]
 RSA prime p.
 
SceUInt8 SceSblCloudDataKeyRing::q [0x80]
 RSA prime q.
 
SceUInt8 SceSblCloudDataKeyRing::dp [0x80]
 d mod (p - 1).
 
SceUInt8 SceSblCloudDataKeyRing::dq [0x80]
 d mod (q - 1).
 
SceUInt8 SceSblCloudDataKeyRing::qp [0x80]
 q^-1 mod p.
 
SceUInt8 SceSblCloudDataKeyRing::opaque_trailer_data [0x10]
 Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.
 
SceUInt32 SceSblCloudDataRsaValue::words [0x40]
 Zero-padded little-endian 32-bit words.
 
SceSize SceSblCloudDataRsaValue::size
 Number of significant source bytes, up to 0x100.
 
SceSblCloudDataRsaValue SceSblCloudDataSignCryptHandle::modulus
 
SceSblCloudDataRsaValue SceSblCloudDataSignCryptHandle::exponent
 
void * SceSblRsaDataParam::data
 Data buffer.
 
unsigned int SceSblRsaDataParam::size
 Data size in bytes.
 
const void * SceSblRsaPublicKeyParam::n
 Pointer to the RSA modulus.
 
const void * SceSblRsaPublicKeyParam::k
 Pointer to the RSA exponent.
 
int SceSblRsaPrivateKeyParam::unk_0x00
 
int SceSblRsaPrivateKeyParam::unk_0x04
 
int SceSblRsaPrivateKeyParam::unk_0x08
 
int SceSblRsaPrivateKeyParam::unk_0x0C
 
void * SceSblRsaPrivateKeyParam::p
 Pointer to the 0x80-byte RSA prime p.
 
void * SceSblRsaPrivateKeyParam::q
 Pointer to the 0x80-byte RSA prime q.
 
void * SceSblRsaPrivateKeyParam::dp
 d mod (p - 1).
 
void * SceSblRsaPrivateKeyParam::dq
 d mod (q - 1).
 
void * SceSblRsaPrivateKeyParam::qp
 q^-1 mod p.
 

Detailed Description

Exports for Kernel.


Using this library in your project

Include the header file in your project:




Using this library in your project

Include the header file in your project:


Link the library to the executable:

SceSblPostSsMgrForDriver_stub SceSblFwLoaderForDriver_stub




Data Structure Documentation

◆ SceSblActivationKey

struct SceSblActivationKey
Data Fields
SceUInt8 open_psid[0x10] A SceOpenPsId value.
SceUInt32 vadd_hash Four byte-wise sums of the OpenPSID lanes.

◆ SceSblSpsfoContext

struct SceSblSpsfoContext

An SPSFO file mapped by ksceSblSpsfoMgrOpen.

Data Fields
SceUID mem_uid Memory block UID.
void * mem_block_base Mapped memory block base address.
SceSize file_size Exact SPSFO file size.

◆ SceSblAppKey

struct SceSblAppKey
Data Fields
SceSize size Number of valid key bytes. Must be 0x10 or 0x20.
SceUInt8 key[0x20] Key data.

◆ SceUtoken

struct SceUtoken
Data Fields
SceUInt8 encrypted_data[0x800] Encrypted Utoken file contents.

◆ SceUtokenSelfAuthInfo

struct SceUtokenSelfAuthInfo

Complete SELF authorization override stored in Utoken segment type 11.

Data Fields
SceUInt64 program_authority_id Replacement program authority ID.
SceUInt8 capability[0x20] Replacement capability bits.
SceUInt8 attribute[0x20] Replacement attribute bits.
SceUInt8 shared_secret[0x10] Replacement shared secret.

◆ SceSblSealedKey

struct SceSblSealedKey
Data Fields
char magic[8] Must be "pfsSKKey".
SceUInt8 major_version Set to 2 when generated; legacy values 0 and 1 are also accepted.
SceUInt8 minor_version Must be 0 for the supported versions.
SceUInt8 reserved[6] Set to 0 by ksceSblPostSsMgrEncryptSealedkey.
SceUInt8 iv[0x10]
SceUInt8 encrypted_key[0x10]
SceUInt8 hmac[0x20]

◆ SceSblKeystone

struct SceSblKeystone
Data Fields
char magic[8] Must be "keystone".
SceUInt16 type Must be 2.
SceUInt16 version Supported values are 0 and 1.
SceUInt8 reserved[0x14] Included in the keystone HMAC.
SceUInt8 passcode_digest[0x20]
SceUInt8 keystone_digest[0x20]

◆ SceSblDebugKeystone

struct SceSblDebugKeystone
Data Fields
char magic[8] Must be "keystone".
SceUInt16 type Must be 1.
SceUInt16 version Set to 0 when encrypted and ignored when decrypted.
SceUInt8 reserved[4] Set to 0 when encrypted and ignored when decrypted.
SceUInt8 iv[0x10]
SceUInt8 encrypted_secret[0x20]

◆ SceSblCloudDataKeyRing

struct SceSblCloudDataKeyRing
Data Fields
char magic[8] Magic value "CloudBU" followed by a NUL byte.
SceUInt32 version Supported values are 0 and 1.
SceUInt8 opaque_header_data[4] Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.
SceUInt8 p[0x80] RSA prime p.
SceUInt8 q[0x80] RSA prime q.
SceUInt8 dp[0x80] d mod (p - 1).
SceUInt8 dq[0x80] d mod (q - 1).
SceUInt8 qp[0x80] q^-1 mod p.
SceUInt8 opaque_trailer_data[0x10] Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.

◆ SceSblCloudDataRsaValue

struct SceSblCloudDataRsaValue
Data Fields
SceUInt32 words[0x40] Zero-padded little-endian 32-bit words.
SceSize size Number of significant source bytes, up to 0x100.

◆ SceSblCloudDataSignCryptHandle

struct SceSblCloudDataSignCryptHandle
Data Fields
SceSblCloudDataRsaValue modulus
SceSblCloudDataRsaValue exponent

◆ SceSblRsaDataParam

struct SceSblRsaDataParam
Data Fields
void * data Data buffer.
unsigned int size Data size in bytes.

◆ SceSblRsaPublicKeyParam

struct SceSblRsaPublicKeyParam
Data Fields
const void * n Pointer to the RSA modulus.
const void * k Pointer to the RSA exponent.

◆ SceSblRsaPrivateKeyParam

struct SceSblRsaPrivateKeyParam
Data Fields
int unk_0x00
int unk_0x04
int unk_0x08
int unk_0x0C
void * p Pointer to the 0x80-byte RSA prime p.
void * q Pointer to the 0x80-byte RSA prime q.
void * dp d mod (p - 1).
void * dq d mod (q - 1).
void * qp q^-1 mod p.

Macro Definition Documentation

◆ ksceSblPostSsMgrActivate

#define ksceSblPostSsMgrActivate   ksceSblLicMgrActivateDevkit

◆ ksceSblPostSsMgrGetExpireDate

#define ksceSblPostSsMgrGetExpireDate   ksceSblLicMgrGetExpireDate

◆ _ksceSblPostSsMgrExecutePmSmF00dCommand

#define _ksceSblPostSsMgrExecutePmSmF00dCommand   ksceSblPmMgrSetSdModeOff

◆ ksceSblPostSsMgrExecutePmSmF00dCommand

#define ksceSblPostSsMgrExecutePmSmF00dCommand   ksceSblPmMgrSetProductMode

◆ ksceSblPostSsMgrExecutePmSmF00dCommand8

#define ksceSblPostSsMgrExecutePmSmF00dCommand8   ksceSblPmMgrGetProductModeFromNVS

◆ ksceSblPostSsMgrExecutePmSmSdF00dCommand

#define ksceSblPostSsMgrExecutePmSmSdF00dCommand   ksceSblPmMgrAuthEtoI

◆ ksceSblPostSsMgrSetCpRtc

#define ksceSblPostSsMgrSetCpRtc   ksceSblRtcMgrSetCpRtcPhysical

◆ ksceSblPostSsMgrInitializeSpfsoCtx

#define ksceSblPostSsMgrInitializeSpfsoCtx   ksceSblSpsfoMgrOpen

◆ ksceSblPostSsMgrReleaseSpfsoCtx

#define ksceSblPostSsMgrReleaseSpfsoCtx   ksceSblSpsfoMgrClose

◆ ksceSblPostSsMgrVerifySpfsoCtx

#define ksceSblPostSsMgrVerifySpfsoCtx   ksceSblSpsfoMgrVerify

◆ ksceSblUtMgrExecuteUtokenSmCommand1

#define ksceSblUtMgrExecuteUtokenSmCommand1   ksceSblUtMgrVerifyAndStoreUtoken

◆ ksceSblUtMgrGetTrilithiumBuffer

#define ksceSblUtMgrGetTrilithiumBuffer   ksceSblUtMgrGetSelfAuthInfo

◆ ksceSblUtMgrHasPSMTestFlag

#define ksceSblUtMgrHasPSMTestFlag   ksceSblUtMgrHasFlag1

◆ ksceSblUtMgrHasSystemDataFilePlayReadyFlag

#define ksceSblUtMgrHasSystemDataFilePlayReadyFlag   ksceSblUtMgrHasFlag8

Typedef Documentation

◆ SceSblSpfsoContext

Misspelled alias retained for backwards compatibility.

Enumeration Type Documentation

◆ SceSblProductMode

Product modes reported by SceSblPmMgr.

Enumerator
SCE_SBL_PRODUCT_MODE_NORMAL 
SCE_SBL_PRODUCT_MODE_MANUFACTURING 

◆ SceSblLicenseStatus

Cached development/testing-kit activation states reported by SceSblLicMgr.

Enumerator
SCE_SBL_LICENSE_STATUS_UNINITIALIZED 
SCE_SBL_LICENSE_STATUS_ACTIVATED 
SCE_SBL_LICENSE_STATUS_EXPIRED 
SCE_SBL_LICENSE_STATUS_BACKUP_BATTERY_FAILURE 

◆ SceSblRsaHashType

Hash algorithms accepted by the RSA PKCS #1 v1.5 helpers.

Enumerator
SCE_SBL_RSA_HASH_TYPE_MD2 
SCE_SBL_RSA_HASH_TYPE_MD5 
SCE_SBL_RSA_HASH_TYPE_SHA1 
SCE_SBL_RSA_HASH_TYPE_SHA256 
SCE_SBL_RSA_HASH_TYPE_SHA384 
SCE_SBL_RSA_HASH_TYPE_SHA512 
SCE_SBL_RSA_HASH_TYPE_SHA224 

Function Documentation

◆ VITASDK_BUILD_ASSERT_EQ() [1/14]

VITASDK_BUILD_ASSERT_EQ ( 0x14  ,
SceSblActivationKey   
)

◆ VITASDK_BUILD_ASSERT_EQ() [2/14]

VITASDK_BUILD_ASSERT_EQ ( 0xC  ,
SceSblSpsfoContext   
)

◆ VITASDK_BUILD_ASSERT_EQ() [3/14]

VITASDK_BUILD_ASSERT_EQ ( 0x24  ,
SceSblAppKey   
)

◆ VITASDK_BUILD_ASSERT_EQ() [4/14]

VITASDK_BUILD_ASSERT_EQ ( 0x800  ,
SceUtoken   
)

◆ VITASDK_BUILD_ASSERT_EQ() [5/14]

VITASDK_BUILD_ASSERT_EQ ( 0x58  ,
SceUtokenSelfAuthInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [6/14]

VITASDK_BUILD_ASSERT_EQ ( 0x50  ,
SceSblSealedKey   
)

◆ VITASDK_BUILD_ASSERT_EQ() [7/14]

VITASDK_BUILD_ASSERT_EQ ( 0x60  ,
SceSblKeystone   
)

◆ VITASDK_BUILD_ASSERT_EQ() [8/14]

VITASDK_BUILD_ASSERT_EQ ( 0x40  ,
SceSblDebugKeystone   
)

◆ VITASDK_BUILD_ASSERT_EQ() [9/14]

VITASDK_BUILD_ASSERT_EQ ( 0x2A0  ,
SceSblCloudDataKeyRing   
)

◆ VITASDK_BUILD_ASSERT_EQ() [10/14]

VITASDK_BUILD_ASSERT_EQ ( 0x104  ,
SceSblCloudDataRsaValue   
)

◆ VITASDK_BUILD_ASSERT_EQ() [11/14]

VITASDK_BUILD_ASSERT_EQ ( 0x208  ,
SceSblCloudDataSignCryptHandle   
)

◆ VITASDK_BUILD_ASSERT_EQ() [12/14]

VITASDK_BUILD_ASSERT_EQ ( 8  ,
SceSblRsaDataParam   
)

◆ VITASDK_BUILD_ASSERT_EQ() [13/14]

VITASDK_BUILD_ASSERT_EQ ( 8  ,
SceSblRsaPublicKeyParam   
)

◆ VITASDK_BUILD_ASSERT_EQ() [14/14]

VITASDK_BUILD_ASSERT_EQ ( 0x24  ,
SceSblRsaPrivateKeyParam   
)

◆ ksceSblRSA2048CreateSignature()

int ksceSblRSA2048CreateSignature ( SceSblRsaDataParam *  rsa_signature,
SceSblRsaDataParam *  hash,
SceSblRsaPrivateKeyParam *  private_key,
int  type 
)

Create an RSA-2048 signature.

Parameters
[out]rsa_signature- Receives a 0x100-byte signature.
[in]hash- Hash to sign.
[in]private_key- RSA private key.
[in]type- One of SceSblRsaHashType. Declared as an integer for backwards compatibility.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblRSA2048VerifySignature()

int ksceSblRSA2048VerifySignature ( SceSblRsaDataParam *  rsa_signature,
SceSblRsaDataParam *  hash,
SceSblRsaPublicKeyParam *  public_key,
int  type 
)

Verify an RSA-2048 signature.

Parameters
[in]rsa_signature- 0x100-byte signature.
[in]hash- Hash to verify.
[in]public_key- RSA modulus and exponent.
[in]type- One of SceSblRsaHashType. Declared as an integer for backwards compatibility.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblCoredumpKeyStoreInitialize()

int ksceSblCoredumpKeyStoreInitialize ( void  )

Initialize the coredump key store.

Returns
SCE_OK on success, < 0 on error.

◆ ksceSblCoredumpKeyStoreFinalize()

int ksceSblCoredumpKeyStoreFinalize ( void  )

Securely clear and finalize the coredump key store.

Returns
SCE_OK on success, < 0 on error.

◆ ksceSblCoredumpGetHmacKey()

int ksceSblCoredumpGetHmacKey ( SceUInt32  key_id,
SceSize  key_size,
void *  key 
)

Get a coredump HMAC-SHA-256 key.

Parameters
[in]key_id- Key ID from 1 through 3.
[in]key_size- Must be 0x20.
[out]key- Receives the key.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblCoredumpGetAesKey()

int ksceSblCoredumpGetAesKey ( SceUInt32  key_id,
SceSize  key_size,
void *  key 
)

Get a coredump AES-128 key.

Parameters
[in]key_id- Key ID from 1 through 4, 0x10000001, or 0x10000002.
[in]key_size- Must be 0x10.
[out]key- Receives the key.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrEncryptSealedkey()

int ksceSblPostSsMgrEncryptSealedkey ( SceSblSealedKey *  sealed_key)

Create a sealed-key blob containing a newly generated secret.

Parameters
[out]sealed_key- Receives a SceSblSealedKey structure.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrDecryptSealedkey()

int ksceSblPostSsMgrDecryptSealedkey ( const SceSblSealedKey *  sealed_key,
SceUInt8 *  secret 
)

Authenticate a sealed-key blob and decrypt its secret.

Parameters
[in]sealed_key- Sealed-key blob to decrypt.
[out]secret- Receives exactly 0x10 bytes.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrDebugEncryptKeystone()

int ksceSblPostSsMgrDebugEncryptKeystone ( const SceUInt8 *  secret,
SceSblDebugKeystone *  keystone 
)

Encrypt a secret into a debug keystone.

Parameters
[in]secret- Exactly 0x20 input bytes.
[out]keystone- Receives a SceSblDebugKeystone structure.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrDebugDecryptKeystone()

int ksceSblPostSsMgrDebugDecryptKeystone ( const SceSblDebugKeystone *  keystone,
SceUInt8 *  secret 
)

Validate the header and decrypt a debug keystone.

Unlike ksceSblPostSsMgrVerifyKeystone, this function does not authenticate the encrypted data or check the version or reserved fields.

Parameters
[in]keystone- Debug keystone to decrypt.
[out]secret- Receives exactly 0x20 bytes.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrVerifyKeystone()

int ksceSblPostSsMgrVerifyKeystone ( const SceSblKeystone *  keystone,
int  version 
)

Verify a keystone without a passcode.

Parameters
[in]keystone- Keystone to verify.
[in]version- Expected SceSblKeystone::version value. Must be 0 or 1.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrVerifyKeystoneWithPasscode()

int ksceSblPostSsMgrVerifyKeystoneWithPasscode ( const SceSblKeystone *  keystone,
const SceUInt8 *  passcode 
)

Verify a keystone using a passcode.

Parameters
[in]keystone- Keystone to verify.
[in]passcode- Exactly 0x20 passcode bytes.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPostSsMgrGenerateAppKey()

int ksceSblPostSsMgrGenerateAppKey ( const SceSblAppKey *  input,
SceSblAppKey *  output 
)

Transform an application key using the portability key.

Parameters
[in]input- Input key. Its size must be 0x10 or 0x20.
[out]output- Receives the transformed key and copied size.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSsMgrCloudDataGetEncDecCryptHandle()

int ksceSblSsMgrCloudDataGetEncDecCryptHandle ( SceSblCloudDataKeyRing *  key_ring)

Get the cloud-data encryption and decryption key ring.

Parameters
[out]key_ring- Receives a SceSblCloudDataKeyRing structure.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSsMgrCloudDataGetSignCryptHandle()

int ksceSblSsMgrCloudDataGetSignCryptHandle ( SceUInt32  mode,
SceUInt32  index,
SceSblCloudDataSignCryptHandle *  handle 
)

Get one cloud-data RSA signing handle.

Parameters
[in]mode- Must be 1.
[in]index- Handle index, 0 or 1.
[out]handle- Receives the modulus and exponent.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSsMgrCloudDataStop()

int ksceSblSsMgrCloudDataStop ( void  )

Securely clear the cloud-data encryption and signing key rings.

Returns
SCE_OK on success, < 0 on error.

◆ ksceSblFwLoaderLoad()

int ksceSblFwLoaderLoad ( int  e_phnum,
void *  destination,
SceSize  max_size,
SceSize *  loaded_size 
)

Load an authenticated firmware image.

Call ksceSblFwLoaderLock first and ksceSblFwLoaderUnlock afterward. On FW 3.60, the saved path can be used for only one load attempt. To load another image, repeat the lock/load/unlock sequence.

Parameters
[in]e_phnum- Must be 1 on FW 3.60.
[out]destination- Destination buffer.
[in]max_size- Destination capacity.
[out]loaded_size- Receives the number of bytes loaded.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblFwLoaderLock()

int ksceSblFwLoaderLock ( const char *  path,
int  reserved 
)

Lock and authenticate a firmware image.

This function acquires the module's shared lock, which is held until ksceSblFwLoaderUnlock is called.

Parameters
[in]path- NUL-terminated firmware SELF path of at most 255 bytes.
[in]reserved- Must be zero on FW 3.60.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblFwLoaderUnlock()

int ksceSblFwLoaderUnlock ( void  )

Release the firmware-loader lock and discard the saved path.

Returns
SCE_OK on success, < 0 if no load sequence is active.

◆ ksceSblLicMgrGetActivationKey()

int ksceSblLicMgrGetActivationKey ( SceSblActivationKey *  key)

Get the activation key.

Parameters
[out]key- Receives a SceSblActivationKey structure.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblLicMgrGetLicenseStatus()

int ksceSblLicMgrGetLicenseStatus ( void  )

Get the cached license state.

Returns
-1 if uninitialized, 0 if activated, 1 if expired, or 2 for the backup-battery condition.

◆ ksceSblLicMgrActivateDevkit()

int ksceSblLicMgrActivateDevkit ( const char *  afv_path)

Activate a development kit from an activation file.

Parameters
[in]afv_path- NUL-terminated path, at most 255 bytes excluding the terminating NUL. FW 3.60 accepts paths under host0:, ux0:/data/activate/, and ur0:/temp/activation.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblLicMgrGetExpireDate()

int ksceSblLicMgrGetExpireDate ( int *  expire_date,
SceBool  read_from_nvs 
)

Get the cached activation expiration time or refresh it from NVS.

Parameters
[out]expire_date- When read_from_nvs is zero, receives the cached absolute expiration time. Otherwise receives the refreshed number of seconds remaining.
[in]read_from_nvs- Nonzero reads and verifies the NVS activation data.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPmMgrSetSdModeOff()

int ksceSblPmMgrSetSdModeOff ( SceUInt32  reserved)

Disable SD mode through the PM secure module.

Parameters
[in]reserved- Must be zero on FW 3.60.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPmMgrSetProductMode()

int ksceSblPmMgrSetProductMode ( SceBool  enable)

Enter or leave manufacturing mode through the PM secure module.

Only bit 0 of enable is used on FW 3.60. The boot-time cached value returned by the user getters is not updated.

Parameters
[in]enable- Nonzero to enter manufacturing mode; zero to leave it.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPmMgrGetProductModeFromNVS()

int ksceSblPmMgrGetProductModeFromNVS ( SceUInt8 *  product_mode)

Read the raw product-mode byte from NVS through the PM secure module.

Values written by the FW 3.60 product-mode operations correspond to SceSblProductMode.

Parameters
[out]product_mode- Receives exactly one byte.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblPmMgrAuthEtoI()

int ksceSblPmMgrAuthEtoI ( void  )

Perform the EtoI jig-authentication exchange through pm_sm_sd.self.

Returns
SCE_OK on success, < 0 on error.

◆ ksceSblRtcMgrSetCpRtcPhysical()

int ksceSblRtcMgrSetCpRtcPhysical ( int  rtc)

Set the 32-bit CP physical RTC value.

Parameters
[in]rtc- New physical RTC value.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblRtcMgrSetCpRtcLogical()

int ksceSblRtcMgrSetCpRtcLogical ( int  rtc)

Set the CP logical RTC.

Parameters
[in]rtc- Logical RTC value on implementations that support the operation.
Note
FW 3.60 does not implement this operation and returns 0x800F1025.
Returns
Always 0x800F1025 on FW 3.60.

◆ ksceSblRtcMgrGetCpRtcLogical()

int ksceSblRtcMgrGetCpRtcLogical ( int *  rtc)

Get the 32-bit CP logical RTC value.

Parameters
[out]rtc- Receives the logical RTC value.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblRtcMgrGetCpRtcPhysical()

int ksceSblRtcMgrGetCpRtcPhysical ( int *  rtc)

Get the 32-bit CP physical RTC value.

Parameters
[out]rtc- Receives the physical RTC value.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSpsfoMgrOpen()

int ksceSblSpsfoMgrOpen ( const char *  path,
SceSblSpsfoContext *  context 
)

Open an SPSFO file in a mapped memory block.

FW 3.60 accepts files up to 0x8000 bytes on gro0:, ur0:, and ux0:. host0: is accepted on non-CEX systems when QAF permits host access.

Parameters
[in]path- NUL-terminated SPSFO path of at most 255 bytes.
[out]context- Receives the opened context.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSpsfoMgrClose()

int ksceSblSpsfoMgrClose ( SceSblSpsfoContext *  context)

Close an SPSFO context and release its mapped memory block.

The context is not cleared after its memory block is released.

Parameters
[in,out]context- Context returned by ksceSblSpsfoMgrOpen.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblSpsfoMgrVerify()

int ksceSblSpsfoMgrVerify ( SceSblSpsfoContext *  context,
void **  payload,
SceSize *  payload_size 
)

Verify an opened SPSFO file.

The returned payload points inside the context's mapped memory and remains valid only until ksceSblSpsfoMgrClose is called. AuthMgr requires the mapped base address to be 0x20-byte aligned. It verifies the file through secure command 8 before the payload is returned.

Parameters
[in]context- Context returned by ksceSblSpsfoMgrOpen.
[out]payload- Receives the verified payload address.
[out]payload_size- Receives the verified payload size in bytes.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblUtMgrVerifyAndStoreUtoken()

int ksceSblUtMgrVerifyAndStoreUtoken ( const SceUtoken *  utoken,
SceSize  size 
)

Verify an encrypted Utoken and write it to storage.

Parameters
[in]utoken- Encrypted Utoken.
[in]size- Must be at least 0x800; exactly 0x800 bytes are used.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblUtMgrGetSelfAuthInfo()

int ksceSblUtMgrGetSelfAuthInfo ( SceUtokenSelfAuthInfo *  self_auth_info)

Get the Utoken type-11 self-authorization override.

The output pointer must be non-NULL. FW 3.60 returns 0x800F1A02 when the initialized Utoken does not contain a valid type-11 segment. AuthMgr uses this override after SELF authentication for programs in the 0x2F0 PAID family, replacing the program authority ID, capability, attribute, and shared-secret fields together.

Parameters
[out]self_auth_info- Receives a SceUtokenSelfAuthInfo structure.
Returns
SCE_OK on success, < 0 on error.

◆ ksceSblUtMgrHasComTestFlag()

int ksceSblUtMgrHasComTestFlag ( void  )

Check whether the initialized Utoken contains a COM-test PAID.

◆ ksceSblUtMgrHasNpTestFlag()

int ksceSblUtMgrHasNpTestFlag ( void  )

Check whether NP-test policy is enabled.

This is enabled by Utoken flag bit 11 or by the Utoken name UT_TRILITHIUM_FLAG on FW 3.60.

◆ ksceSblUtMgrHasStoreFlag()

int ksceSblUtMgrHasStoreFlag ( void  )

Check whether Utoken flag bit 4 enables Store-mode policy.

Callers use this flag for Store-specific DRM/save-data policy, privileged update authorization, and the alternate advertisement-network clock.

◆ ksceSblUtMgrHasFlag1()

int ksceSblUtMgrHasFlag1 ( void  )

Get Utoken flag bit 1.

SceSblACMgr uses this as an additional permission for selected FSELF operations, including PSM-program, USB-serial, and virtual-machine policy.

◆ ksceSblUtMgrHasFlag6()

int ksceSblUtMgrHasFlag6 ( void  )

Get Utoken flag bit 6.

SceSblUpdateMgr accepts this flag alongside QAF, COM-test, and Store authorization for update containers marked as requiring privileged update policy.

◆ ksceSblUtMgrHasFlag7()

int ksceSblUtMgrHasFlag7 ( void  )

Get Utoken flag bit 7.

AppMgr uses this flag to allow save-data mounting to continue when keystone verification fails.

◆ ksceSblUtMgrHasFlag8()

int ksceSblUtMgrHasFlag8 ( void  )

Get Utoken flag bit 8.

SceSblACMgr uses this as the FSELF fallback for its capability-134 policy. The broader purpose of the flag is unknown.

◆ ksceSblUtMgrHasFlag9()

int ksceSblUtMgrHasFlag9 ( void  )

Get Utoken flag bit 9.

AppMgr requires this flag for the PAID-specific operation that mounts a special save-data path and reads its ACCOUNT_ID.

◆ ksceSblUtMgrIsAllowComTest()

SceBool ksceSblUtMgrIsAllowComTest ( SceUID  pid)

Check whether a process is allowed to use COM test mode.

Parameters
[in]pid- Process whose program authority ID is checked.
Returns
1 when the process matches the Utoken COM-test PAID, or 0 otherwise.

◆ ksceSblUtMgrIsAllowProgramDebug()

SceBool ksceSblUtMgrIsAllowProgramDebug ( SceUInt64  program_authority_id)

Check whether a program authority ID is in the Utoken debug whitelist.

Parameters
[in]program_authority_id- Nonzero program authority ID to check against the 32-entry whitelist.
Returns
1 when allowed, or 0 otherwise.

◆ ksceSblUtMgrResetUtokenFile()

int ksceSblUtMgrResetUtokenFile ( void  )

Overwrite and remove the stored Utoken file.

Already parsed Utoken flags remain cached on FW 3.60 until the module is reinitialized.

Variable Documentation

◆ open_psid

SceUInt8 SceSblActivationKey::open_psid[0x10]

A SceOpenPsId value.

◆ vadd_hash

SceUInt32 SceSblActivationKey::vadd_hash

Four byte-wise sums of the OpenPSID lanes.

◆ mem_uid

SceUID SceSblSpsfoContext::mem_uid

Memory block UID.

◆ mem_block_base

void* SceSblSpsfoContext::mem_block_base

Mapped memory block base address.

◆ file_size

SceSize SceSblSpsfoContext::file_size

Exact SPSFO file size.

◆ size [1/3]

SceSize SceSblAppKey::size

Number of valid key bytes. Must be 0x10 or 0x20.

◆ key

SceUInt8 SceSblAppKey::key[0x20]

Key data.

◆ encrypted_data

SceUInt8 SceUtoken::encrypted_data[0x800]

Encrypted Utoken file contents.

◆ program_authority_id

SceUInt64 SceUtokenSelfAuthInfo::program_authority_id

Replacement program authority ID.

◆ capability

SceUInt8 SceUtokenSelfAuthInfo::capability[0x20]

Replacement capability bits.

◆ attribute

SceUInt8 SceUtokenSelfAuthInfo::attribute[0x20]

Replacement attribute bits.

◆ shared_secret

SceUInt8 SceUtokenSelfAuthInfo::shared_secret[0x10]

Replacement shared secret.

◆ magic [1/4]

char SceSblSealedKey::magic[8]

Must be "pfsSKKey".

◆ major_version

SceUInt8 SceSblSealedKey::major_version

Set to 2 when generated; legacy values 0 and 1 are also accepted.

◆ minor_version

SceUInt8 SceSblSealedKey::minor_version

Must be 0 for the supported versions.

◆ reserved [1/3]

SceUInt8 SceSblSealedKey::reserved[6]

◆ iv [1/2]

SceUInt8 SceSblSealedKey::iv[0x10]

◆ encrypted_key

SceUInt8 SceSblSealedKey::encrypted_key[0x10]

◆ hmac

SceUInt8 SceSblSealedKey::hmac[0x20]

◆ magic [2/4]

char SceSblKeystone::magic[8]

Must be "keystone".

◆ type [1/2]

SceUInt16 SceSblKeystone::type

Must be 2.

◆ version [1/3]

SceUInt16 SceSblKeystone::version

Supported values are 0 and 1.

◆ reserved [2/3]

SceUInt8 SceSblKeystone::reserved[0x14]

Included in the keystone HMAC.

◆ passcode_digest

SceUInt8 SceSblKeystone::passcode_digest[0x20]

◆ keystone_digest

SceUInt8 SceSblKeystone::keystone_digest[0x20]

◆ magic [3/4]

char SceSblDebugKeystone::magic[8]

Must be "keystone".

◆ type [2/2]

SceUInt16 SceSblDebugKeystone::type

Must be 1.

◆ version [2/3]

SceUInt16 SceSblDebugKeystone::version

Set to 0 when encrypted and ignored when decrypted.

◆ reserved [3/3]

SceUInt8 SceSblDebugKeystone::reserved[4]

Set to 0 when encrypted and ignored when decrypted.

◆ iv [2/2]

SceUInt8 SceSblDebugKeystone::iv[0x10]

◆ encrypted_secret

SceUInt8 SceSblDebugKeystone::encrypted_secret[0x20]

◆ magic [4/4]

char SceSblCloudDataKeyRing::magic[8]

Magic value "CloudBU" followed by a NUL byte.

◆ version [3/3]

SceUInt32 SceSblCloudDataKeyRing::version

Supported values are 0 and 1.

◆ opaque_header_data

SceUInt8 SceSblCloudDataKeyRing::opaque_header_data[4]

Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.

◆ p [1/2]

SceUInt8 SceSblCloudDataKeyRing::p[0x80]

RSA prime p.

◆ q [1/2]

SceUInt8 SceSblCloudDataKeyRing::q[0x80]

RSA prime q.

◆ dp [1/2]

SceUInt8 SceSblCloudDataKeyRing::dp[0x80]

d mod (p - 1).

◆ dq [1/2]

SceUInt8 SceSblCloudDataKeyRing::dq[0x80]

d mod (q - 1).

◆ qp [1/2]

SceUInt8 SceSblCloudDataKeyRing::qp[0x80]

q^-1 mod p.

◆ opaque_trailer_data

SceUInt8 SceSblCloudDataKeyRing::opaque_trailer_data[0x10]

Copied unchanged; not interpreted by the FW 3.60 implementation or known importer.

◆ words

SceUInt32 SceSblCloudDataRsaValue::words[0x40]

Zero-padded little-endian 32-bit words.

◆ size [2/3]

SceSize SceSblCloudDataRsaValue::size

Number of significant source bytes, up to 0x100.

◆ modulus

SceSblCloudDataRsaValue SceSblCloudDataSignCryptHandle::modulus

◆ exponent

SceSblCloudDataRsaValue SceSblCloudDataSignCryptHandle::exponent

◆ data

void* SceSblRsaDataParam::data

Data buffer.

◆ size [3/3]

unsigned int SceSblRsaDataParam::size

Data size in bytes.

◆ n

const void* SceSblRsaPublicKeyParam::n

Pointer to the RSA modulus.

◆ k

const void* SceSblRsaPublicKeyParam::k

Pointer to the RSA exponent.

◆ unk_0x00

int SceSblRsaPrivateKeyParam::unk_0x00

◆ unk_0x04

int SceSblRsaPrivateKeyParam::unk_0x04

◆ unk_0x08

int SceSblRsaPrivateKeyParam::unk_0x08

◆ unk_0x0C

int SceSblRsaPrivateKeyParam::unk_0x0C

◆ p [2/2]

void* SceSblRsaPrivateKeyParam::p

Pointer to the 0x80-byte RSA prime p.

◆ q [2/2]

void* SceSblRsaPrivateKeyParam::q

Pointer to the 0x80-byte RSA prime q.

◆ dp [2/2]

void* SceSblRsaPrivateKeyParam::dp

d mod (p - 1).

◆ dq [2/2]

void* SceSblRsaPrivateKeyParam::dq

d mod (q - 1).

◆ qp [2/2]

void* SceSblRsaPrivateKeyParam::qp

q^-1 mod p.