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 === |