summaryrefslogtreecommitdiffstats
path: root/src/core/crypto/key_manager.h
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-09-24 02:56:02 +0200
committerZach Hilman <zachhilman@gmail.com>2018-10-07 19:15:11 +0200
commitd6a0d5d43263be84959ab74e8e6570c1b9a28693 (patch)
tree0a34564611279f9a55f91d6ee8a3d7a8a0d8a0e9 /src/core/crypto/key_manager.h
parentkey_manager: Add keyblob support (diff)
downloadyuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar.gz
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar.bz2
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar.lz
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar.xz
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.tar.zst
yuzu-d6a0d5d43263be84959ab74e8e6570c1b9a28693.zip
Diffstat (limited to 'src/core/crypto/key_manager.h')
-rw-r--r--src/core/crypto/key_manager.h34
1 files changed, 32 insertions, 2 deletions
diff --git a/src/core/crypto/key_manager.h b/src/core/crypto/key_manager.h
index b2c386bfb..1cb62c2dc 100644
--- a/src/core/crypto/key_manager.h
+++ b/src/core/crypto/key_manager.h
@@ -33,8 +33,10 @@ enum class KeyCategory : u8 {
};
enum class S256KeyType : u64 {
- Header, //
- SDKeySource, // f1=SDKeyType
+ SDKey, // f1=SDKeyType
+ Header, //
+ SDKeySource, // f1=SDKeyType
+ HeaderSource, //
};
enum class S128KeyType : u64 {
@@ -47,6 +49,14 @@ enum class S128KeyType : u64 {
SDSeed, //
Titlekey, // f1=rights id LSB f2=rights id MSB
Source, // f1=source type, f2= sub id
+ Keyblob, // f1=crypto revision
+ KeyblobMAC, // f1=crypto revision
+ TSEC, //
+ SecureBoot, //
+ BIS, // f1=partition (0-3), f2=type {crypt, tweak}
+ HeaderKek, //
+ SDKek, //
+ RSAKek, //
};
enum class KeyAreaKeyType : u8 {
@@ -59,6 +69,16 @@ enum class SourceKeyType : u8 {
SDKek, //
AESKekGeneration, //
AESKeyGeneration, //
+ RSAOaepKekGeneration, //
+ Master, //
+ Keyblob, // f2=crypto revision
+ KeyAreaKey, // f2=KeyAreaKeyType
+ Titlekek, //
+ Package2, //
+ HeaderKek, //
+ KeyblobMAC, //
+ ETicketKek, //
+ ETicketKekek, //
};
enum class SDKeyType : u8 {
@@ -66,6 +86,16 @@ enum class SDKeyType : u8 {
NCA,
};
+enum class BISKeyType : u8 {
+ Crypto,
+ Tweak,
+};
+
+enum class RSAKekType : u8 {
+ Mask0,
+ Seed3,
+};
+
template <typename KeyType>
struct KeyIndex {
KeyType type;