Update fuzz tests

Several updates to fuzz tests, including
http://go/wvgerrit/124043
Add documentation for partners to run fuzzing

http://go/wvgerrit/128224
Fix generic verify fuzz script

http://go/wvgerrit/120507
Fuzzing: Add fuzzer for reportusage API

http://go/wvgerrit/120503
Fuzzing: Add fuzzer for deactivate usageentry API

http://go/wvgerrit/120463
Fuzzing: Add logic to exit fuzzer script

http://go/wvgerrit/120444
Fuzzing: Add fuzzer for loadusageentry API

Bug: 183154879
Bug: 202994773
Bug: 186785830
Test: test only code
Change-Id: I877681461824c51bc82f0766a9973378aafadba7
This commit is contained in:
Fred Gylys-Colwell
2021-10-13 22:02:15 +00:00
parent 882d3ed075
commit c7e237eb00
90 changed files with 806 additions and 56 deletions

View File

@@ -4,6 +4,9 @@
#ifndef OEMCRYPTO_FUZZ_STRUCTS_H_
#define OEMCRYPTO_FUZZ_STRUCTS_H_
#include "core_message_types.h"
#include "odk.h"
namespace wvoec {
struct OEMCrypto_Renewal_Response_Fuzz {
// Timer limits in core license response needs to be fuzzed as load renewal
@@ -37,6 +40,34 @@ struct OEMCrypto_Decrypt_Cenc_Fuzz {
// Sample data and subsample data are of variable length and not included in
// this structure.
};
struct OEMCrypto_Generic_Api_Fuzz {
// Corpus format is as below, let | be separator.
// cipher_mode + algorithm + iv | buffer with actual data
OEMCryptoCipherMode cipher_mode;
OEMCrypto_Algorithm algorithm;
// iv and buffer data are of variable length and not included in
// this structure.
};
struct OEMCrypto_Generic_Verify_Fuzz {
// Corpus format is as belowr.
// cipher_mode + algorithm + signature_length + buffer with actual data
OEMCryptoCipherMode cipher_mode;
OEMCrypto_Algorithm algorithm;
size_t signature_length;
// Buffer data is of variable length and not included in
// this structure.
};
struct OEMCrypto_Generate_RSA_Signature_Fuzz {
// Corpus format is as below, let | be separator.
// padding_scheme + signature_length + input buffer
RSA_Padding_Scheme padding_scheme;
size_t signature_length;
// input buffer data is of variable length and not included in
// this structure.
};
} // namespace wvoec
#endif // OEMCRYPTO_FUZZ_STRUCTS_H_