Secure Monitor: Difference between revisions

I see.
better
Line 57: Line 57:
|-
|-
| [1.0.0-4.1.0] 0xC300100D || [[#DecryptRsaPrivateKey]] || ||
| [1.0.0-4.1.0] 0xC300100D || [[#DecryptRsaPrivateKey]] || ||
|-
| [5.0.0] 0xC300100D || [[#DecryptOrImportRsaKey]] || ||
|-
|-
| [1.0.0-4.1.0] 0xC300100E || [[#LoadSecureExpModKey]] || ||
| [1.0.0-4.1.0] 0xC300100E || [[#LoadSecureExpModKey]] || ||
Line 112: Line 114:
Decrypts and validates the wrapped RSA private key with the first kek/wrapped key, and re-encrypts it with the second if valid.
Decrypts and validates the wrapped RSA private key with the first kek/wrapped key, and re-encrypts it with the second if valid.


The re-encrypted key is then passed to the user, for use with [[#DecryptRsaPrivateKey]].
The re-encrypted key is then passed to the user, for use with [[#DecryptOrImportRsaKey]].


=== DecryptRsaPrivateKey ===
=== DecryptRsaPrivateKey ===
Line 121: Line 123:
[4.0.0+] The SMC handler when certain conditions pass and SMC_ID==0xC300100D now returns error 0x6 instead of calling the handler funcptr.
[4.0.0+] The SMC handler when certain conditions pass and SMC_ID==0xC300100D now returns error 0x6 instead of calling the handler funcptr.


[5.0.0+] This SMC was extended to import private keys into the security engine instead of decrypting them, when certain enum members are passed.
=== DecryptOrImportRsaKey ===
 
This function replaced [[#DecryptRsaPrivateKey]] in [[5.0.0]], adding an additional enum member argument.
 
This SMC extends DecryptRsaPrivateKey's original functionality to enable importing private keys into the security engine instead of decrypting them, when certain enum members are passed.


=== LoadSecureExpModKey ===
=== LoadSecureExpModKey ===