summaryrefslogtreecommitdiffstats
path: root/src/core/crypto/key_manager.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-12common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash1-2/+2
These can be generified together by using a concept type to designate them. This also has the benefit of not making copies of potentially very large arrays.
2019-03-27core: Port current uses of RegisteredCache to ContentProviderZach Hilman1-1/+2
2019-02-21Fixes Unicode Key File Directories (#2120)Jungy1-1/+2
* Fixes Unicode Key File Directories Adds code so that when loading a file it converts to UTF16 first, to ensure the files can be opened. Code borrowed from FileUtil::Exists. * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com> * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com> * Using FileUtil instead to be cleaner. * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com>
2018-12-02filesystem: De-globalize registered_cache_unionLioncash1-1/+1
We can just return a new instance of this when it's requested. This only ever holds pointers to the existing registed caches, so it's not a large object. Plus, this also gets rid of the need to keep around a separate member function just to properly clear out the union. Gets rid of one of five globals in the filesystem code.
2018-12-02crypto/key_manager: Remove unused variable in GetTicketblob()Lioncash1-1/+0
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-22/+22
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-10-28key_manager: Use isxdigit instead of isdigit when reading key fileZach Hilman1-1/+1
Crypto revisions are hex numbers and this function only checks if the string is valid for stoul in base 16, so it should be isxdigit.
2018-10-24key_manager: Remove unused variable in DeriveBase()Lioncash1-1/+0
2018-10-13key_manager/partition_data_manager: Silence truncation compiler warningsLioncash1-2/+5
2018-10-13key_manager: Use std::vector's insert() instead of std::copy with a back_inserterLioncash1-2/+2
If the data is unconditionally being appended to the back of a std::vector, we can just directly insert it there without the need to insert all of the elements one-by-one with a std::back_inserter.
2018-10-13key_manager: Brace long conditional bodyLioncash1-1/+2
If a conditional (or it's body) travels more than one line, it should be braced.
2018-10-13key_manager: Don't assume file seeks and reads will always succeedLioncash1-7/+17
Given the filesystem should always be assumed to be volatile, we should check and bail out if a seek operation isn't successful. This'll prevent potentially writing/returning garbage data from the function in rare cases. This also allows removing a check to see if an offset is within the bounds of a file before perfoming a seek operation. If a seek is attempted beyond the end of a file, it will fail, so this essentially combines two checks into one in one place.
2018-10-13key_manager: Remove unnecessary seek in DeriveSDSeed()Lioncash1-1/+0
Given the file is opened a few lines above and no operations are done, other than check if the file is in a valid state, the read/write pointer will always be at the beginning of the file.
2018-10-07partition_data_manager: Rename system files for hekateZach Hilman1-132/+160
x
2018-10-07key_manager: Add support for loading keys from partition dataZach Hilman1-0/+86
2018-10-07key_manager: Add ETicket key derivationZach Hilman1-0/+249
Derives titlekeys
2018-10-07key_manager: Add base key derivationZach Hilman1-0/+209
Derives master keys, game encryption keys, and package1/2 keys
2018-10-07key_manager: Add BIS key getterZach Hilman1-2/+17
2018-10-07key_manager: Add support for more keysZach Hilman1-1/+67
TSEC, SBK, BIS, and other Sources for proper derivation
2018-10-07key_manager: Add keyblob supportZach Hilman1-0/+10
2018-10-07key_manager: Add support for crypto revisions past 04Zach Hilman1-43/+63
2018-10-07key_manager: Add support for comments in keyfilesZach Hilman1-0/+3
2018-10-07key_manager: Add support for console-specific keyfileZach Hilman1-3/+7
2018-10-07key_manager: Rename KEK to KekZach Hilman1-5/+6
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-3/+3
2018-09-04nsp: Comply with style and performance guidelinesZach Hilman1-1/+1
2018-09-04key_manager: Avoid autogeneration if key existsZach Hilman1-3/+13
2018-09-04file_sys: Replace includes with forward declarations where applicableLioncash1-0/+3
Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
2018-08-25file_sys/crypto: Fix missing/unnecessary includesZach Hilman1-3/+2
2018-08-23key_manager: Eliminate indexed for loopZach Hilman1-6/+13
2018-08-23key_manager: Create keys dir if it dosen't existZach Hilman1-0/+1
On call to WriteKeyToFile, so that the autogenerated file can be written.
2018-08-23file_sys: Cut down on includes and copiesZach Hilman1-11/+11
2018-08-23crypto: Eliminate magic constantsZach Hilman1-1/+1
2018-08-23key_manager: Add support for autogenerated keysZach Hilman1-3/+43
Stored in a separate file than manual keys.
2018-08-23key_manager: Add support for KEK and SD seed derivationZach Hilman1-2/+112
2018-08-23key_manager: Switch to boost flat_map for keysZach Hilman1-2/+3
Should make key gets marginally faster.
2018-08-16common: Namespace hex_util.h/.cppLioncash1-4/+4
It's in the common code, so it should be under the Common namespace like everything else.
2018-08-12crypto: Remove hex utilities from key_managerZach Hilman1-33/+2
Move to hex_util.h in common
2018-08-04core/crypto: Remove unnecessary includesLioncash1-4/+1
2018-08-04key_manager: Use regular std::string instead of std::string_viewLioncash1-7/+3
The benefit of std::string_view comes from the idea of avoiding copies (essentially acting as a non-owning view), however if we're just going to copy into a local variable immediately, there's not much benefit gained here.
2018-08-01Use more descriptive error codes and messagesZach Hilman1-5/+22
2018-08-01Add missing includes and use const where applicableZach Hilman1-5/+8
2018-08-01Allow key loading from %YUZU_DIR%/keys in addition to ~/.switchZach Hilman1-7/+18
2018-08-01Make XCI comply to review and style guidelinesZach Hilman1-301/+75
2018-08-01Remove files that are not usedZach Hilman1-0/+410