summaryrefslogtreecommitdiffstats
path: root/src/core/crypto/key_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [crypto] Use IsAllZeroArray helper functionvperus2019-10-021-1/+1
|
* key_manager: Convert Ticket union to std::variantZach Hilman2019-07-081-35/+56
|
* es: Populate/synthesize tickets on constructionZach Hilman2019-07-081-13/+13
|
* key_manager: Add structure for Ticket parsingZach Hilman2019-07-081-22/+102
|
* key_manager: Add accessors/helpers for ticket managementZach Hilman2019-07-081-14/+86
|
* common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash2019-06-121-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.
* core: Port current uses of RegisteredCache to ContentProviderZach Hilman2019-03-271-1/+2
|
* Fixes Unicode Key File Directories (#2120)Jungy2019-02-211-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>
* Merge pull request #1836 from lioncash/unusedbunnei2018-12-051-1/+0
|\ | | | | crypto/key_manager: Remove unused variable in GetTicketblob()
| * crypto/key_manager: Remove unused variable in GetTicketblob()Lioncash2018-12-021-1/+0
| |
* | filesystem: De-globalize registered_cache_unionLioncash2018-12-021-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.
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-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
* key_manager: Use isxdigit instead of isdigit when reading key fileZach Hilman2018-10-281-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.
* key_manager: Remove unused variable in DeriveBase()Lioncash2018-10-241-1/+0
|
* key_manager/partition_data_manager: Silence truncation compiler warningsLioncash2018-10-131-2/+5
|
* key_manager: Use std::vector's insert() instead of std::copy with a back_inserterLioncash2018-10-131-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.
* key_manager: Brace long conditional bodyLioncash2018-10-131-1/+2
| | | | | If a conditional (or it's body) travels more than one line, it should be braced.
* key_manager: Don't assume file seeks and reads will always succeedLioncash2018-10-131-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.
* key_manager: Remove unnecessary seek in DeriveSDSeed()Lioncash2018-10-131-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.
* partition_data_manager: Rename system files for hekateZach Hilman2018-10-071-132/+160
| | | | x
* key_manager: Add support for loading keys from partition dataZach Hilman2018-10-071-0/+86
|
* key_manager: Add ETicket key derivationZach Hilman2018-10-071-0/+249
| | | | Derives titlekeys
* key_manager: Add base key derivationZach Hilman2018-10-071-0/+209
| | | | Derives master keys, game encryption keys, and package1/2 keys
* key_manager: Add BIS key getterZach Hilman2018-10-071-2/+17
|
* key_manager: Add support for more keysZach Hilman2018-10-071-1/+67
| | | | TSEC, SBK, BIS, and other Sources for proper derivation
* key_manager: Add keyblob supportZach Hilman2018-10-071-0/+10
|
* key_manager: Add support for crypto revisions past 04Zach Hilman2018-10-071-43/+63
|
* key_manager: Add support for comments in keyfilesZach Hilman2018-10-071-0/+3
|
* key_manager: Add support for console-specific keyfileZach Hilman2018-10-071-3/+7
|
* key_manager: Rename KEK to KekZach Hilman2018-10-071-5/+6
|
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-3/+3
|
* nsp: Comply with style and performance guidelinesZach Hilman2018-09-041-1/+1
|
* key_manager: Avoid autogeneration if key existsZach Hilman2018-09-041-3/+13
|
* file_sys: Replace includes with forward declarations where applicableLioncash2018-09-041-0/+3
| | | | | Cuts down on include dependencies, resulting in less files that need to be rebuilt when certain things are changed.
* file_sys/crypto: Fix missing/unnecessary includesZach Hilman2018-08-251-3/+2
|
* key_manager: Eliminate indexed for loopZach Hilman2018-08-231-6/+13
|
* key_manager: Create keys dir if it dosen't existZach Hilman2018-08-231-0/+1
| | | | On call to WriteKeyToFile, so that the autogenerated file can be written.
* file_sys: Cut down on includes and copiesZach Hilman2018-08-231-11/+11
|
* crypto: Eliminate magic constantsZach Hilman2018-08-231-1/+1
|
* key_manager: Add support for autogenerated keysZach Hilman2018-08-231-3/+43
| | | | Stored in a separate file than manual keys.
* key_manager: Add support for KEK and SD seed derivationZach Hilman2018-08-231-2/+112
|
* key_manager: Switch to boost flat_map for keysZach Hilman2018-08-231-2/+3
| | | | Should make key gets marginally faster.
* common: Namespace hex_util.h/.cppLioncash2018-08-161-4/+4
| | | | | It's in the common code, so it should be under the Common namespace like everything else.
* crypto: Remove hex utilities from key_managerZach Hilman2018-08-121-33/+2
| | | | Move to hex_util.h in common
* core/crypto: Remove unnecessary includesLioncash2018-08-041-4/+1
|
* key_manager: Use regular std::string instead of std::string_viewLioncash2018-08-041-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.
* Use more descriptive error codes and messagesZach Hilman2018-08-011-5/+22
|
* Add missing includes and use const where applicableZach Hilman2018-08-011-5/+8
|
* Allow key loading from %YUZU_DIR%/keys in addition to ~/.switchZach Hilman2018-08-011-7/+18
|
* Make XCI comply to review and style guidelinesZach Hilman2018-08-011-301/+75
|
* Remove files that are not usedZach Hilman2018-08-011-0/+410