Léo Lam
964d00447d
IOSC: Reuse CertReader for cert imports
2018-05-18 23:12:07 +02:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Lioncash
50a476c371
Assert: Uppercase assertion macros
...
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
2018-03-14 22:03:12 -04:00
Léo Lam
f9445bb119
IOS: Remove ec_wii functions
2018-02-19 20:34:06 +01:00
Léo Lam
5e5c9e1772
IOSC: Add Sign
...
Equivalent of IOSC_GenerateCertificate + IOSC_GeneratePublicKeySign.
This is copied from ec_wii/MakeAPSigAndCert.
2018-02-19 20:34:06 +01:00
Léo Lam
b3c7874a3a
IOSC: Add GetDeviceId and GetDeviceCertificate
2018-02-19 20:34:06 +01:00
Léo Lam
f3c63b3108
IOSC: Load built-in key entries directly from keys.bin
...
Preliminary commit for merging ec_wii into IOSC.
2018-02-19 20:34:06 +01:00
Léo Lam
1f4ddea5f7
IOSC: Change misc_data to a u32
...
It's always 4 bytes long, so let's just make it a u32.
2018-02-19 20:34:05 +01:00
Léo Lam
e608d79f42
IOSC: Load the backup/PRNG key
2017-07-21 17:42:59 +08:00
Léo Lam
5cbbe2dda2
IOSC: Add support for importing decrypted keys directly
2017-07-21 17:42:59 +08:00
Lioncash
dd4203bec8
Core: Remove unnecessary includes
...
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
Léo Lam
4a3537285b
IOSC: Implement ImportCertificate
...
Same as VerifyPublicKeySign, we currently only support RSA keys
(which is all we need right now).
2017-06-12 20:33:54 +02:00
Léo Lam
1a8144c702
IOSC: Fix ImportPublicKey to work with other public key types
2017-06-12 20:33:54 +02:00
Léo Lam
2eccd45f01
IOSC: Implement GetSizeForType
...
Avoids duplicating sizes everywhere.
2017-06-12 20:33:53 +02:00
Léo Lam
965773bf67
IOSC: Implement VerifyPublicKeySign
...
Partial implementation which doesn't support ECC stuff, but good enough
for our purposes.
2017-06-12 18:24:02 +02:00
Léo Lam
a0392db833
IOSC: Add entry for the root key handle
...
It contains a RSA4096 public key used to validate all other
Nintendo certificates.
2017-06-12 18:24:01 +02:00
Léo Lam
8859bc91e2
IOSC: Add storage for key misc data
...
Will be used to store the exponent for RSA keys.
2017-06-12 18:24:01 +02:00
Léo Lam
d4f501bca6
IOSC: Replace direct access to entries with getter
...
Makes it slightly less likely to forget a check and end up doing an
out-of-bounds access. Also makes it obvious that we *are* indeed
checking whether the handle is valid, instead of hiding it in
HasOwnership (which won't handle the root key handle case properly).
2017-06-12 18:24:01 +02:00
Léo Lam
e240e260d9
IOSC: Fix the SetOwnership implementation
2017-06-08 18:15:03 +02:00
Lioncash
b676edd80c
Core: include what you use
...
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
JosJuice
1575020c3a
VolumeWiiCrypted: Get title keys from TicketReader
2017-05-20 20:44:12 +02:00
Léo Lam
f8fb9e2d03
IOS: Implement IOSC-like API
...
This prevents the IOS crypto code and keys from being spread over
the codebase. Things only have to be implemented once, and can be
used everywhere from the IOS code.
Additionally, since ES exposes some IOSC calls directly (DeleteObject
and Encrypt/Decrypt), we need this for proper emulation.
Currently, this only supports AES key objects.
2017-05-02 23:49:22 +02:00