Secure Monitor: Difference between revisions

fix
Selver (talk | contribs)
m Fix links to CryptoUseCase (#CryptoUsecase to #enum_CryptoUsecase)
Line 82: Line 82:


Note:
Note:
The [[#CryptoUsecase|CryptoUsecase_TitleKey]] represents a RSA wrapped AES key.
The [[#enum_CryptoUsecase|CryptoUsecase_TitleKey]] represents a RSA wrapped AES key.


=== GenerateAesKek ===
=== GenerateAesKek ===
Takes an "access key" as input, an [[#CryptoUsecase]].
Takes an "access key" as input, an [[#enum_CryptoUsecase]].


Returns a session-unique kek for said usecase.
Returns a session-unique kek for said usecase.
Line 92: Line 92:
Takes a session kek created with [[#GenerateAesKek]], and a wrapped AES key.
Takes a session kek created with [[#GenerateAesKek]], and a wrapped AES key.


The session kek must have been created with CryptoUsecase_Aes.
The session kek must have been created with [[#enum_CryptoUsecase|CryptoUsecase_Aes]].


=== CryptAes ===
=== CryptAes ===
Line 100: Line 100:


=== GenerateSpecificAesKey ===
=== GenerateSpecificAesKey ===
Todo: This one seems unrelated to [[#CryptoUsecase]].
Todo: This one seems unrelated to [[#enum_CryptoUsecase]].


=== LoadRsaOaepKey ===
=== LoadRsaOaepKey ===
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, and a wrapped RSA private key.
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, and a wrapped RSA private key.


The session kek must have been created with CryptoUsecase_RsaOaep.
The session kek must have been created with [[#enum_CryptoUsecase|CryptoUsecase_RsaOaep]].


This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].
This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].
Line 119: Line 119:
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, an enum member, and a wrapped RSA private key.
Takes a session kek created with [[#GenerateAesKek]], a wrapped AES key, an enum member, and a wrapped RSA private key.


The session kek must have been created with CryptoUsecase_RsaPrivate.
The session kek must have been created with [[#enum_CryptoUsecase|CryptoUsecase_RsaPrivate]].


[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.
Line 132: Line 132:
Takes a session kek created with [[#GenerateAesKek]], and a wrapped RSA key.
Takes a session kek created with [[#GenerateAesKek]], and a wrapped RSA key.


The session kek must have been created with CryptoUsecase_RsaSecureExpMod.
The session kek must have been created with [[#enum_CryptoUsecase|CryptoUsecase_RsaSecureExpMod]].


This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].
This function was removed in [[5.0.0]], and replaced with [[#EncryptRsaKeyForImport]].