Commit Graph

2 Commits

Author SHA1 Message Date
David Korth
ef4532d1b6 [googletest] Update from 1.8.0 to 1.12.1.
Using changes from rom-properties, which includes building gtest as a
DLL on Windows.

This update fixes a bunch of -Wsuggest-override warnings, e.g.:

In file included from extlib/googletest/googletest/include/gtest/gtest-death-test.h:41,
                 from extlib/googletest/googletest/include/gtest/gtest.h:60,
                 from src/libwiicrypto/tests/CertVerifyTest.cpp:10:
extlib/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h:150:16: warning: ‘virtual bool testing::internal::DefaultDeathTestFactory::Create(const char*, const testing::internal::RE*, const char*, int, testing::internal::DeathTest**)’ can be marked override [-Wsuggest-override]
  150 |   virtual bool Create(const char* statement, const RE* regex,
      |                ^~~~~~
2025-05-30 20:19:21 -04:00
David Korth
389e26b13b [librvth/tests] CertVerifyTest: Certificate verification tests.
Added Google Test v1.8.0 from rom-properties.

Reworked cert_verify() to support both RSA-4096 and RSA-2048 signatures
and public keys. The function now requires all certificates to use
big-endian, so cert_store.c now uses BE32_CONST() to store the values
as big-endian.

BE32_CONST() is a macro that uses shifting for MSVC and intrinsics for
gcc. This is needed because MSVC 2010 doesn't realize that its byteswap
intrinsics result in constant values. (Later versions might...)

cert.c: New function cert_get_size() that returns the full size of a
built-in certificate.

CertVerifyTest currently tests the retail ticket and TMD certificates.
Both tests pass with all of these changes.
2018-01-20 03:02:32 -05:00