Added certificate_provisioning_fuzzer

exec/s: 120
Test: ./certificate_provisioning_fuzzer
Bug: 265234582

Change-Id: I3dea4a6fb7b857f51cf782c42003e1f2c21dc75a
This commit is contained in:
Aashutosh Murthy
2023-03-23 13:55:26 +05:30
committed by Akshata Kadam
parent 52b50902c3
commit 72b8ca08bd
3 changed files with 228 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
+ [crypto_session_fuzzer](#CryptoSession)
+ [buffer_reader_fuzzer](#BufferReader)
+ [cdm_engine_fuzzer](#CdmEngine)
+ [certificate_provisioning_fuzzer](#CertificateProvisioning)
# <a name="PolicyEngine"></a> Fuzzer for PolicyEngine
@@ -259,3 +260,26 @@ CdmEngine supports the following parameters:
$ adb sync data
$ adb shell LD_LIBRARY_PATH=/vendor/lib64 /data/fuzz/arm64/cdm_engine_fuzzer/vendor/cdm_engine_fuzzer
```
# <a name="CertificateProvisioning"></a> Fuzzer for CertificateProvisioning
CertificateProvisioning supports the following parameters:
1. service_certificate (parameter name: "service_certificate")
2. responseMessage (parameter name: "response")
3. type (parameter name: "type")
| Parameter| Valid Values| Configured Value|
|------------- |-------------| ----- |
|`service_certificate`| `String` |Value obtained from FuzzedDataProvider|
|`responseMessage`| `String` |Value obtained from FuzzedDataProvider|
|`type`| 1. `ResponseType::kNoError` <br> 2. `ResponseType::kResponseTypeBase` <br> 3. `ResponseType::kObjectNotInitialized` <br> 4. `ResponseType::kParameterNull` <br> 5. `ResponseType::kBasePathUnavailable` <br> 6. `ResponseType::kFileOpenFailed` <br> 7. `ResponseType::kFileWriteError` <br> 8. `ResponseType::kFileReadError` <br> 9. `ResponseType::kInvalidFileSize` <br> 10. `ResponseType::kHashComputationFailed` <br> 11. `ResponseType::kFileHashMismatch` <br> 12. `ResponseType::kFileParseError1` <br> 13. `ResponseType::kFileParseError2` <br> 14. `ResponseType::kUnknownLicenseState` <br> 15. `ResponseType::kIncorrectFileType` <br> 16. `ResponseType::kIncorrectFileVersion` <br> 17. `ResponseType::kLicenseNotPresent` |Value obtained from FuzzedDataProvider|
#### Steps to run
1. Build the fuzzer
```
$ mm -j$(nproc) certificate_provisioning_fuzzer
```
2. Run on device
```
$ adb sync data
$ adb shell /data/fuzz/arm64/certificate_provisioning_fuzzer/vendor/certificate_provisioning_fuzzer
```