Factory tool implements Widevine IRPC HAL v3

Implement IRPC HAL v3 interfaces for extracting device registration CSR.
The new interface calls OEMCrypto_GetDeviceInformation() and
OEMCrypto_GetSignedCsrPayload() and then constructs the CSR.

Also added all mandatory fields of device info in the request.

Test: Run extraction tool on Pixel 7 and upload CSR
Test: Verified Widevine remote provisioning
Bug: 268246995
Change-Id: I24097ba32c7a105266071c1341c938b5874b38d8
This commit is contained in:
Cong Lin
2023-02-19 17:38:25 -08:00
parent e8add8eed8
commit 8dc7cc0c74
6 changed files with 130 additions and 53 deletions

View File

@@ -49,11 +49,9 @@ class WidevineRemotelyProvisionedComponent
std::vector<uint8_t>* keysToSignMac) override;
ScopedAStatus generateCertificateRequestV2(
const std::vector<MacedPublicKey>& /* keysToSign */,
const std::vector<uint8_t>& /* challenge */,
std::vector<uint8_t>* /* csr */) override {
return ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}
const std::vector<MacedPublicKey>& keysToSign,
const std::vector<uint8_t>& challenge,
std::vector<uint8_t>* csr) override;
private:
std::unique_ptr<widevine::WidevineProvisioner> provisioner_;