|
|
@ -308,10 +308,11 @@ boost::optional<std::pair<Key128, Key128>> ParseTicket(const TicketRaw& ticket, |
|
|
std::memcpy(&cert_authority, ticket.data() + 0x140, sizeof(cert_authority)); |
|
|
std::memcpy(&cert_authority, ticket.data() + 0x140, sizeof(cert_authority)); |
|
|
if (cert_authority == 0) |
|
|
if (cert_authority == 0) |
|
|
return boost::none; |
|
|
return boost::none; |
|
|
if (cert_authority != Common::MakeMagic('R', 'o', 'o', 't')) |
|
|
|
|
|
|
|
|
if (cert_authority != Common::MakeMagic('R', 'o', 'o', 't')) { |
|
|
LOG_INFO(Crypto, |
|
|
LOG_INFO(Crypto, |
|
|
"Attempting to parse ticket with non-standard certificate authority {:08X}.", |
|
|
"Attempting to parse ticket with non-standard certificate authority {:08X}.", |
|
|
cert_authority); |
|
|
cert_authority); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
Key128 rights_id; |
|
|
Key128 rights_id; |
|
|
std::memcpy(rights_id.data(), ticket.data() + 0x2A0, sizeof(Key128)); |
|
|
std::memcpy(rights_id.data(), ticket.data() + 0x2A0, sizeof(Key128)); |
|
|
|